o que é exatamente um URE?


13

Ultimamente, tenho estudado RAID5 Vs RAID6 e continuo vendo que o RAID5 não é mais seguro o suficiente por causa das classificações de URE e do tamanho crescente das unidades. Basicamente, a maior parte do conteúdo encontrado diz que, no RAID5, se houver uma falha no disco, se o restante de sua matriz for de 12 TB, você terá quase 100% de chance de encontrar um URE e perder seus dados.

A figura de 12 TB vem do fato de os discos serem classificados em 10 ^ 14 bits lidos para atingir um URE.

Bem, há algo que eu não entendo aqui. Uma leitura é feita pelo chefe que está no setor, o que pode fazer a leitura falhar é o chefe que morre ou o setor morre. também pode ser que a leitura não funcione por algum outro motivo (não sei, como uma vibração que fez a cabeça pular ...). então, deixe-me abordar todas as três situações:

  • a leitura não funciona: isso não é irrecuperável, certo? pode ser tentado novamente.
  • a cabeça morre: isso com certeza seria irrecuperável, mas isso também significa que o prato cheio (ou pelo menos o lado) seria ilegível, seria mais alarmante, não?
  • o setor morre: também totalmente irrecuperável, mas aqui não entendo por que o disco de 4 TB é classificado em 10 ^ 14 para o URE e o 8TB também é classificado em 10 ^ 14 para o URE, isso significaria os setores no 8TB (provavelmente nova tecnologia) são metade da confiabilidade dos 4TB, o que não faz sentido.

Como você vê, dos três pontos de falha identificados, nenhum faz sentido. Então, o que exatamente é um URE, quero dizer concretamente?

Existe alguém que possa me explicar isso?

Editar 1

Após a primeira onda de respostas, parece que o motivo está falhando. O bom é que o firmware, o controlador RAID e o sistema de arquivos OS + possuem procedimentos para detectar isso e realocar os setores mais cedo.

Bem, agora eu sei o que é um URE (na verdade, o nome é bastante auto-explicativo :)).

Ainda estou intrigado com as causas subjacentes e principalmente com a classificação estável que elas dão.

Alguns atribuíram o setor defeituoso a fontes externas (ondas cósmicas). Surpreende-me então que a taxa de URE seja então baseada na contagem de leituras e não na idade; as ondas cósmicas devem realmente impactar mais um disco mais antigo simplesmente porque foi exposto mais, acho que isso é mais uma fantasia, embora eu possa estar errado.

Agora vem a outra razão que se relaciona ao desgaste do disco e alguns apontam que densidades mais altas dão domínios magnéticos mais fracos, que fazem totalmente sentido e eu seguiria a explicação. Porém, como é bem explicado aqui , os discos mais novos tamanhos diferentes são obtidos principalmente pela colocação de mais ou menos do mesmo prato (e depois da mesma densidade) no chassi do disco rígido. Os setores são os mesmos e todos devem ter a mesma confiabilidade; portanto, os discos maiores devem ter uma classificação mais alta que os discos menores, com os setores sendo menos lidos; esse não é o caso, por que? Isso explicaria por que os discos mais novos com tecnologia mais recente não obtêm uma classificação melhor do que os antigos, simplesmente porque o melhor ganho em tecnologia é compensado pela perda devido à maior densidade.


Após o "URE e para perder seus dados" (e posso estar errado), um URE significa apenas que alguns dados são perdidos, não todos - e você pode tentar a reconstrução novamente depois de acessar o URE. Dito isto, o raid 10 ou zfs é um pouco do que está atualmente.
Sirex

1
"os setores [nos discos mais novos] são metade da confiabilidade dos [nos antigos], isso não faz sentido ". Não sei se concordo. À medida que as zonas magnéticas se tornam cada vez menores (o que implica maior densidade de dados no pacote de mesmo tamanho), é muito razoável que se tornem cada vez mais suscetíveis a apagamento acidental (emissões locais de raios gama, evento de raios cósmicos e assim por diante). Essa crescente suscetibilidade das unidades modernas é o motivo pelo qual nenhum de nós implantaria unidades não RAID em tudo o que importa, e uma das razões pelas quais a maioria de nós desistiu do RAID-5.
MadHatter


O verdadeiro problema aqui é que muitas matrizes RAID estão transformando um único URE em um erro de toda a matriz. Um único URE deve causar a perda de um único bloco RAID. Deixe o sistema de arquivos descobrir se esse bloco estava em uso, é provável que realmente não importe.
MSalters

1
@Memes não, os números são cancelados. O dobro de setores também tem o dobro de oportunidades de falha; portanto, a mesma taxa de erro de leitura é igual à mesma confiabilidade por byte. É por isso que é usado em primeiro lugar.
Hbbs #

Respostas:


12

