MTBF & AFR

De Manuais Informática - IES San Clemente.
Ir a la navegación Ir a la búsqueda

Algunhas unidades de disco duro deixan de funcionar prematuramente debido a pezas gastadas, erros eléctricos ou electrónicos ou outros motivos. Os fabricantes de unidades xeralmente especifican un tempo medio entre erros (MTBF) ou una taxa de erros anualizada (AFR) que son estatísticas de poboación que non poden predicir o comportamento dunha unidade individual.

Estes valores calcúlanse executando probas en unidades nun período curto de tempo, analizando o desgaste resultante sobre os compoñentes físicos da unidade e extrapolando para proporcionar unha estimación razonable da súa vida útil.

Definicións

- MTBF - Mean Time Between Failure : Tempo medio que pasa entre dous fallos do sistema.
· É o estándar mundial que estivo presente durante moitos anos. Mídese en condicións controladas o tempo que tarda un disco duro en dar o seu primeiro problema.
. O seu valor é de 30 a 120 anos, o que non nos da un dato moi relevante.
- MTTF - Mean Time To Failure : Especifica en horas o tempo ata que se produce o primeiro fallo nun disco. As expresións MTBF e MTTF son sinónimos para os discos duros.
- AFR - Annualized failure rate : AFR é a porcentaxe (%) probable de faios dun HD nun ano. É dicir, é unha estimación da porcentaxe dos discos que poden fallar nun ano.
- MTTDL – Mean Time To Data Loss : Empregado nos sistemas RAID, e nos indica o tempo entre fallos que produce perda de datos.
- MTTR – Mean Time To Recover : É a media de tempo que lle leva a un array recuperar a redundancia.

Comportamento a medida que pasa o tempo

Os erros dos HDD tenden a seguir unha curva en forma de cunca como a que vemos na imaxe da dereita.

MTBF vs Tempo
- Fallos iniciais: Están relacionados có período de asentamento do equipo. Son fácilmente recoñecibles e solucionados.
- Vida útil: Para os compoñentes dun PC é duns 5 anos e nos HD é calculado en fábrica cunha temperatura de 40ºC e en condicións ideais. Por dicir un dato máis, WD fai as probas asegurando ese MTBF para transferencias de datos de lectura e escritura duns 550TB por ano de funcionamento.
No caso dos SSD, estes non teñen partes móbiles pero as memorias vanse desgastando a medida que se van escribindo e re-escribindo, polo que tamén teñen un AFR moi ligado aos TB escritos por ano.
- Fallos de desgaste: Durante este período fanse evidentes os mecanismos de dano intrínseco de cada tecnoloxía e independentes da construción específica do HD.

MTBF vs AFR

  • Podemos ver un exemplo para un disco como o disco Barracuda ES.2 Near-Line Serial ATA:
Este produto ten un AFR de 0.73%, así o MTBF sería calculado do seguinte xeito:
AFR = 1 – e^(-8760/MTBF)
Pode aproximarse esta ecuación á seguinte sempre e cando AFR sexa moi pequeño (como así é):
AFR = [1/(MTBF/8760)]*100 %
De xeito recíproco, desta ecuación podemos despexar fácilmente o MTBF:
MTBF = 100*8760/AFR
sendo, así, o MTBF de 1.200.000 horas

MTBF e RAID

  • RAID 0
· MTTDL = MTBF / NumDiscos ---- Se todos os discos teñen o mesmo MTBF
  • RAID 1
· Se MTTR = 0 : MTTDL = (MTBF)^NumDiscos
· Se temos MMTR : MTTDL = (MTBF ^ 2) / (NumDiscos * (NumDiscos – 1) * MTTR)
  • RAID 10
· MTTDL = (MTBF ^ 2) / (NumDiscos * (NumDiscos – 1) * MTTR)
  • RAID 5
· MTTDL = (MTBF ^ 2) / (NumDiscos * (NumDiscos – 1) * MTTR)
  • RAID 6
· MTTDL = (MTBF ^ 3) / (NumDiscos * (NumDiscos – 1) * (NumDiscos – 2) * MTTR^2)
  • RAID 50
