<?xml version="1.0" encoding="UTF-8"?>        <rss version="2.0"
             xmlns:atom="http://www.w3.org/2005/Atom"
             xmlns:dc="http://purl.org/dc/elements/1.1/"
             xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
             xmlns:admin="http://webns.net/mvcb/"
             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:content="http://purl.org/rss/1.0/modules/content/">
        <channel>
            <title>
									Step-by-Step Guide: Checking Ceph OSD Disk Health - Proxmox help				            </title>
            <link>https://www.virtualizationhowto.com/community/proxmox-help/step-by-step-guide-checking-ceph-osd-disk-health/</link>
            <description>Virtualization Howto Discussion Board</description>
            <language>en-US</language>
            <lastBuildDate>Wed, 12 Aug 2026 03:08:16 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>Step-by-Step Guide: Checking Ceph OSD Disk Health</title>
                        <link>https://www.virtualizationhowto.com/community/proxmox-help/step-by-step-guide-checking-ceph-osd-disk-health/#post-1534</link>
                        <pubDate>Wed, 11 Feb 2026 16:09:38 +0000</pubDate>
                        <description><![CDATA[I have been working a ton with Ceph lately in the home lab. Just some notes on how to check if you have a Ceph disk that is showing to have slow disk. You can see your Ceph health with the c...]]></description>
                        <content:encoded><![CDATA[<p>I have been working a ton with Ceph lately in the home lab. Just some notes on how to check if you have a Ceph disk that is showing to have slow disk. You can see your Ceph health with the command:</p>
<pre contenteditable="false">ceph status

or 

ceph -s</pre>
928
<h2 data-pm-slice="1 1 []" data-en-clipboard="true">Step 1: Identify the Problem OSD</h2>
<div>
<pre contenteditable="false"># Check overall cluster health
ceph status
# Get detailed health information (shows which OSD has issues)
ceph health detail
```
**Example output:**
```
 BLUESTORE_SLOW_OP_ALERT: 1 OSD(s) experiencing slow operations in BlueStore
osd.6 observed slow operation indications in BlueStore
Note the OSD number (in this case: osd.6)</pre>
</div>
<hr />
<h2>Step 2: Locate the OSD's Host</h2>
<div>
<pre contenteditable="false"># Find which physical host contains the OSD
ceph osd find &lt;osd-number&gt;
# Example:
ceph osd find 6
Example output:
json
{
"osd": 6,
"addrs": {
"addrvec": 
},
"osd_fsid": "900daf28-d681-4637-90db-9764bcfd2f11",
"host": "pvehost04",
"crush_location": {
"host": "pvehost04",
"root": "default"
}
}
Note the hostname (in this case: pvehost04)</pre>
</div>
<hr />
<h2>Step 3: Connect to the Host</h2>
<div>
<pre contenteditable="false"># SSH to the host containing the problematic OSD
ssh root@pvehost04</pre>
</div>
<div> </div>
<hr />
<h2>Step 4: Identify the Physical Disk</h2>
<div>
<pre contenteditable="false"># Find the OSD's logical volume
ceph-volume lvm list | grep -A 10 "osd.&lt;number&gt;"
# Example:
ceph-volume lvm list | grep -A 10 "osd.6"
```
**Example output:**
```
====== osd.6 =======
 /dev/ceph-46ed1f42-7685-4bfd-b64f-ad525bddc935/osd-block-900daf28...
block device /dev/ceph-46ed1f42-7685-4bfd-b64f-ad525bddc935/osd-block-900daf28...
block uuid f94nrL-KRDg-D648-Ia7B-F3Yx-hjwQ-HppqAT
Note the VG name (in this case: ceph-46ed1f42-7685-4bfd-b64f-ad525bddc935)</pre>
</div>
<h3>Find the underlying physical disk:</h3>
<div>
<pre contenteditable="false"># Show the complete disk hierarchy
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,FSTYPE
# Or find the physical volume for the VG
pvs | grep &lt;vg-name&gt;
# Example:
pvs | grep ceph-46ed1f42-7685-4bfd-b64f-ad525bddc935
```
**Example output:**
```
/dev/nvme1n1 ceph-46ed1f42-7685-4bfd-b64f-ad525bddc935 lvm2 a-- &lt;953.87g
Note the physical device (in this case: /dev/nvme1n1)</pre>
</div>
<hr />
<h2>Step 5: Check Disk Health</h2>
<h3>For NVMe Drives:</h3>
<div>
<pre contenteditable="false"># Install nvme-cli if not present
apt install nvme-cli -y
# Check SMART health summary
nvme smart-log /dev/nvme1n1
# Or using smartctl
smartctl -a /dev/nvme1n1
# Check for errors
nvme error-log /dev/nvme1n1</pre>
</div>
<h3>For SATA/SAS Drives:</h3>
<div>
<pre contenteditable="false"># Install smartmontools if not present
apt install smartmontools -y
# Quick health check
smartctl -H /dev/sdX
# Full SMART information
smartctl -a /dev/sdX
# Check for specific error indicators
smartctl -a /dev/sdX | grep -E "Reallocated|Pending|Current_Pending|Offline_Uncorrectable|UDMA_CRC_Error"</pre>
</div>
<div> </div>
<h2>Step 6: Interpret Health Results</h2>
<h3>Critical Values to Check:</h3>
<h4>For NVMe:</h4>
<ul>
<li>
<div><b>critical_warning</b>: Should be 0 (anything else is bad)</div>
</li>
<li>
<div><b>temperature</b>: Should be &lt; 70°C (&lt; 158°F)</div>
</li>
<li>
<div><b>available_spare</b>: Should be &gt; 10%</div>
</li>
<li>
<div><b>percentage_used</b>: Wear indicator (100% = end of life)</div>
</li>
<li>
<div><b>media_errors</b>: Should be 0</div>
</li>
<li>
<div><b>error log entries</b>: Review for I/O errors</div>
</li>
</ul>
<h4>For SATA/SAS:</h4>
<ul>
<li>
<div><b>SMART overall-health</b>: Should be PASSED</div>
</li>
<li>
<div><b>Reallocated_Sector_Ct</b>: Should be 0 (or very low)</div>
</li>
<li>
<div><b>Current_Pending_Sector</b>: Should be 0</div>
</li>
<li>
<div><b>Offline_Uncorrectable</b>: Should be 0</div>
</li>
<li>
<div><b>UDMA_CRC_Error_Count</b>: High values indicate cable/connection issues</div>
</li>
<li>
<div><b>Temperature</b>: Should be &lt; 55°C</div>
</li>
</ul>
<h2>Step 7: Check OSD Performance Metrics</h2>
<div>
<pre contenteditable="false"># From any Ceph node, check OSD performance
ceph osd perf
# Check OSD utilization
ceph osd df
# Check for current slow operations (run on the OSD's host)
ceph daemon osd.&lt;number&gt; dump_ops_in_flight
# Check historic slow operations (run on the OSD's host)
ceph daemon osd.&lt;number&gt; dump_historic_slow_ops</pre>
</div>
<h2>Step 8: Monitor I/O Performance (Optional)</h2>
<div>
<pre contenteditable="false"># Install sysstat if not present
apt install sysstat -y
# Monitor real-time I/O stats (watch for high await times or %util)
iostat -x &lt;device&gt; 2 5
# Example for NVMe:
iostat -x nvme1n1 2 5
# Example for SATA:
iostat -x sda 2 5
Key metrics to watch:
%util: &gt; 90% consistently = saturated disk
await: &gt; 10ms = slow responses
r_await / w_await: Read/write latency separately</pre>
</div>
<h2>Step 9: Check System Logs</h2>
<div>
<pre contenteditable="false"># Check for disk-related errors in dmesg
dmesg -T | grep -i "&lt;device&gt;" | tail -50
# Example:
dmesg -T | grep -i nvme1n1 | tail -50
# Check systemd journal for Ceph or disk issues
journalctl -u ceph-osd@&lt;number&gt; --since "1 hour ago"
# Example:
journalctl -u ceph-osd@6 --since "1 hour ago"</pre>
</div>
<h2 data-pm-slice="1 2 []" data-en-clipboard="true">Step 10: Common Issues and Resolutions</h2>
<h3>Issue: Slow Operations During Rebalancing</h3>
<div><b>Cause</b>: Normal during data migration</div>
<div><b>Solution</b>: Wait for rebalancing to complete or mute the warning:</div>
<div> </div>
<div data-codeblock="true" data-line-wrapping="false">
<div data-plaintext="true">
<pre contenteditable="false">ceph health mute BLUESTORE_SLOW_OP_ALERT --sticky</pre>
</div>
</div>
<h3>Issue: High Media Errors or Reallocated Sectors</h3>
<div><b>Cause</b>: Failing disk</div>
<div><b>Solution</b>: Replace the disk:</div>
<div> </div>
<div data-codeblock="true" data-line-wrapping="false">
<div data-plaintext="true">
<pre contenteditable="false"># Mark OSD out (triggers data migration)
ceph osd out &lt;osd-number&gt;
# Monitor rebalancing
watch ceph -s
# Once complete, remove OSD
ceph osd down &lt;osd-number&gt;
ceph osd rm &lt;osd-number&gt;
ceph auth del osd.&lt;osd-number&gt;
ceph osd crush rm osd.&lt;osd-number&gt;</pre>
</div>
</div>
<h3>Issue: High Temperature</h3>
<div><b>Cause</b>: Poor cooling or failing fan</div>
<div><b>Solution</b>: Improve airflow, check datacenter HVAC</div>
<h3>Issue: Disk Full</h3>
<div><b>Cause</b>: Imbalanced data distribution</div>
<div><b>Solution</b>: Check weight and rebalance:</div>
<div data-codeblock="true" data-line-wrapping="false">
<div data-plaintext="true">
<pre contenteditable="false">ceph osd df tree
ceph osd reweight &lt;osd-number&gt; &lt;weight&gt;</pre>
</div>
</div>
<div> </div>
<hr />
<h2>Quick Reference Checklist</h2>
<div>
<pre contenteditable="false"># 1. Identify problem OSD
ceph health detail
# 2. Find host
ceph osd find &lt;osd-number&gt;
# 3. SSH to host
ssh &lt;hostname&gt;
# 4. Find physical disk
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,FSTYPE
# 5. Check health (NVMe)
nvme smart-log /dev/&lt;device&gt;
# 5. Check health (SATA)
smartctl -a /dev/&lt;device&gt;
# 6. Check OSD performance
ceph osd perf
ceph daemon osd.&lt;number&gt; dump_historic_slow_ops
# 7. Monitor I/O
iostat -x &lt;device&gt; 2 5
# 8. Check logs
journalctl -u ceph-osd@&lt;number&gt; --since "1 hour ago"</pre>
</div>]]></content:encoded>
						                            <category domain="https://www.virtualizationhowto.com/community/proxmox-help/">Proxmox help</category>                        <dc:creator>Brandon Lee</dc:creator>
                        <guid isPermaLink="true">https://www.virtualizationhowto.com/community/proxmox-help/step-by-step-guide-checking-ceph-osd-disk-health/#post-1534</guid>
                    </item>
							        </channel>
        </rss>
		