Um URE é um erro de leitura irrecuperável. Aconteceu algo que causou uma falha na leitura de um setor que a unidade não pode corrigir. Os componentes eletrônicos da unidade são sofisticados; eles apenas transmitem os dados se tiverem conseguido lê-los corretamente no disco. O sistema eletrônico do inversor tentará várias vezes ler um setor defeituoso antes de declarar danificado.

O que causa o erro de leitura - eu não sou um especialista aqui (o movimento do braço se segue), mas impulsionar o envelhecimento pode fazer com que as tolerâncias de fabricação se tornem relevantes. Domínios magnéticos podem ficar enfraquecidos. Os raios cósmicos podem causar danos, etc. Essencialmente, é uma falha aleatória.

Como isso afeta o RAID 5?

Um RAID 5 consiste em distribuição de nível de bloco com paridade distribuída. Os blocos de paridade são calculados XORing os bits dos blocos de dados juntos. A função XOR basicamente diz que, se todos os bits forem iguais, o resultado será 0, caso contrário, será 1. Ao calcular a paridade, você pega os 2 primeiros bits e os XOR e, em seguida, XOR, em seguida, XOR o resultado com o próximo bit e assim por diante, por exemplo

1010   data      or    1010 data
1100   data            1100 data
0110   parity          0011 data
                       0101 parity

A natureza da função XOR é tal que, se algum disco morre e é substituído, os dados que deveriam estar nele podem ser reconstruídos a partir dos discos restantes.

1010  data       or    1010 data
      damaged               damaged
0101  parity           0011 data
                       0101 parity

Como você pode ver, os dados danificados podem ser reconstruídos pelo XOR, com os dados e a paridade restantes.

Como um URE afeta isso?

Um URE é significativo apenas durante uma reconstrução do RAID 5.

Quando você reconstrói um RAID 5, há uma grande quantidade de leituras a serem feitas. Todo bloco de dados precisa ser lido para reconstruir os dados no novo disco. Se ocorrer um URE, os dados do bloco relevante não poderão ser recuperados, portanto seus dados serão inconsistentes. Para discos suficientemente grandes em um R5 suficientemente grande, o número de bits lidos para reconstruir o disco substituído excede o valor URE de, por exemplo, 1 bit em 10 ^ 14 lidos.


2
Um único disco de 8 TB possui mais de 6 * 10 ^ 13 bits, portanto, com apenas três desses discos em um RAID-5, um URE é mais provável do que durante uma reconstrução. Ah, e +1 de mim.
MadHatter

3
A alegação (escrita na pergunta e em algumas respostas e comentários, também em outras perguntas, de fato em toda a Internet) de que, após a leitura de 12 TB, um erro de leitura é quase certo é falsa. Não acredita nisso? Não. Sei. Lendo 12 (ou mais) TB de qualquer um dos seus discos e observando que nenhum erro ocorreu. Por favor, faça isso e pare com esse mito. Obrigado.
David Balažic

1
@IanKemp Não, não é. Eu tentei. Você obviamente não. (também, a melhor classificação apenas se move o mito um pouco, nenhuma mudança real)
David Balažic

1
@ DavidBalažic Evidentemente, o tamanho de uma amostra invalida toda a teoria das probabilidades! Eu sugiro que você envie um documento para o Comitê Nobel.
Ian Kemp

1
@IanKemp Se alguém afirma que todos os números são divisíveis por 7 e eu acho UM que não é, então sim, uma única descoberta pode invalidar uma teoria inteira. Aliás, ainda não há uma única pessoa que confirmou o mito na prática (por experimento), confirmou? Por que deveriam, quando a crença é mais do que o conhecimento ...
David Balažic

9

Então, o que exatamente é um URE, quero dizer concretamente?

Os discos rígidos não armazenam simplesmente os dados solicitados. Devido ao tamanho cada vez menor do domínio magnético e ao fato de os discos rígidos armazenarem dados de maneira analógica e não binária (o firmware do disco rígido recebe um sinal analógico do prato, que é traduzido em um sinal binário, e essa tradução é parte do molho secreto do fabricante), existe quase sempre algum grau de erro em uma leitura, que deve ser compensado.

Para garantir que os dados possam ser lidos novamente, o disco rígido também armazena dados avançados de correção de erros junto com os dados que você pediu para armazenar.

Sob operações normais, os dados do FEC são suficientes para corrigir os erros no sinal que é lido novamente no prato. O firmware pode reconstruir os dados originais e está tudo bem. Esse é um erro de leitura recuperável exposto no SMART como atributo da taxa de erro de leitura (atributo SMART 0x01) e / ou ECC de hardware recuperado (atributo SMART 0xc3).