· Neste caso a Capacidade = CapacidadeDisco * (NumDiscos – k)
· MTTDL = ((MTBF ^ 2) / ((NumDiscos / k) * (NumDiscos / k – 1) * MTTR)) * k
_ k = Número de patas (legs).
  • RAID 60
· Neste caso a Capacidade = CapacidadeDisco * (NumDiscos – (2 * k))
· MTTDL = (MTBF ^ 3) / ((NumDiscos / k) * (NumDiscos / k – 1) * (NumDiscos / k – 2) * MTTR ^ 2) * k
_ k = Número de patas (legs)

S.M.A.R.T.

Os discos duros non duran para sempre e, a menudo, o seu final non se ve vir. Afortunadamente, a maioría dos discos modernos son compatibles cunha tecnoloxía denominada S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) que permite medir a súa propia confiabilidade e determina se está fallando.

Para ver os datos S.M.A.R.T. existen multitude de ferramentas software que, eso sí, teremos que instalar no noso sistema, por exemplo S.M.A.R.T monitoring tools. También podemos ver esos datos empleando comandos PowerShell en Windows y bash en Linux.

  • En Windows temos os seguintes comandos de PowerShell que nos permiten extraer información sobre o funcionamento dos discos:
#Para ver os parámetros SMART básicos dos discos duros (ver se hai "Predicción de fallos nos discos"):
PS> Get-WmiObject -Namespace root\wmi -Class MSStorageDriver_FailurePredictStatus | select InstanceName, Active, PredictFailure, Reason
InstanceName                                                  Active PredictFailure Reason
------------                                                  ------ -------------- ------
SCSI\Disk&Ven_&Prod_KINGSTON_SV300S3\4&23847f61&0&000000_0      True          False      0
SCSI\Disk&Ven_WDC&Prod_WD5000AAKX-001CA\4&23847f61&0&020000_0   True          False      0

#Podemos descubrir outros parámetros dos discos como, por exemplo, a temperatura de funcionamento:
#Ver os discos existintes no equipo
PS> Get-Disk | fl
## E recollendo de aí o parámetro "Number" do disco que nos interese
PS> Get-Disk 0 | Get-StorageReliabilityCounter |fl 
ObjectId                : {1}\\EQ00-TALLER\root/Microsoft/Windows/Storage/Providers_v2\SPACES_StorageReliabilityCounter.ObjectId="{c59729d4-f2a2-11e6-8179-806e6f6e6963}:RC:\\?\scsi#disk&ven_&prod_kingst
                          on_sv300s3#4&23847f61&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}"
PassThroughClass        :
PassThroughIds          :
PassThroughNamespace    :
PassThroughServer       :
UniqueId                : {c59729d4-f2a2-11e6-8179-806e6f6e6963}:RC:\\?\scsi#disk&ven_&prod_kingston_sv300s3#4&23847f61&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
DeviceId                : 0
FlushLatencyMax         : 529
LoadUnloadCycleCount    :
LoadUnloadCycleCountMax :
ManufactureDate         :
PowerOnHours            : 73
ReadErrorsCorrected     : 0
ReadErrorsTotal         : 0
ReadErrorsUncorrected   :
ReadLatencyMax          : 2600
StartStopCycleCount     :
StartStopCycleCountMax  :
Temperature             : 23
TemperatureMax          : 0
Wear                    : 100
WriteErrorsCorrected    :
WriteErrorsTotal        :
WriteErrorsUncorrected  :
WriteLatencyMax         : 2042
PSComputerName          :


#Outro xeito de facer o mesmo:
PS> Get-PhysicalDisk

FriendlyName           SerialNumber     MediaType   CanPool OperationalStatus HealthStatus Usage            Size
------------           ------------     ---------   ------- ----------------- ------------ -----            ----
WDC WD5000AAKX-001CA0  WD-WCAYUH159439  Unspecified False   OK                Healthy      Auto-Select 465.76 GB
KINGSTON SV300S37A240G 50026B775704138A SSD         False   OK                Healthy      Auto-Select 223.57 GB

##Pero neste caso, precisamos o atributo do disco "FriendlyName":

PS> Get-PhysicalDisk FriendlyName "KINGSTON SV300S37A240G" | Get-StorageReliabilityCounter | fl
...
### E obtemos a mesma saida que có comando anterior ###

Enlaces e documentos interesantes

-- Volver