Setores atualmente ilegíveis na unidade Linux RAID 5

Setores atualmente ilegíveis na unidade Linux RAID 5

Recebo mensagens inteligentes a cada 30 minutos em /var/log/messages:

smartd[3588]: Dispositivo: /dev/sdc, 176 setores atualmente ilegíveis (pendentes)

Esta unidade (sdc) faz parte do RAID 5 configurado com mdadm. O monitor Mdadm informa que o RAID está ok, mas quero saber se preciso trocar a unidade ou não. Além disso, se for necessário marcar como ruim este setor ou SO já fez isso.

Se eu precisar trocar a unidade, como posso escolher a substituta? Não consigo encontrar o número de blocos nas especificações do disco rígido, então se eu escolher um com menos blocos que o original, terei problemas.

Responder1

Sim, mude a unidade.

Setores ilegíveis (pendentes) são setores cujo conteúdo não pôde ser lido. Em uma situação normal não-RAID, isso resultaria em um erro de leitura ou em um longo atraso enquanto a unidade tenta ler o setor repetidamente até obter êxito (ou até desistir).

Com o RAID, duas coisas estão acontecendo:

  1. Seu disco provavelmente está configurado com um valor TLER curto. Assim, desistirá das suas tentativas de ler esse sector dentro de um prazo razoável. (Evitando assim travamentos longos).
  2. Sua matriz RAID percebe a falha e lê os dados de outro disco. Esta é a vantagem do RAID 5; você tem uma cópia sobressalente.

O que você quer fazer é:

  1. Verifique seus backups. Você não deveria precisar delesse tudo correr bem.
  2. Obtenha um disco de substituição de tamanho igual ou maior. Você pode verificar o tamanho com smartctl -a /dev/sdc. Não presuma que todas as unidades de tamanho X tenham a mesma capacidade. Os fabricantes gostam de números redondos; uma unidade de 500 GB pode ser menor que outra unidade de 500 GB.
  3. Coloque o disco com problemas off-line. ( mdadm --manage --remove /dev/mdX /dev/sdc)
  4. Substitua o disco por um novo hardware e deixe o array se reconstruir. ( mdadm --add /dev/mdX /dev/sdc)

Se você usou discos grandes, isso levará muito tempo. Às vezes é mais rápido reconstruir a matriz RAID do zero e restaurar a partir de backups. (TESTE esses backups primeiro!)

Enquanto o RAID está sendo reconstruído, você não tem redundância. Assim, se outro disco falhar (por exemplo, devido ao estresse da reconstrução), você terá um problema. Isso às vezes acontece com discos grandes (tempos de reconstrução longos) e lotes de unidades da mesma data.

Responder2

A resposta aceita geralmente é boa, mas desde o mdadm 3.3 você pode substituir uma unidade na matriz sem remover primeiro a unidade defeituosa. Se a unidade defeituosa estiver quase sempre legível, isso o protegerá da maioria das falhas duplas.

Supondo que o sdd seja uma nova unidade, em vez dos pontos 3 e 4, faça o seguinte:

  1. Adicione uma nova unidade ao array e substitua a unidade defeituosa pela nova: mdadm /dev/mdX -add /dev/sdd --replace /dev/sdc --with /dev/sdd

Isso acionará uma reconstrução com todos os dados possíveis disponíveis e removerá a unidade antiga/defeituosa quando estiver pronta.

Além disso, ao criar um novo array, é uma boa prática criar 1 partição grande em cada dispositivo físico e criar o array raid nas partições, em vez de no dispositivo bruto.

informação relacionada