web-dev-qa-db-fra.com

Comment vérifier la durée de vie restante du SSD ou le niveau d'usure du support?

Nous savons tous que les SSD ont une durée de vie prédéterminée limitée. Comment vérifier sous Linux l'état de santé actuel d'un SSD?

La plupart des résultats de recherche Google vous demanderaient de rechercher S.M.A.R.T. informations pour un champ de pourcentage appelé Media_Wearout_Indicator, ou d'autres indicateurs de jargons comme Longterm Data Endurance - qui n'existent pas - Oui, j'ai vérifié deux Les SSD n'ont pas tous les deux ces champs. Je pourrais continuer à trouver un troisième SSD, mais je pense que les champs ne sont pas standardisés.

Pour illustrer le problème, voici les deux exemples.


Avec le premier SSD, il n'est pas clair quel champ indique le niveau d'usure. Cependant, il n'y a qu'un Unknown_Attribute dont la RAW VALUE est comprise entre 1 et 100, donc je ne peux que supposer que c'est ce que nous recherchons:

    $ Sudo smartctl -A /dev/sda                                             
    smartctl 6.2 2013-04-20 r3812 [x86_64-linux-3.11.0-14-generic] (local build)
    Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

    === START OF READ SMART DATA SECTION ===                                 
    SMART Attributes Data Structure revision number: 1                       
    Vendor Specific SMART Attributes with Thresholds:                        
    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      5 Reallocated_Sector_Ct   0x0002   100   100   000    Old_age   Always       -       0
      9 Power_On_Hours          0x0002   100   100   000    Old_age   Always       -       6568
     12 Power_Cycle_Count       0x0002   100   100   000    Old_age   Always       -       1555
    171 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       0
    172 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       0
    173 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       57
    174 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       296
    187 Reported_Uncorrect      0x0002   100   100   000    Old_age   Always       -       0
    230 Unknown_SSD_Attribute   0x0002   100   100   000    Old_age   Always       -       190
    232 Available_Reservd_Space 0x0003   100   100   005    Pre-fail  Always       -       0
    234 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       350
    241 Total_LBAs_Written      0x0002   100   100   000    Old_age   Always       -       742687258
    242 Total_LBAs_Read         0x0002   100   100   000    Old_age   Always       -       1240775277

Donc, ce SSD a utilisé 57% de sa durée de vie de réécriture, est-ce correct?


Avec l'autre disque, l'attribut SSD_Life_Left se démarque, mais sa valeur brute de 0, indiquant 0% de vie restante, est peu probable pour un SSD apparemment sain à moins qu'il ne soit en péril (nous le verrons dans quelques jours), et s'il indique "0% de durée de vie a été utilisée", également impossible pour un disque dur usé (porté = utilisé pendant plus d'un an).

    > Sudo /usr/sbin/smartctl -A /dev/sda
    smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.11.6-4-desktop] (SUSE RPM)
    Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

    === 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
      1 Raw_Read_Error_Rate     0x000f   104   100   050    Pre-fail  Always       -       0/8415644
      5 Retired_Block_Count     0x0033   100   100   003    Pre-fail  Always       -       0
      9 Power_On_Hours_and_Msec 0x0032   100   100   000    Old_age   Always       -       4757h+02m+17.130s
     12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       1371
    171 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
    172 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
    174 Unexpect_Power_Loss_Ct  0x0030   000   000   000    Old_age   Offline      -       52
    177 Wear_Range_Delta        0x0000   000   000   000    Old_age   Offline      -       2
    181 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
    182 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
    187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
    194 Temperature_Celsius     0x0022   030   030   000    Old_age   Always       -       30 (Min/Max 30/30)
    195 ECC_Uncorr_Error_Count  0x001c   104   100   000    Old_age   Offline      -       0/8415644
    196 Reallocated_Event_Count 0x0033   100   100   000    Pre-fail  Always       -       0
    231 SSD_Life_Left           0x0013   100   100   010    Pre-fail  Always       -       0
    233 SandForce_Internal      0x0000   000   000   000    Old_age   Offline      -       3712
    234 SandForce_Internal      0x0032   000   000   000    Old_age   Always       -       1152
    241 Lifetime_Writes_GiB     0x0032   000   000   000    Old_age   Always       -       1152
    242 Lifetime_Reads_GiB      0x0032   000   000   000    Old_age   Always       -       3072
31
Tankman六四

Dans votre premier exemple, je pense que vous faites référence au "Media Wearout Indicator" sur les disques Intel, qui est l'attribut 233. Oui, il a une plage de 0 à 100, 100 étant un tout nouveau disque inutilisé, et 0 étant complètement usé. Selon votre ouptut, ce champ ne semble pas exister.

Dans votre deuxième exemple, veuillez lire les documents officiels sur SSD_Life_Left. Par cette page:

La valeur RAW de cet attribut est toujours 0 et n'a aucune signification. Vérifiez plutôt la VALEUR normalisée. Il commence à 100 et indique le pourcentage approximatif de vie du SDD restant. Il diminue généralement lorsque les blocs Flash sont marqués comme mauvais, voir la valeur RAW de Retired_Block_Count

