Como determinar o número de ciclos de gravação ou a vida esperada para o SSD no Linux?

10

Há algum tempo que trabalhamos com um SSD (Intel X25-M) em um servidor Linux (RHEL 5), mas nunca fizemos nenhum esforço para descobrir em quanto carga de gravação ele estava no último ano. Existe alguma ferramenta no Linux para nos dizer aproximadamente quanto foi gravado no disco ao longo do tempo ou (ainda melhor) quanto desgaste acumulou? Apenas procurando por uma dica para ver se está perto da morte ou não ...

    
por JZeta 28.09.2011 / 01:20

4 respostas

13

Os SSDs da Intel mantêm estatísticas sobre o total de gravações e a duração provável da vida útil.

O seguinte é de um 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

O valor bruto Host_Writes_32MIB mostra quantas unidades de dados de 32 MiB foram gravadas nesta unidade.

O valor de Media_Wearout_Indicator mostra uma porcentagem normalizada de até onde a unidade útil é útil. Isso começa em 100 (ou 099, esqueço que), e prossegue até 001, ponto em que a Intel considera que o disco excedeu sua vida útil. A Intel também usa o MWI como parte das solicitações de garantia - quando o MWI atingir 001, a garantia expirará.

O MWI chegando a 001 não significa que o drive irá falhar imediatamente! A Intel terá tolerância embutida para lidar com as variações nas unidades de flash. Já vi discos durarem muito além desse ponto e estou testando ativamente alguns SSDs da série 320 da Intel para ver quanto tempo eles duram.

No entanto, como a garantia expira quando o MWI atinge 001, eu substituo qualquer unidade nesse ponto.

    
por 17.10.2011 / 00:03
6

Os acionamentos da Corsair também exportam um indicador similar de porcentagem de vida-esquerda. No caso deles, é o atributo 231:

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

(Note que se o smartctl estiver exibindo isso como uma Temperatura você precisa atualizar o banco de dados do seu dispositivo. No meu sistema Debian isso significa rodar /usr/sbin/update-smart-drivedb )

Um post do blog da Corsair parece mostrar que o valor nunca fica abaixo de 10 % então eu presumo que deve ser substituído a 10%.

Eu também tenho uma unidade OCZ com o mesmo controlador Sandforce que também exporta o mesmo valor SSD_Life_Left.

    
por 17.10.2012 / 21:05
3

O Media_Wearout_Indicator é o que você está procurando. Por 100 significa que seu ssd tem 100% de vida, o menor número significa menos tempo de vida.

# smartctl -a /dev/sda | grep Media_Wearout_Indicator

Saída do meu laptop

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

Se você quiser ver mais detalhes e atributos completos da sua unidade, você pode executar

# smartctl -data -A /dev/sda

e a saída

# 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

link

    
por 27.11.2013 / 07:45
1

Não realmente. Se a unidade não mantiver estatísticas, você não saberia com certeza. Mesmo assim, a unidade iria abstrair os algoritmos de nivelamento de gravação e tal para tentar otimizar as coisas sob o capô, longe das chamadas do sistema e interfaces. Em outras palavras, a unidade poderia mentir facilmente para você sobre onde os dados são realmente gravados na "mídia", para que você não saiba quais células estão recebendo atividade.

Isso ainda não garante quando / se você perceber falhas ou erros. Drive pode falhar amanhã, pode falhar em três anos.

A melhor aposta é mantê-lo em uma configuração RAID e ter um plano para substituí-lo quando falhar (antes que a outra unidade falhe) e verifique se seus backups estão atualizados.

    
por 28.09.2011 / 01:28

Tags