<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>S.M.A.R.T. Disk Health Operations Guides on Netdata</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/</link><description>Recent content in S.M.A.R.T. Disk Health Operations Guides on Netdata</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://www.netdata.cloud/guides/smartctl-disk-monitoring/index.xml" rel="self" type="application/rss+xml"/><item><title>Command_Timeout climbing: the drive is taking too long to respond</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-command-timeout/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-command-timeout/</guid><description>&lt;p>SMART attribute ID 188 (Command_Timeout) is climbing. Two interpretation traps cause false alarms here, and the symptom overlaps with at least four distinct failure modes ranging from benign background maintenance to imminent controller death.&lt;/p>
&lt;p>The first trap is vendor-specific raw value encoding. On Seagate drives, the raw value packs three 16-bit counters into a single 48-bit field, producing numbers in the billions that decode to single-event counts. Monitoring tools that read the raw value as one integer will page you for a single timeout during power-on sequencing.&lt;/p></description></item><item><title>Current_Pending_Sector non-zero: unreadable sectors and I/O latency spikes</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-current-pending-sector/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-current-pending-sector/</guid><description>&lt;p>A non-zero &lt;code>Current_Pending_Sector&lt;/code> (SMART attribute ID 197) means the drive has sectors it cannot reliably read. These sectors failed a read and are waiting for either a write to trigger reallocation or an offline scan to confirm the defect. The drive has not yet remapped them to its spare pool.&lt;/p>
&lt;p>The operational impact is often misdiagnosed. Every time the filesystem touches one of these sectors, the drive firmware enters a multi-second retry loop. This shows up in &lt;code>iostat&lt;/code> as extremely high &lt;code>await&lt;/code> with low throughput and idle CPU. Teams chase this as a software freeze, a kernel bug, or a filesystem problem for hours before checking SMART data.&lt;/p></description></item><item><title>Data Units Written vs rated TBW: computing SSD endurance runway</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-data-units-written-tbw/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-data-units-written-tbw/</guid><description>&lt;p>SSD endurance is finite and specified in the datasheet as a TBW (Total Bytes Written) rating. The odometer is a SMART counter, but it uses non-obvious units and counts host writes, not NAND writes. This guide covers how to read the write-volume counter from smartctl, convert it to bytes correctly, compare it against rated TBW, and project when the drive reaches its endurance limit.&lt;/p>
&lt;p>The counter has two names depending on the bus. NVMe drives report &amp;ldquo;Data Units Written&amp;rdquo; in units of 1000 x 512 bytes. ATA/SATA SSDs report attribute ID 241 (Total_LBAs_Written), typically in 512-byte sectors. Both measure host writes only. The drive&amp;rsquo;s NAND sees more writes due to write amplification, so this calculation produces an upper bound on remaining life, not a precise prediction.&lt;/p></description></item><item><title>Drive disappeared from the bus: sudden controller or electronics death</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-drive-disappeared-from-bus/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-drive-disappeared-from-bus/</guid><description>&lt;p>A device node that was present minutes or hours ago is now gone. &lt;code>lsblk&lt;/code> no longer shows it. &lt;code>smartctl&lt;/code> returns &amp;ldquo;No such device.&amp;rdquo; The drive did not warn you through SMART because the component that failed is the one that would have reported the problem. This is one of the few storage failure modes that produces zero SMART telemetry before it happens.&lt;/p>
&lt;p>This is a PAGE-level signal with no false positive scenario for a device that was present and is now absent. The question is not whether something is wrong, but what failed: the drive&amp;rsquo;s controller, the cable, the backplane, the HBA, or a power management transition that made a healthy device disappear temporarily.&lt;/p></description></item><item><title>Drive temperature too high: HDD, SATA SSD, and NVMe thresholds</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-drive-overheating/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-drive-overheating/</guid><description>&lt;p>A temperature reading of 68C means very different things depending on what is in the slot. For an enterprise HDD, it is past the danger threshold and the drive is likely sustaining damage. For an NVMe SSD, it may be within normal operating range and the drive is not even throttling yet. Alerting on a single global threshold across mixed drive types produces two failure modes simultaneously: false pages on normal NVMe temperatures and missed alerts on dangerously hot HDDs.&lt;/p></description></item><item><title>First-observation baselining: don't page on lifetime counters at rollout</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-first-observation-baseline/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-first-observation-baseline/</guid><description>&lt;p>When you deploy SMART monitoring on an existing fleet for the first time, every in-service drive carries accumulated history in its lifetime counters. Offline Uncorrectable sectors, NVMe Media and Data Integrity Errors, Power-On Hours, Unsafe Shutdowns, Reallocated Sector Count, UDMA CRC Error Count. These counters started incrementing the moment the drive left the factory and never reset.&lt;/p>
&lt;p>If your alerting fires on any non-zero absolute value, every drive with any history pages within minutes of enabling monitoring. A drive with 3 reallocated sectors from factory QA, a drive with 200 uncorrectable errors from a past thermal event three years ago, a drive with 5 unsafe shutdowns from a UPS failure. All produce identical alerts to a naive greater-than-zero rule.&lt;/p></description></item><item><title>G-Sense_Error_Rate rising: shock and vibration reaching the drive</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-g-sense-error-rate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-g-sense-error-rate/</guid><description>&lt;p>G-Sense_Error_Rate (SMART attribute ID 221 on most drives, ID 191 on some) is a cumulative counter of shock and vibration events that exceeded the drive&amp;rsquo;s internal threshold, as detected by its built-in accelerometer. The attribute is HDD-only. SSDs and NVMe drives do not report it. Some enterprise HDD models do not expose the attribute at all, which does not mean vibration is absent, only that the drive does not instrument it.&lt;/p></description></item><item><title>How S.M.A.R.T. actually works: a mental model for operators</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-how-smart-works/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-how-smart-works/</guid><description>&lt;p>S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) is not a tool, an agent, or a daemon. It is firmware-level self-instrumentation embedded in every modern HDD, SSD, and NVMe drive. The drive itself continuously monitors its internal health and reports what it finds. The &lt;code>smartctl&lt;/code> utility from &lt;code>smartmontools&lt;/code> is simply a reader: it queries the drive and prints what the firmware already knows. It has no independent intelligence about drive health.&lt;/p>
&lt;p>Every SMART-based monitoring decision, every threshold, and every false alarm traces back to a single question: what does the drive firmware actually track, and how does it choose to expose it? The firmware tracks error correction outcomes, sector integrity, NAND wear, mechanical behavior, temperature, and power events. But the way it surfaces that data depends entirely on the drive interface, and the three interfaces in production today (ATA/SATA, SAS/SCSI, and NVMe) use three fundamentally different data models that are not interchangeable.&lt;/p></description></item><item><title>I/O errors in dmesg with clean SMART: the failure the drive can't see</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-host-io-errors-clean-smart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-host-io-errors-clean-smart/</guid><description>&lt;p>&lt;code>I/O error, dev sda&lt;/code> scrolling through dmesg. The application is timing out on disk reads. You run &lt;code>smartctl -H /dev/sda&lt;/code> and it returns &lt;code>PASSED&lt;/code>. Reallocated sectors, pending sectors, offline uncorrectable: all zero. The ATA error log is empty.&lt;/p>
&lt;p>SMART reports what the drive firmware can observe about itself: media integrity, mechanical health, thermal state, NAND endurance. It cannot see failures in the transport layer between the host and the drive. When the failure lives in the SATA cable, the backplane connector, the HBA firmware, a SCSI error recovery loop, or a PCIe link, the drive firmware has no way to observe it. The host kernel sees every failed transaction. The drive does not.&lt;/p></description></item><item><title>Multiple drives failing at once: it's the power supply, not the drives</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-power-supply-multi-drive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-power-supply-multi-drive/</guid><description>&lt;p>Three, five, or twelve drives light up at once. Spin_Retry_Count has jumped on every HDD in a shelf. Unsafe Shutdown counts are climbing across every NVMe device. A few drives may have dropped off the bus and come back. The instinct is to start filing RMAs.&lt;/p>
&lt;p>Stop. When the same symptom appears on many drives at the same time, the probability that every drive independently decided to fail in the same hour approaches zero. The root cause is almost certainly external: a degrading PSU, an overloaded PDU, a failing UPS battery, or aggregate spin-up inrush sagging the 12V rail because staggered spin-up is disabled.&lt;/p></description></item><item><title>NVMe Available Spare below threshold: the spare block pool is running out</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-nvme-available-spare/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-nvme-available-spare/</guid><description>&lt;p>When &lt;code>smartctl -A /dev/nvme0n1&lt;/code> reports Available Spare below the Available Spare Threshold, the drive&amp;rsquo;s internal spare block pool is running low. The controller is reporting less reserved NAND capacity than it considers safe for continued reliable operation.&lt;/p>
&lt;p>Available Spare is the percentage of reserved NAND blocks remaining for replacing worn or failed blocks. It starts at 100% and decreases monotonically as the drive consumes spares. When it reaches 0%, the next bad block causes permanent data loss for that block&amp;rsquo;s data: the drive has no spare to remap to.&lt;/p></description></item><item><title>NVMe Critical Warning bits: decoding the health-log bitmask</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-nvme-critical-warning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-nvme-critical-warning/</guid><description>&lt;p>The NVMe Critical Warning byte is the single most important health signal on an NVMe drive. Unlike ATA SMART&amp;rsquo;s scattered attribute IDs, this one byte consolidates five distinct critical conditions into a compact bitmask. Most operators who find this article have just seen a non-zero value from smartctl and need to know which bit is set and what to do about it.&lt;/p>
&lt;p>The field is byte 0 of NVMe Log Page 0x02 (SMART/Health Information Log). Bits 0 through 4 are defined by the NVMe specification; bits 5 through 7 are reserved. Each bit represents an independent condition, so evaluate them individually. &lt;code>0x00&lt;/code> means no active warnings. &lt;code>0x09&lt;/code> means two conditions are active simultaneously (bit 0 plus bit 3).&lt;/p></description></item><item><title>NVMe Media and Data Integrity Errors incrementing: confirmed NAND corruption</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-nvme-media-data-integrity-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-nvme-media-data-integrity-errors/</guid><description>&lt;p>The NVMe SMART/Health Information log exposes a field called &amp;ldquo;Media and Data Integrity Errors.&amp;rdquo; When this value is zero, the controller has never returned data that failed integrity verification. When it increments, the controller detected an unrecovered data integrity error on data retrieved from NAND flash. These are errors such as uncorrectable ECC failures, CRC checksum failures, or LBA tag mismatches that exceeded the controller&amp;rsquo;s internal correction layer.&lt;/p>
&lt;p>This counter is the NVMe equivalent of Offline Uncorrectable (SMART ID 198) on ATA drives. It is cumulative and monotonically increasing; it never decrements. Some enterprise NVMe drives have strong internal ECC that corrects many errors before they escalate to media errors. By the time this counter increments past that correction layer, the underlying media is failing.&lt;/p></description></item><item><title>NVMe media placed in read-only mode: Critical Warning bit 3</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-nvme-read-only-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-nvme-read-only-mode/</guid><description>&lt;p>When smartctl reports &lt;code>Critical Warning: 0x08&lt;/code> on an NVMe drive, the controller has locked the media into read-only mode. The drive is refusing all writes to protect existing data. This is a hardware-enforced decision made by the drive firmware. Reboots, firmware updates, and format commands will not clear it.&lt;/p>
&lt;p>The most common cause is endurance exhaustion: the spare block pool is depleted and the controller locks writes rather than risk corruption. Read-only transitions can also result from firmware bugs, thermal events, or electrical issues. An unexpected transition on a drive well below its rated endurance warrants forensic review.&lt;/p></description></item><item><title>NVMe NVM subsystem reliability degraded: Critical Warning bit 2</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-nvme-reliability-degraded/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-nvme-reliability-degraded/</guid><description>&lt;p>&lt;code>smartctl -H&lt;/code> reports FAILED on an NVMe drive that otherwise seems fine. I/O is normal, Available Spare is healthy, and there are no media errors. The Critical Warning byte is &lt;code>0x04&lt;/code>.&lt;/p>
&lt;p>Bit 2 (0x04) in the NVMe Critical Warning byte means &amp;ldquo;NVM subsystem reliability has been degraded.&amp;rdquo; Unlike bit 0 (spare below threshold), bit 1 (temperature), or bit 3 (read-only mode), bit 2 has no single metric that directly explains why firmware set it. The NVMe specification defines it as triggered by &amp;ldquo;significant media related errors or any internal error that degrades NVM subsystem reliability,&amp;rdquo; but leaves the exact conditions vendor-defined.&lt;/p></description></item><item><title>NVMe Percentage Used at or above 100%: rated endurance consumed</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-nvme-percentage-used/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-nvme-percentage-used/</guid><description>&lt;p>The NVMe SMART/Health Information Log (Log Page 02h) includes a field called Percentage Used that estimates how much of a drive&amp;rsquo;s rated write endurance has been consumed. At 100%, the drive has used up its warranted Total Bytes Written (TBW). Above 100%, it is operating beyond its manufacturer endurance rating.&lt;/p>
&lt;p>This is not a failure signal. The NVMe specification explicitly allows values up to 255%, and drives routinely continue working past their rated endurance. A drive reporting 150% Percentage Used with 90% Available Spare and zero Media Errors is likely fine. Percentage Used is a planning signal: it tells you where the drive is in its endurance lifecycle so you can sequence replacement before the actual failure indicators (Available Spare exhaustion and Media Errors) force an emergency.&lt;/p></description></item><item><title>NVMe thermal throttling: throughput dropping with no errors</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-nvme-thermal-throttling/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-nvme-thermal-throttling/</guid><description>&lt;p>NVMe throughput drops during sustained I/O. No I/O errors in dmesg, no command timeouts, SMART health says PASSED, Media and Data Integrity Errors at zero. The workload has not changed, but latency is up and throughput is down by 30, 50, or more percent. Hours later, performance recovers on its own. The pattern repeats: degradation during peak load, recovery during quiet periods or overnight.&lt;/p>
&lt;p>This is NVMe thermal throttling. The controller reduces performance to stay below vendor-defined temperature thresholds. Nothing in the standard error path surfaces it. The drive does not log I/O errors, the kernel does not see transport errors, and the SMART health assessment stays PASSED because the drive is operating within its protective envelope.&lt;/p></description></item><item><title>NVMe volatile memory backup device failed: CriticalWarning bit 4 and lost power-loss protection</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-nvme-volatile-memory-backup-failed/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-nvme-volatile-memory-backup-failed/</guid><description>&lt;p>You run &lt;code>smartctl -H /dev/nvme0n1&lt;/code> and get FAILED. The detail line reads &lt;code>- volatile memory backup device has failed&lt;/code>. The Critical Warning byte shows &lt;code>0x10&lt;/code>. The drive is still serving reads and writes at full speed, latency is normal, Available Spare is fine, and Percentage Used is well within spec.&lt;/p>
&lt;p>This is NVMe Critical Warning bit 4. It does not mean the NAND is failing or the controller is dying. It means the drive&amp;rsquo;s power-loss protection (PLP) hardware, typically supercapacitors on enterprise NVMe SSDs, has failed. Under stable power, the drive operates normally. But if power drops unexpectedly, data sitting in the drive&amp;rsquo;s volatile write buffer will be lost because the capacitor bank can no longer flush it to NAND.&lt;/p></description></item><item><title>Offline_Uncorrectable climbing: permanent data loss at the media level</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-offline-uncorrectable/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-offline-uncorrectable/</guid><description>&lt;p>Offline_Uncorrectable (SMART attribute 198) is the most unambiguous media-failure signal in the ATA SMART attribute set. When this counter increments, a sector was read during an offline scan or self-test and the drive firmware could not recover the data even after ECC correction and multiple retries. The data at that LBA is gone. If the filesystem or application layer did not provide redundancy (RAID, checksums, backups), the loss is permanent.&lt;/p></description></item><item><title>Power_On_Hours and fleet age: the context every other attribute needs</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-power-on-hours-fleet-age/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-power-on-hours-fleet-age/</guid><description>&lt;p>Power_On_Hours (ATA attribute ID 9, or the NVMe SMART/Health &amp;ldquo;Power On Hours&amp;rdquo; field) does not tell you anything is wrong. It tells you how long the drive has been powered on. That is the only attribute that gives every other attribute its meaning.&lt;/p>
&lt;p>Ten reallocated sectors on a drive with 100 power-on hours is a manufacturing defect. Ten reallocated sectors on a drive with 50,000 power-on hours is graceful aging. The raw count is identical; the operational response is completely different. Without the age axis, you cannot distinguish &amp;ldquo;the drive is burning out&amp;rdquo; from &amp;ldquo;the drive is wearing out.&amp;rdquo;&lt;/p></description></item><item><title>Raw_Read_Error_Rate looks enormous: the Seagate false alarm explained</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-raw-read-error-rate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-raw-read-error-rate/</guid><description>&lt;p>You see SMART attribute ID 1 with a raw value of 200,450,784. Or 60,000,000,000. Your monitoring system pages you at 3 a.m. because &amp;ldquo;raw read error rate is enormous.&amp;rdquo; You check the drive: &lt;code>smartctl -H&lt;/code> says PASSED. Reallocated sectors: zero. Pending sectors: zero. Offline uncorrectable: zero. The raw value is enormous by design.&lt;/p>
&lt;p>Seagate packs error counts and total operation counts together into the 48-bit raw value field for attribute ID 1 (Raw_Read_Error_Rate). The raw value will always be large on a healthy Seagate drive because it includes every read operation the drive has ever performed, not just errors. Alerting on &lt;code>raw &amp;gt; 0&lt;/code> for this attribute generates constant noise for every Seagate drive in your fleet.&lt;/p></description></item><item><title>Reading the ATA error log: UNC, ICRC, ABRT, CCTO, IDNF, AMNF</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-ata-error-log-unc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-ata-error-log-unc/</guid><description>&lt;p>When &lt;code>smartctl -l error&lt;/code> returns entries instead of &amp;ldquo;No Errors Logged&amp;rdquo;, the error type field in each entry tells you what failed. The ATA Summary Error Log records individual I/O failure events with the error type, the LBA where the error occurred, the command that triggered it, and a timestamp relative to the current power cycle.&lt;/p>
&lt;p>The six error type codes are UNC, ICRC, ABRT, CCTO, IDNF, and AMNF. They are not equally serious. UNC means confirmed data loss. ICRC means a cable problem. ABRT may mean nothing at all. Knowing which one you are looking at determines whether you are evacuating data or reseating a cable.&lt;/p></description></item><item><title>Reallocated_Event_Count vs Reallocated_Sector_Ct: reading both together</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-reallocated-event-count/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-reallocated-event-count/</guid><description>&lt;p>Two SMART attributes track the same underlying process, sector reallocation, but count different things. Attribute ID 5 (Reallocated_Sector_Ct) counts sectors the drive has permanently retired and replaced with spares. Attribute ID 196 (Reallocated_Event_Count) counts remap operations the firmware initiated. When each bad sector fails individually and is remapped one at a time, the two counters move in lockstep. When a single physical event damages multiple sectors at once (head slap, thermal hotspot, manufacturing defect), the counters diverge: ID 196 increments once for the event while ID 5 jumps by the number of sectors involved.&lt;/p></description></item><item><title>Reallocated_Sector_Ct rising: the drive is burning through its spare pool</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-reallocated-sectors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-reallocated-sectors/</guid><description>&lt;p>When &lt;code>smartctl -A&lt;/code> shows Reallocated_Sector_Ct (SMART attribute ID 5) climbing, the drive firmware is silently remapping sectors that have become unreliable. Each reallocation consumes a sector or block from a finite spare pool reserved at the factory. Once that pool is exhausted, the next bad sector becomes an uncorrectable read error. Data loss follows.&lt;/p>
&lt;p>The absolute count tells you less than the rate of change. A drive with 10 reallocated sectors that has been stable for 3 years is operating within its tolerances. A drive that gained 10 reallocated sectors in the last week is actively failing.&lt;/p></description></item><item><title>SAS PHY error counters: transport health for SAS drives</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-sas-phy-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-sas-phy-errors/</guid><description>&lt;p>You are running SAS drives and something is off. I/O latency has spiked on a specific drive, or the kernel log is showing SAS link resets and error recovery messages. You reach for smartctl to check SMART health, but there is no UDMA_CRC_Error_Count attribute. SAS drives do not use ATA SMART attributes. They use SCSI log pages, and their transport health lives in a different set of counters: the SAS PHY error counters.&lt;/p></description></item><item><title>SATA link downshifted (6 to 3 to 1.5 Gbps): CRC errors forcing a slower link</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-sata-link-downshift/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-sata-link-downshift/</guid><description>&lt;p>&lt;code>smartctl -a&lt;/code> shows &lt;code>SATA Version is: SATA 3.2, 6.0 Gb/s (current: 3.0 Gb/s)&lt;/code>. The advertised maximum and the current link speed do not match. Throughput is halved, but SMART health says PASSED and there are no reallocated, pending, or uncorrectable sectors.&lt;/p>
&lt;p>This is a SATA link downshift. The kernel&amp;rsquo;s libata driver detected persistent CRC errors on the interface and automatically negotiated a lower link speed to maintain data integrity. At 3.0 Gbps the error rate drops enough for transfers to complete, but you have lost half your bandwidth. If the physical layer degrades further, the link may drop again to 1.5 Gbps.&lt;/p></description></item><item><title>SATA SSD wear-out: Wear_Leveling_Count and Media_Wearout_Indicator declining</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-ssd-wear-leveling-count/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-ssd-wear-leveling-count/</guid><description>&lt;p>SATA SSDs report remaining NAND endurance through vendor-specific SMART attributes, not the standardized NVMe Percentage Used field. Samsung exposes Wear_Leveling_Count at attribute ID 177. Intel and Solidigm expose Media_Wearout_Indicator at ID 233. Some vendors use ID 173 (also labeled Wear_Leveling_Count) or ID 231 (SSD_Life_Left). All express the same concept: firmware estimating how much rated program/erase cycle budget remains.&lt;/p>
&lt;p>The problem for operators: these attributes are not standardized across vendors. The same attribute ID can carry different semantics on different drives. The THRESH column is almost always zero, so smartctl will never flag these attributes as failing regardless of how low the normalized value drops. The raw value encoding is vendor-defined and frequently misleading. A fleet with mixed SSD vendors cannot be monitored with a single threshold rule.&lt;/p></description></item><item><title>Scheduling SMART self-tests: short weekly, extended monthly</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-scheduling-self-tests/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-scheduling-self-tests/</guid><description>&lt;p>Drives do not run self-tests automatically. SMART firmware monitors passively, recording what it sees during normal I/O. If a sector is never read by production traffic, its degradation stays invisible until a backup job, a scrub, or a user request hits it. At that point you get an I/O error in production instead of a warning from the drive.&lt;/p>
&lt;p>Self-tests are the active probing mechanism. The short test (1-2 minutes) exercises electrical and mechanical basics plus a small media sample. The extended test (hours, proportional to drive size) scans the entire surface and is the only routine mechanism that discovers latent bad sectors before production I/O reaches them. The conveyance test (~5 minutes, HDD only) checks for shipping damage and is typically run once at deployment, not on a schedule.&lt;/p></description></item><item><title>Seek_Error_Rate: head-positioning wear and the Seagate raw-value trap</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-seek-error-rate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-seek-error-rate/</guid><description>&lt;p>A monitoring dashboard shows Seek_Error_Rate with a raw value of 200,009,354,607 on a Seagate drive. The on-call engineer pages the storage team. The replacement drive goes into the same bay and shows the same number. This cycle repeats across fleets because most monitoring tools and most operators do not know how Seagate encodes this attribute.&lt;/p>
&lt;p>Seek_Error_Rate (ATA attribute ID 7) tracks the accuracy of the HDD actuator arm as it positions read/write heads over target tracks. On most non-Seagate drives, the raw value is a straightforward error count or rate. On Seagate drives, the raw value is a packed composite encoding both total seek operations and seek errors, producing numbers in the billions on perfectly healthy hardware. Alerting on the raw value guarantees false positives on every Seagate drive in the fleet.&lt;/p></description></item><item><title>Self-test completed: read failure - a bad sector found by proactive scanning</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-self-test-read-failure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-self-test-read-failure/</guid><description>&lt;p>When &lt;code>smartctl -l selftest /dev/sdX&lt;/code> shows &amp;ldquo;Completed: read failure&amp;rdquo;, the drive&amp;rsquo;s firmware found a sector it cannot read during an active surface scan. The LBA_of_first_error column gives you the exact logical block address of the defect. The firmware tried multiple times, exhausted its error correction, and could not recover the data at that location.&lt;/p>
&lt;p>The extended self-test scans the entire media surface. Without it, a bad sector remains hidden until production I/O hits that exact LBA, producing an application-visible I/O error, a hung process, or a kernel timeout instead of a diagnostic warning.&lt;/p></description></item><item><title>SMART blind spots: VMs, USB bridges, and drives you think you're watching</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-blind-spot-vm-usb/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-blind-spot-vm-usb/</guid><description>&lt;p>SMART monitoring is deployed, the dashboard is green, but some drives are invisible to smartctl. No alert fired. The pattern: expected physical drive count exceeds drives returning SMART data. The drives may be healthy or failing. You cannot tell because no telemetry is collected, and the monitoring system treats &amp;ldquo;smartctl returned no data&amp;rdquo; as &amp;ldquo;no problem.&amp;rdquo;&lt;/p>
&lt;p>Four configurations create this gap: virtual machines, USB-attached drives, cloud block devices, and hardware RAID controllers. In each case, smartctl cannot reach the physical drive&amp;rsquo;s firmware. The fix is to move monitoring to where SMART data is accessible and use the correct device-type flags.&lt;/p></description></item><item><title>SMART monitoring maturity model: from survival to expert</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-monitoring-maturity-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-monitoring-maturity-model/</guid><description>&lt;p>&lt;code>smartctl -H&lt;/code> returns PASSED or FAILED. Teams that stop there learn the hard way: a drive reports PASSED one day and drops off the bus the next, a &amp;ldquo;healthy&amp;rdquo; drive starts corrupting data, or a RAID rebuild fails because nobody noticed the spare sector pool degrading for months.&lt;/p>
&lt;p>SMART monitoring is a spectrum of signal depth. Each level in this model closes specific diagnostic blind spots that the previous level could not answer. Use this to identify what failure modes your current monitoring is blind to and what to add next.&lt;/p></description></item><item><title>SMART not accessible behind a RAID controller: -d megaraid and cciss passthrough</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-not-accessible-raid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-not-accessible-raid/</guid><description>&lt;p>When you run &lt;code>smartctl -a /dev/sda&lt;/code> on a server with a hardware RAID controller, the query returns information about the controller&amp;rsquo;s virtual device, not the physical drive. Or it fails entirely. The RAID controller presents only virtual devices to the OS, so standard SMART queries never reach the physical hardware.&lt;/p>
&lt;p>Without the correct controller-specific passthrough flag, you have no visibility into individual drive health. Monitoring may report success because it queried a device node and got a response, but the response contains no real drive data. Drives can fail silently while monitoring appears healthy.&lt;/p></description></item><item><title>SMART overall-health self-assessment: FAILED is the drive's own death notice</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-overall-health-failed/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-overall-health-failed/</guid><description>&lt;p>When &lt;code>smartctl -H&lt;/code> reports &lt;code>SMART overall-health self-assessment test result: FAILED&lt;/code>, the drive&amp;rsquo;s own firmware has concluded it is failing. At least one pre-fail attribute has crossed its vendor-defined threshold. This is not smartctl&amp;rsquo;s interpretation or a monitoring heuristic. Treat it as an unconditional page. Unlike individual attributes that require trend analysis and corroboration, FAILED is the drive saying it is done. False positives are rare in the normal case because the drive itself is making the call, not your monitoring system.&lt;/p></description></item><item><title>SMART says PASSED but the drive is failing: why the health check lies</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-health-passed-but-failing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-health-passed-but-failing/</guid><description>&lt;p>The PASSED verdict from &lt;code>smartctl -H&lt;/code> tells you one narrow thing: no pre-fail SMART attribute has crossed its vendor-defined threshold. It does not mean the drive is healthy, that data is safe, or that the drive will survive the week.&lt;/p>
&lt;p>A drive can report PASSED while hundreds of sectors are pending reallocation, dozens have already been remapped, I/O latency is spiking to seconds, and the spare pool is burning down. Google&amp;rsquo;s 2007 study of over 100,000 drives found that 36% of failed drives had zero prior SMART warnings. Backblaze&amp;rsquo;s fleet analysis showed that 23.3% of failed drives had no non-zero values across the five attributes they consider most predictive (IDs 5, 187, 188, 197, 198). The health check is a last-resort binary, not a health indicator.&lt;/p></description></item><item><title>SMART self-tests keep aborting: heavy I/O interrupting the extended scan</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-self-test-aborted/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-self-test-aborted/</guid><description>&lt;p>The self-test log tells the same story every time. You started an extended self-test with &lt;code>smartctl -t long /dev/sdX&lt;/code>, checked back hours later, and found another entry reading &amp;ldquo;Aborted by host&amp;rdquo; or &amp;ldquo;Interrupted (host reset)&amp;rdquo;. The drive reports no read failures, no servo errors, no electrical faults. But the full surface scan never actually completed.&lt;/p>
&lt;p>This is a scheduling problem, not a drive health problem. ATA extended self-tests run in background mode by default, meaning the test has low priority and yields to host I/O. On a busy production drive, the test keeps getting deferred and eventually aborted. Latent bad sectors remain undiscovered until production I/O hits them.&lt;/p></description></item><item><title>smartctl disk monitoring checklist: the SMART signals every server needs</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-monitoring-checklist/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-monitoring-checklist/</guid><description>&lt;p>S.M.A.R.T. is firmware-level instrumentation built into every modern HDD, SSD, and NVMe drive. The drive reports on its own internal state. The &lt;code>smartctl&lt;/code> tool from smartmontools reads what the firmware already knows. SMART monitoring is necessary but not sufficient: it catches gradual media degradation and endurance wear-out, but cannot predict sudden controller failures, firmware bugs, or silent data corruption. You still need redundancy, backups, and checksumming filesystems.&lt;/p>
&lt;p>The single most important principle in this checklist: track rate of change, not absolute values. A drive with 50 reallocated sectors accumulated over five years is stable. A drive that gained 5 reallocated sectors this week is actively dying. Most monitoring failures come from alerting on absolute thresholds while missing the acceleration signal that distinguishes historical damage from active failure.&lt;/p></description></item><item><title>Spin_Retry_Count non-zero: the spindle motor is failing to spin up</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-spin-retry-count/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-spin-retry-count/</guid><description>&lt;p>Spin_Retry_Count (SMART attribute ID 10) counts how many times a hard drive&amp;rsquo;s spindle motor failed to reach operating RPM on the first attempt and retried. A healthy HDD spins up cleanly every time. Any non-zero value means the motor may not spin up on the next power cycle.&lt;/p>
&lt;p>This attribute is HDD-only. SSDs have no spindle motor and do not report ID 10. If you see this attribute on an SSD, it is either a synthetic placeholder or a vendor repurposing of the ID for unrelated data.&lt;/p></description></item><item><title>Spin_Up_Time climbing: bearing wear and lubricant degradation</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-spin-up-time-rising/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-spin-up-time-rising/</guid><description>&lt;p>Spin_Up_Time (SMART attribute ID 3) measures how long the spindle motor takes to bring the platters from zero to rated RPM. The raw value is vendor-specific and noisy. A rising Spin_Up_Time alone is ambiguous; it becomes actionable only when you correlate it with Spin_Retry_Count (ID 10), drive temperature, and the scope of the problem across the chassis.&lt;/p>
&lt;p>This attribute applies only to mechanical HDDs. SSDs have no spindle motor and report Spin_Up_Time as zero or a synthetic placeholder.&lt;/p></description></item><item><title>The SSD write cliff: latency spikes when the pre-erased block pool empties</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-ssd-write-cliff/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-ssd-write-cliff/</guid><description>&lt;p>Write latency on an SSD jumps from sub-millisecond to hundreds of milliseconds or seconds. Applications time out. The kernel log may show command timeouts. But &lt;code>smartctl -H&lt;/code> says PASSED, every SMART attribute looks clean, and the drive has plenty of endurance left.&lt;/p>
&lt;p>The write cliff happens when an SSD exhausts its pool of pre-erased NAND blocks. Under normal conditions, the controller performs garbage collection (GC) in the background: it reads valid pages from partially invalidated blocks, writes them elsewhere, and erases the now-empty block to replenish the free pool. When the write rate outpaces background GC, the free pool empties. Every host write now requires a synchronous erase cycle before it can complete, and latency explodes by 100x to 1000x.&lt;/p></description></item><item><title>The zombie drive: bad sectors, read retries, and high iowait with idle CPU</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-zombie-drive-bad-sectors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-zombie-drive-bad-sectors/</guid><description>&lt;p>The system is grinding to a halt. SSH sessions lag, commands take seconds to return, and applications time out. You check &lt;code>top&lt;/code> or &lt;code>htop&lt;/code> and CPU is nearly idle, yet load average is climbing. &lt;code>iostat -x 1&lt;/code> tells the real story: &lt;code>await&lt;/code> on one disk is spiking into the hundreds of milliseconds, sometimes multiple seconds, while every other disk looks fine. The process stuck on that I/O is in D state (uninterruptible sleep), unkillable, waiting for a read that the drive cannot complete.&lt;/p></description></item><item><title>UDMA_CRC_Error_Count rising: it's the cable, not the drive</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-udma-crc-error-count/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-udma-crc-error-count/</guid><description>&lt;p>Rising UDMA CRC Error Count (SMART attribute 199) is one of the most misdiagnosed signals in production. Operators see the counter climbing, swap the drive, and the replacement develops the same errors because the cable, backplane port, or HBA was the actual cause. The original drive goes back as an RMA, the replacement fails the same way, and the real fault is still in the chassis.&lt;/p>
&lt;p>UDMA CRC errors indicate data corruption on the wire between the host and the drive, caught by CRC and retransmitted. They are almost never caused by the drive itself. Data integrity is preserved: each error triggers a retransmission. This is usually a TICKET-level problem, not a PAGE. The drive is not dying and your data is not being corrupted. But the retries reduce effective throughput, and in severe cases the SATA link downshifts speed to compensate.&lt;/p></description></item><item><title>Unexpected drive firmware or identity change: counter resets and identity drift</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-firmware-version-change/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-firmware-version-change/</guid><description>&lt;p>A cumulative SMART counter decreased between polls. Power-On Hours went backward. The drive&amp;rsquo;s model, serial number, or firmware version changed since the last snapshot. SMART counters are designed to be monotonically increasing. Identity fields are set at the factory. When either changes without a documented reason, determine whether this is routine maintenance, a firmware update, or something requiring forensic review.&lt;/p>
&lt;p>The severity depends on context. A counter reset correlated with a ticketed drive replacement is informational. A firmware version change with no change management record is a TICKET. A serial number change on a drive that was never touched is a security event.&lt;/p></description></item><item><title>Unsafe Shutdowns / unexpected power-loss count rising</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-unsafe-shutdowns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-unsafe-shutdowns/</guid><description>&lt;p>The unsafe shutdown counter is a cumulative lifetime metric tracking how many times a drive lost power without receiving a clean shutdown notification. On ATA drives, this is attribute 174 (&lt;code>Unexpect_Power_Loss_Ct&lt;/code>) on some SSDs or attribute 192 (&lt;code>Power-Off_Retract_Count&lt;/code>) on HDDs. On NVMe drives, it is the &amp;ldquo;Unsafe Shutdowns&amp;rdquo; field in the SMART/Health Information Log (Log Page 02h).&lt;/p>
&lt;p>A non-zero value is not inherently alarming. Drives accumulate unsafe shutdowns over their lifetime from kernel panics, hard resets, UPS failures, and factory burn-in. The operational question is never &amp;ldquo;is the count non-zero?&amp;rdquo; but &amp;ldquo;is it growing, and how fast?&amp;rdquo;&lt;/p></description></item><item><title>Warning and Critical Composite Temperature Time: past overheating that already did damage</title><link>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-composite-temperature-time/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/smartctl-disk-monitoring/smartctl-composite-temperature-time/</guid><description>&lt;p>Two fields in the NVMe SMART/Health Information Log (Log Page 02h) record cumulative thermal exposure that a point-in-time temperature reading cannot show: Warning Composite Temperature Time and Critical Composite Temperature Time. They count the minutes the drive has spent above vendor-defined warning and critical temperature thresholds over its entire lifetime.&lt;/p>
&lt;p>A non-zero value means the controller firmware accumulated a count. Even if Composite Temperature currently reads 40 degrees Celsius, these fields reveal thermal events that happened between polls, hours, days, or months ago. Thermal damage to NAND is cumulative and irreversible: sustained high temperature accelerates cell wear and degrades data retention. A drive that spent 200 minutes above its critical threshold may have aged more in those minutes than in months of normal operation. The question is not whether you can undo it (you cannot) but whether you can detect it and account for it in replacement planning.&lt;/p></description></item></channel></rss>