Como verificar a vida restante no SSD ou o nível de desgaste do meio?

27

Todos nós sabemos que os SSDs têm um tempo de vida predeterminado limitado. Como faço para verificar no Linux qual é o status de funcionamento atual de um SSD?

A maioria dos resultados de pesquisa do Google pediria que você consultasse S.M.A.R.T. informações para um campo de porcentagem chamado Media_Wearout_Indicator ou outros indicadores jargons como Endurance de dados a longo prazo - que não existem - Sim, verifiquei dois SSDs, ambos não têm esses campos. Eu poderia encontrar um terceiro SSD, mas sinto que os campos não são padronizados.

Para demonstrar o problema, aqui estão os dois exemplos.

Com o primeiro SSD, não está claro qual campo indica o nível de desgaste. No entanto, há apenas um Unknown_Attribute cujo RAW VALUE está entre 1 e 100, portanto, só posso assumir que é isso que estamos procurando:

    $ 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

Portanto, este SSD usou 57% de seu tempo de reescrita, correto?

Com o outro disco, o ATTRIBUTE SSD_Life_Left se destaca, mas seu valor bruto de 0, indicando 0% de vida restante, é improvável para um SSD aparentemente saudável, a menos que esteja em perigo (veremos em alguns dias ), e se ler "0% de vida útil foi usada", também é impossível para um disco rígido desgastado (gasto = usado por mais de um ano).

    > 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
    
por Peer Gynt 26.12.2013 / 16:06

4 respostas

16

No seu primeiro exemplo, o que eu acho que você está se referindo é o "Media Wearout Indicator" em unidades da Intel, que é o atributo 233. Sim, tem um intervalo de 0 a 100, sendo 100 novo, sem uso drive, e 0 sendo completamente desgastado. De acordo com a sua saída, este campo parece não existir.

No seu segundo exemplo, leia os documentos oficiais sobre SSD_Life_Left. Por essa página:

The RAW value of this attribute is always 0 and has no meaning. Check the normalized VALUE instead. It starts at 100 and indicates the approximate percentage of SDD life left. It typically decreases when Flash blocks are marked as bad, see the RAW value of Retired_Block_Count

É muito importante que você entenda o que o smartctl (8) está dizendo e não faça suposições. Infelizmente, o S.M.A.R.T. As ferramentas nem sempre estão atualizadas com os SSDs mais recentes e seus atributos. Como tal, nem sempre há uma maneira limpa de dizer quantas vezes os chips foram gravados. O melhor que você pode fazer, é olhar para o "Power_On_Hours", que no seu caso é "6568", determinar a sua utilização média de disco, e sua média.

Você deve poder pesquisar as especificações de sua unidade e determinar o processo usado para fazer os chips. Os chips de processo de 32nm terão uma resistência de gravação mais longa do que os chips de processo de 24nm. No entanto, parece que "em média", você poderia esperar cerca de 3.000 a 4.000 gravações, com um mínimo de 1.000 e um máximo de 6.000. Então, se você tem um SSD de 64GB, então você deve esperar em algum lugar na vizinhança de um total de 192TB a 256TB escrito no SSD, assumindo o uso de nivelamento.

Por exemplo, se você está sustentando uma utilização de, digamos, 11 KBps em sua unidade, então você pode esperar ver cerca de 40 MB escritos por hora. No 6568 ligado, você gravou aproximadamente 260 GB no disco. Sabendo que você provavelmente poderia sustentar cerca de 200 TB do total de gravações, antes da falha, você tem cerca de 600 anos antes do fracasso devido ao desgaste dos chips. Seu disco provavelmente falhará devido a condensadores desgastados ou regulagem de tensão.

    
por 26.12.2013 / 17:01
13

Para os SSDs da Samsung, verifique o atributo SMART 177 (contagem de nivelamento de desgaste).

ID # 177 Wear Leveling Count

This attribute represents the number of media program and erase operations (the number of times a block has been erased). This value is directly related to the lifetime of the SSD. The raw value of this attribute shows the total count of P/E Cycles.

Fonte: link

The wear level indicator starts at 100 and decreases linearly down to 1 from what I can tell. At 1 the drive will have exceeded all of its rated p/e cycles, but in reality the drive's total endurance can significantly exceed that value.

Fonte: link

Eu sugiro que você tome essa última declaração sobre exceder esse valor com um grão de sal.

    
por 20.03.2015 / 17:49
4

Se você não tiver um SSD da marca Intel: tenha cuidado !! Eu tenho um SSD da Samsung, e eu estava totalmente enganado por rotulagem de atributo errônea por smartmontools / smartctl. Se você tiver alguma coisa, exceto Intel - você pode encontrar a minha história de (inane) dor no link útil.

Que sua proporção de qualidade de informação para escavação de tempo seja melhor que a minha!

    
por 04.05.2014 / 11:06
0

tendo um servidor com uma placa de ataque LSI , tenho 7 SSDs da Samsung instalados.

É tal que

  • / dev / sda é o SSD do meu sistema operacional, marcado como JBOD pelo Raid Controller.
  • Os outros 7 SSDs aparecem apenas como / dev / sdb porque são RAID 0 (ou RAID -?).

para obter informações de discos por trás de um controlador de raid o truque é

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

para obter as informações do smartctl, como

  • WEAR_LEVELING_COUNT
  • POWER_ON_HOURS
  • TEMPERATURE_CELCIUS e todas as outras coisas boas

para cada disco

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

a sintaxe smartctl é smartctl [options] <device>

é assim que você entra e passa por uma placa RAID quando vários discos não aparecem como vários dispositivos, como / dev / sdb, / dev / sdc, / dev / sdd e assim por diante.

    
por 09.10.2018 / 17:09