Se, por algum motivo, o sinal se degradar abaixo de um certo ponto, os dados do FEC não são mais suficientes para reconstruir os dados originais. Nesse ponto, continua a teoria, o firmware ainda será capaz de detectar que os dados não podem ser lidos de forma confiável, mas não podem fazer nada a respeito. Se várias dessas leituras falharem, o disco deverá informar de alguma forma o restante do computador que a leitura não pôde ser realizada com êxito. Isso é feito sinalizando um erro de leitura irrecuperável . Isso também aumenta o contador Erros incorrigíveis relatados (atributo SMART 0xbb).

Um erro de leitura irrecuperável, ou URE, é simplesmente um relatório que, por qualquer motivo, os dados da carga útil mais os dados do FEC eram insuficientes para reconstruir os dados armazenados originalmente.

Lembre-se de que as taxas de URE são estatísticas . Você não encontrará nenhum disco rígido onde possa ler exatamente 10 ^ 14 (ou 10 ^ 15) - 1 bits com sucesso e o próximo bit falhará. Em vez disso, é uma declaração do fabricante que, em média , se você ler (digamos) 10 ^ 14 bits, em algum momento durante esse processo, encontrará um setor ilegível.

Além disso, seguindo as últimas palavras acima, lembre-se de que as taxas de URE são fornecidas em termos de setores por bits lidos . Devido à maneira como os dados são armazenados nos pratos, o disco não pode dizer qual parte de um setor é ruim; portanto, se um setor falhar na verificação do FEC, todo o setor será considerado ruim.


OK, parece indicar que o setor está falhando. Eu entendo totalmente as estatísticas, não se preocupe. Também vejo aqui que a confiabilidade do setor diminui à medida que a densidade aumenta, mas isso ainda não faz sentido. Os discos mais recentes geralmente têm a mesma densidade de pratos, independentemente do tamanho físico, os 4 TB terão apenas menos pratos que os 6 TB. Basicamente, os setores são os mesmos; portanto, por que o 8 TB não é capaz de atingir estatisticamente um valor mais alto, existem duas vezes mais setores para que cada um seja lido pela metade (estatisticamente). eles deveriam falhar menos, não?
Memes 4/04

3

o setor morre: também totalmente irrecuperável, mas aqui não entendo por que o disco de 4 TB é classificado em 10 ^ 14 para o URE e o 8TB também é classificado em 10 ^ 14 para o URE, isso significaria os setores no 8TB (provavelmente nova tecnologia) são metade da confiabilidade dos 4TB, o que não faz sentido.

A especificação geralmente é "em média 1 erro é detectado durante a leitura de n bits", portanto, o tamanho da unidade não importa. É importante se você calcular o risco de que ocorra um erro na unidade e na carga de trabalho, mas o fabricante afirma apenas que são necessários n bits de leitura para encontrar um erro (em média, não garantido).

Exemplo: se você comprar uma unidade de 1 TB, será necessário lê-la cerca de 12 vezes para encontrar um erro, enquanto uma unidade de 8 TB poderá experimentá-la na segunda leitura - mas o número de bits lidos é o mesmo nas duas vezes, portanto, a qualidade dos eixos magnéticos é aproximadamente o mesmo.

O que você paga com o aumento do preço são outros fatores, capacidade de colocar 8 TB no espaço físico de 1 TB, consumo de energia bastante reduzido, menos colisões de cabeça enquanto move o inversor, etc.


0

Acho que @Michael Kjörling respondeu claramente.

Quando o disco é lido, a cabeça detecta a direção do domínio magnético e envia algum sinal eletrônico, que é analógico. Assumimos que o firmware deve dar 1 quando receber uma tensão maior que 0,5V, mas o campo magnético é muito fraco, portanto a cabeça envia um sinal apenas com 0,499V, um erro encontrado. Precisamos do FEC para corrigir este erro.

Aqui está um exemplo: um dado do setor deve ser 0x0F23, nós o codificamos com 0 * 1 + F * 2 + 2 * 3 + 3 * 4 = 0x30. agora temos o FEC e escrevemos depois do setor. Quando lemos, lemos 0x0E23 e FEC 0x30, não coincidem. Após alguns cálculos, descobrimos que deveria ser 0x0F23. Mas se obtivemos 0x0E13 e 0x30, OU obtivemos 0x0E23 e 0x32, não podemos calcular o correto.

Essa classificação é tão baixa, talvez, a menos que o fabricante do HDD leia os PBs, os dados dos EBs possam obter um valor estável. Portanto, eles fornecem o valor da probabilidade: quando você lê dados de 10 ^ 14 bits, pode encontrar uma vez. Como é um valor de probabilidade, talvez você tenha se achado depois de ler apenas 1 dado do setor, talvez tenha encontrado até ler 50TB. E esse valor não teve nada com a capacidade do disco, apenas uma preocupação casual com o tamanho dos dados que você lê. Se você ler um disco de 4 TB cheio de dados 6 vezes, essa chance será igual a ler um disco de 6 TB 4 vezes ou ler um disco de 8 TB 3 vezes.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.