SSD på 100 prosent endurance og SMART FAILED: les rådataene, ikke flagget

En consumer-NVMe i en homelab meldte plutselig 100 prosent brukt levetid, og SMART hoppet over til FAILED. Disken virket fortsatt helt fint. Det høres ut som en selvmotsigelse, men er det ikke. Det er en advarsel du faktisk har tid til å reagere på, forutsatt at du forstår hva tallene sier.
100 prosent er ikke det samme som død

Ikke stol på det binære PASSED/FAILED-flagget alene. Det forteller deg nesten ingenting. Les rådataene i stedet:
nvme smart-log /dev/nvme0Fire felter er verdt å bry seg om. percentage_used på 100 betyr at du har passert produsentens TBW-estimat. Det er en garantiterskel, ikke et dødstidspunkt, og tallet kan krype forbi 100 og fortsette å telle. media_errors skal stå på 0; er den over, har disken faktiske ulesbare blokker, og da haster det. available_spare mot available_spare_threshold er det virkelige faresignalet: når spare-poolen nærmer seg terskelen, går disken tom for reserveblokker å bytte inn. data_units_written forteller skrivevolum over tid; gang med 512000 for å få bytes.
En disk på 100 prosent used, med spare på 100 og null media-errors, er sliten men fungerer. En disk med fallende available_spare er derimot på vei ut, uansett hva de andre tallene sier.
Kjøp tid: fjern unødvendig skriving
Mesteparten av slitasjen på en systemdisk kommer fra logg og swap, ikke fra nyttedata. Begge deler kan du dempe uten å røre en eneste skrue.
Sett swappiness lavt, og gjør det varig:
# /etc/sysctl.d/99-swappiness.confKutt journald ned til en fast størrelse:
vm.swappiness=10sysctl --system
journalctl --vacuum-size=200MOg lås den samme grensen fast i /etc/systemd/journald.conf, ellers vokser den tilbake:
SystemMaxUse=200MFlytt så de tunge loggskriverne, databasene og metrics-innsamlingen vekk fra systemdisken og over på et eget volum. Systemdisken skal helst ligge og skrive nesten ingenting.
Overvåk endringen over tid

Et statisk tall sier deg lite. Det er bevegelsen som betyr noe. Sett opp en daglig sjekk som sier ifra når available_spare synker eller media-errors øker:
nvme smart-log /dev/nvme0 | grep -E \Send verdiene til det varselsystemet du allerede har, enten det er push, Discord eller e-post. Poenget er at du fanger opp trenden av seg selv, i stedet for å måtte huske å logge inn og sjekke manuelt.
'percentage_used|available_spare|media_errors'
Den egentlige fiksen: speil
Alt over er tidskjøp. Grunnproblemet er at én enkelt disk uten redundans er ett punkt som feller alt annet. Når den dør, og den dør, står hele systemet.
Løsningen er å speile: ZFS mirror eller RAID1 med to disker. Da kan én disk feile uten nedetid, og du bytter den ut mens systemet kjører videre.
zpool create rpool mirror /dev/nvme0n1 /dev/nvme1n1Behandle 100 prosent endurance som et tegn på at du mangler redundans, ikke som grunn til panikk. Fjern det unødvendige skrivet, sett opp overvåking, og planlegg et speil. En disk som fortsatt virker gir deg tid. Bruk den tiden på å slippe å være avhengig av én disk.


