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
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.
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.
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.
Je vous suggère de prendre cette dernière déclaration sur le dépassement de cette valeur avec un grain de sel.
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!
ayant un serveur avec une carte de raid LSI, j'ai 7 SSD Samsung installés.
Il est tel que
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
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.