Il est vraiment important que vous compreniez parfaitement ce que dit smartctl (8) et que vous ne fassiez pas d'hypothèses. Malheureusement, les outils S.M.A.R.T. ne sont pas toujours à jour avec les derniers SSD et leurs attributs. En tant que tel, il n'y a pas toujours un moyen propre de dire combien de fois les puces ont été écrites Le mieux que vous puissiez faire est de regarder les "Power_On_Hours", qui dans votre cas est "6568", de déterminer votre utilisation moyenne du disque et de faire la moyenne.

Vous devriez être en mesure de rechercher les spécifications de votre lecteur et de déterminer le processus utilisé pour fabriquer les puces. Les puces de processus de 32 nm auront une endurance en écriture plus longue que les puces de processus de 24 nm. Cependant, il semble que "en moyenne", on puisse s'attendre à environ 3 000 à 4 000 écritures, avec un minimum de 1 000 et un maximum de 6 000. Donc, si vous avez un SSD de 64 Go, vous devez vous attendre quelque part dans le voisinage d'un total de 192 To à 256 To écrit sur le SSD, en supposant un niveau d'usure.

Par exemple, si vous maintenez une utilisation de disons 11 Ko/s sur votre disque, vous pouvez vous attendre à voir environ 40 Mo écrits par heure. À 6568 heures de fonctionnement, vous avez écrit environ 260 Go sur le disque. Sachant que vous pourriez probablement maintenir environ 200 TB d'écritures totales, avant l'échec, vous avez environ 600 ans avant l'échec en raison de l'usure des puces. Votre disque échouera probablement en raison de condensateurs usés ou régulation de tension.

19
Aaron Toponce

Pour les SSD Samsung, vérifiez SMART 177 (nombre de niveaux d'usure).

ID # 177 Nombre de niveaux d'usure

Cet attribut représente le nombre d'opérations de programme média et d'effacement (le nombre de fois qu'un bloc a été effacé). Cette valeur est directement liée à la durée de vie du SSD. La valeur brute de cet attribut indique le nombre total de cycles P/E.

Source: http://www.samsung.com/global/business/semiconductor/minisite/SSD/M2M/download/07_Communicating_With_Your_SSD.pdf

L'indicateur de niveau d'usure commence à 100 et diminue linéairement jusqu'à 1 par rapport à ce que je peux dire. À 1, le variateur aura dépassé tous ses cycles P/E nominaux, mais en réalité, l'endurance totale du variateur peut dépasser considérablement cette valeur.

Source: http://www.anandtech.com/show/7173/samsung-ssd-840-evo-review-120gb-250gb-500gb-750gb-1tb-models-tested/

Je vous suggère de prendre cette dernière déclaration sur le dépassement de cette valeur avec un grain de sel.

16
Diaa Sami

Si vous n'avez pas de SSD de marque Intel: soyez prudent !! J'ai un SSD Samsung et j'ai été totalement induit en erreur par un étiquetage d'attributs erroné par smartmontools/smartctl. Si vous avez autre chose qu'Intel - vous pouvez trouver mon histoire de douleur (inane) sur https://askubuntu.com/a/460463/65722 utile.

Que votre rapport qualité-information/temps passé à creuser soit meilleur que le mien!

4
Matt S.

ayant un serveur avec une carte de raid LSI, j'ai 7 SSD Samsung installés.

Il est tel que

  • / dev/sda est mon SSD de système d'exploitation, marqué comme JBOD par Raid Controller.
  • Les 7 autres SSD s'affichent uniquement en tant que/dev/sdb car ils sont RAID 0 (ou RAID-?).

pour obtenir des informations sur les disques derrière un contrôleur de raid l'astuce est de

smartctl --scan

{output is}
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/bus/0 -d megaraid,8 # /dev/bus/0 [megaraid_disk_08], SCSI device
/dev/bus/0 -d megaraid,9 # /dev/bus/0 [megaraid_disk_09], SCSI device
/dev/bus/0 -d megaraid,10 # /dev/bus/0 [megaraid_disk_10], SCSI device
/dev/bus/0 -d megaraid,11 # /dev/bus/0 [megaraid_disk_11], SCSI device
/dev/bus/0 -d megaraid,12 # /dev/bus/0 [megaraid_disk_12], SCSI device
/dev/bus/0 -d megaraid,13 # /dev/bus/0 [megaraid_disk_13], SCSI device
/dev/bus/0 -d megaraid,14 # /dev/bus/0 [megaraid_disk_14], SCSI device
/dev/bus/0 -d megaraid,15 # /dev/bus/0 [megaraid_disk_15], SCSI device

puis pour obtenir les informations smartctl telles que

  • WEAR_LEVELING_COUNT
  • POWER_ON_HOURS
  • TEMPERATURE_CELCIUS et toutes ces autres bonnes choses

pour chaque disque faire

smartctl -d megaraid,8 -all /dev/bus/0
smartctl -d megaraid,9 -all /dev/bus/0
smartctl -d megaraid,10 -all /dev/bus/0
{down to}
smartctl -d megaraid,15 -all /dev/bus/0

la syntaxe de smartctl est smartctl [options] <device>

c'est ainsi que vous entrez et utilisez une carte de raid lorsque plusieurs disques ne s'affichent pas comme plusieurs périphériques tels que/dev/sdb,/dev/sdc,/dev/sdd, etc.

0
ron