Come determinare il numero di loops di scrittura o la vita attesa per SSD in Linux?

Per un po 'abbiamo eseguito un SSD (Intel X25-M) in un server Linux (RHEL 5) per un po', ma non abbiamo mai sforzato di capire quanto sia stato scritto sotto l'anno scorso. C'è qualche strumento sotto Linux per dirci circa quanto è stato scritto sul disco nel tempo o (ancora meglio) quanta usura ha accumulato? Basta cercare un suggerimento per vedere se è vicino alla morte o no …

  • Membership di IGMP sotto Linux (igmp_max_memberships)
  • Monitorare continuamente i tronchi con la coda che vengono a volte ruotati
  • IPv6 e NAT, instradando più ISP
  • Equivalente alla stanza "pid file" nelle versioni più recenti di upstart
  • Esecuzione di Linux su un solo disco di lettura - ansible?
  • Sovrapposizione di tavoli da vicino su host Linux legati al bridge e all'ipv6
  • Perché le applicazioni Unix sono documentate con un numero in parentesi con l'uomo?
  • Come faccio a creare un utente con accesso in sola lettura su SSH a un sottotrape limitato di cartelle?
  • Il syslog ip si estende a file specifici usando `rsyslog`
  • Come elencare tutti gli utenti ei gruppi su Linux?
  • File di host per utente
  • Come submit il process in esecuzione allo background?
  • 4 Solutions collect form web for “Come determinare il numero di loops di scrittura o la vita attesa per SSD in Linux?”

    Gli SSD di Intel manterranno statistiche sulle scritture totali e su quanto è la probabile durata della vita.

    Quello che segue è da un Intel X25-M G2 160GB (SSDSA2M160G2GC)

    # smartctl -data -A /dev/sda smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build) Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net === START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 5 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 3 Spin_Up_Time 0x0020 100 100 000 Old_age Offline - 0 4 Start_Stop_Count 0x0030 100 100 000 Old_age Offline - 0 5 Reallocated_Sector_Ct 0x0032 100 100 000 Old_age Always - 1 9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 6855 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 68 192 Unsafe_Shutdown_Count 0x0032 100 100 000 Old_age Always - 30 225 Host_Writes_32MiB 0x0030 200 200 000 Old_age Offline - 148487 226 Workld_Media_Wear_Indic 0x0032 100 100 000 Old_age Always - 3168 227 Workld_Host_Reads_Perc 0x0032 100 100 000 Old_age Always - 1 228 Workload_Minutes 0x0032 100 100 000 Old_age Always - 1950295543 232 Available_Reservd_Space 0x0033 099 099 010 Pre-fail Always - 0 233 Media_Wearout_Indicator 0x0032 098 098 000 Old_age Always - 0 184 End-to-End_Error 0x0033 100 100 099 Pre-fail Always - 0 

    Il valore raw di Host_Writes_32MIB indica quante unità di dati 32MiB sono state scritte su questa unità.

    Il valore Media_Wearout_Indicator mostra una percentuale normalizzata di quanto sia lunga la durata utile di usura dell'azionamento. Questo inizia a 100 (o 099, dimentico che), e procede fino a 001, a quel punto Intel considera l'unità di aver superato la sua vita utile. Intel usa anche il MWI come parte delle richieste di garanzia – una volta che il MWI raggiunge 001, la garanzia è scaduta.

    Il MWI che raggiunge 001 non significa che l'unità non riesca immediatamente! Intel avrà tolleranza integrata per affrontare le varianze in unità flash. Ho visto l'azionamento molto bene oltre questo punto e sto triggersmente testando alcuni SSD di serie Intel 320 per vedere quanto durano più a lungo.

    Tuttavia, poiché la garanzia scade quando il MWI raggiunge il 001, sostituirei qualsiasi unità a quel punto.

    Gli azionamenti Corsair esportno anche un indicatore simile a quello residuo della percentuale. Nel loro caso è l'attributo 231:

     231 SSD_Life_Left 0x0013 100 100 010 Pre-fail Always - 0 

    (Si noti che se smartctl visualizza questa impostazione come Temperatura, è necessario aggiornare il database del dispositivo. Nel mio sistema Debian significa che si esegue /usr/sbin/update-smart-drivedb )

    Un post sul blog di Corsair sembra mostrare che il valore non va mai inferiore al 10%, quindi presumo che dovrebbe essere sostituito al 10%.

    Ho anche un'unità OCZ con lo stesso controller Sandforce che esport anche lo stesso valore SSD_Life_Left.

    Il Media_Wearout_Indicator è quello che stai cercando. Per 100 significa che la tua ssd ha una vita del 100%, il numero inferiore significa less vita a sinistra.

     # smartctl -a /dev/sda | grep Media_Wearout_Indicator 

    Uscita dal mio computer porttile

     233 Media_Wearout_Indicator 0×0032 100 100 000 Old_age Always – 0 

    Se desideri vedere ulteriori dettagli e attributi completi dall'unità, puoi eseguire

     # smartctl -data -A /dev/sda 

    e l'output

     # smartctl -data -A /dev/sda smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-49-generic] (local build) Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net === START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 10 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 5 Reallocated_Sector_Ct 0×0032 100 100 000 Old_age Always – 0 9 Power_On_Hours 0×0032 000 000 000 Old_age Always – 232959027031342 12 Power_Cycle_Count 0×0032 100 100 000 Old_age Always – 279 170 Unknown_Attribute 0×0033 100 100 010 Pre-fail Always – 0 171 Unknown_Attribute 0×0032 100 100 000 Old_age Always – 0 172 Unknown_Attribute 0×0032 100 100 000 Old_age Always – 0 174 Unknown_Attribute 0×0032 100 100 000 Old_age Always – 278 184 End-to-End_Error 0×0033 100 100 090 Pre-fail Always – 0 187 Reported_Uncorrect 0×0032 100 100 000 Old_age Always – 0 192 Power-Off_Retract_Count 0×0032 100 100 000 Old_age Always – 278 225 Load_Cycle_Count 0×0032 100 100 000 Old_age Always – 10752 226 Load-in_Time 0×0032 100 100 000 Old_age Always – 65535 227 Torq-amp_Count 0×0032 100 100 000 Old_age Always – 66 228 Power-off_Retract_Count 0×0032 100 100 000 Old_age Always – 65535 232 Available_Reservd_Space 0×0033 100 100 010 Pre-fail Always – 0 233 Media_Wearout_Indicator 0×0032 100 100 000 Old_age Always – 0 241 Total_LBAs_Written 0×0032 100 100 000 Old_age Always – 10752 242 Total_LBAs_Read 0×0032 100 100 000 Old_age Always – 21803 249 Unknown_Attribute 0×0013 100 100 000 Pre-fail Always – 357 

    http://namhuy.net/1024/how-to-check-ssd-life-left.html

    Non proprio. Se l'azionamento non tiene statistiche, non saprei sicuramente. Anche allora l'unità avrebbe astratto gli algoritmi di livellazione della scrittura e tali da tentare di ottimizzare le cose sotto il cofano, lontano dalle chiamate di sistema e dalle interfacce. In altre parole, l'unità potrebbe facilmente mentire su where i dati sono effettivamente scritti sui "media" in modo da non sapere quali celle stanno ottenendo attività.

    Ciò non garantisce ancora quando / se vedrai errori o errori. L'azionamento potrebbe fallire domani, potrebbe fallire in tre anni.

    La migliore scommessa è mantenerla in una configuration RAID e avere un piano in sostituzione quando non riesce (prima che l'altra unità non riesca) e assicura che i backup siano aggiornati.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.