A Synology possui uma versão personalizada do driver md e dos conjuntos de ferramentas mdadm que adicionam um sinalizador 'DriveError' à estrutura de sinalizadores rdev-> no kernel.
Efeito líquido - se você tiver a infelicidade de obter uma falha na matriz (primeira unidade), combinada com um erro em uma segunda unidade - a matriz entra no estado de não permitir reparar / reconstruir a matriz, mesmo que as leituras da unidade estejam funcionando bem.
Neste ponto, não estou realmente preocupado com essa questão do ponto de vista dessa matriz, pois já retirei o conteúdo e pretendo reconstruir, mas mais por querer ter um caminho de resolução para isso no futuro , já que é a segunda vez que eu passo por isso e sei que já vi outras pessoas fazendo perguntas semelhantes em fóruns.
O suporte a Synology tem sido pouco útil (e geralmente não responde) e não compartilha nenhuma informação sobre como lidar com os ataques da caixa.
Conteúdo de / proc / mdstat:
ds1512-ent> cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]
md2 : active raid5 sdb5[1] sda5[5](S) sde5[4](E) sdd5[3] sdc5[2]
11702126592 blocks super 1.2 level 5, 64k chunk, algorithm 2 [5/4] [_UUUE]
md1 : active raid1 sdb2[1] sdd2[3] sdc2[2] sde2[4] sda2[0]
2097088 blocks [5/5] [UUUUU]
md0 : active raid1 sdb1[1] sdd1[3] sdc1[2] sde1[4] sda1[0]
2490176 blocks [5/5] [UUUUU]
unused devices: <none>
Status de um mdadm --detail / dev / md2:
/dev/md2:
Version : 1.2
Creation Time : Tue Aug 7 18:51:30 2012
Raid Level : raid5
Array Size : 11702126592 (11160.02 GiB 11982.98 GB)
Used Dev Size : 2925531648 (2790.00 GiB 2995.74 GB)
Raid Devices : 5
Total Devices : 5
Persistence : Superblock is persistent
Update Time : Fri Jan 17 20:48:12 2014
State : clean, degraded
Active Devices : 4
Working Devices : 5
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 64K
Name : MyStorage:2
UUID : cbfdc4d8:3b78a6dd:49991e1a:2c2dc81f
Events : 427234
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 21 1 active sync /dev/sdb5
2 8 37 2 active sync /dev/sdc5
3 8 53 3 active sync /dev/sdd5
4 8 69 4 active sync /dev/sde5
5 8 5 - spare /dev/sda5
Como você pode ver - / dev / sda5 foi adicionado novamente à matriz. (Foi a unidade que falhou completamente) - mas mesmo que o md veja a unidade como uma reposição, ela não será reconstruída. / dev / sde5, nesse caso, é a unidade problemática com o estado (E) DiskError.
Eu tentei parar o dispositivo md, executar remontagens de força, remover / ler sda5 do dispositivo / etc. Nenhuma mudança de comportamento.
Consegui recriar completamente a matriz com o seguinte comando:
mdadm --stop /dev/md2
mdadm --verbose \
--create /dev/md2 --chunk=64 --level=5 \
--raid-devices=5 missing /dev/sdb5 /dev/sdc5 /dev/sdd5 /dev/sde5
que trouxe a matriz de volta a esse estado:
md2 : active raid5 sde5[4] sdd5[3] sdc5[2] sdb5[1]
11702126592 blocks super 1.2 level 5, 64k chunk, algorithm 2 [5/4] [_UUUU]
Em seguida, adicionei novamente / dev / sda5:
mdadm --manage /dev/md2 --add /dev/sda5
após o qual iniciou uma reconstrução:
md2 : active raid5 sda5[5] sde5[4] sdd5[3] sdc5[2] sdb5[1]
11702126592 blocks super 1.2 level 5, 64k chunk, algorithm 2 [5/4] [_UUUU]
[>....................] recovery = 0.1% (4569508/2925531648) finish=908.3min speed=53595K/sec
Observe a posição da unidade "ausente" que corresponde à posição exata do slot ausente.
Quando isso terminar, acho que provavelmente puxarei a unidade questionável e a reconstruiremos novamente.
Estou procurando sugestões para saber se existe alguma maneira "menos assustadora" de fazer esse reparo - ou se alguém passou por essa experiência com uma matriz Synology e sabe como forçá-la a reconstruir, além de colocar o dispositivo md offline e recriar a matriz do zero.
fonte
Respostas:
Apenas uma adição à solução que encontrei após o mesmo problema. Segui o post do dSebastien no blog sobre como recriar a matriz:
Descobri que esse método de recriar a matriz funcionava melhor que o método acima. No entanto, após recriar a matriz, o volume ainda não estava aparecendo na interface da web. Nenhum dos meus LUNs estava aparecendo. Basicamente, mostrando uma nova matriz com nada configurado. Entrei em contato com o suporte da Synology e eles remotaram para corrigir o problema. Infelizmente, eles foram remotados enquanto eu estava longe do console. Eu consegui capturar a sessão e examinei o que eles fizeram. Enquanto tentava recuperar alguns dos meus dados, a unidade travou novamente e eu estava de volta na mesma situação. Recriei a matriz como no blog do dSebastien e depois examinei a sessão de sinologia para realizar sua atualização. Depois de executar os comandos abaixo, minha matriz e os LUNs apareceram na interface da web e eu pude trabalhar com eles. Eu tenho praticamente nenhuma experiência no linux, mas esses foram os comandos que eu executei na minha situação. Espero que isso possa ajudar outra pessoa, mas use isso por sua conta e risco. É melhor entrar em contato com o suporte da Synology e pedir que eles resolvam isso para você, pois essa situação pode ser diferente da sua.
fonte
Outra adição: eu encontrei um problema muito semelhante com o meu dispositivo de disco único / RAID nível 0.
O suporte à Synology foi muito útil e restaurou meu dispositivo. Aqui está o que aconteceu, espero que isso ajude outras pessoas:
Meu disco tinha erros de leitura em um bloco específico, as mensagens no log do sistema (
dmesg
) eram:Alguns segundos depois, recebi as
Volume 1 has crashed
mensagens terríveis do meu dispositivo.- Isenção de responsabilidade: Substitua o nome do dispositivo pelo seu e não copie e cole esses comandos, pois isso pode piorar as coisas! -
Depois de parar o smb, eu pude montar novamente a partição somente leitura e executar o e2fsk com badblocks check (
-c
):(também era
e2fsck -C 0 -p -v -f -c /dev/md2
possível executar o mais autônoma possível, embora isso não tenha funcionado no meu caso, porque os erros precisavam ser corrigidos manualmente. Portanto, tive que reiniciar o e2fsck. Conclusão: -p não faz muito sentido em caso de erro no disco)Embora o e2fsck tenha conseguido corrigir os erros e o smartctl também não tenha mostrado mais aumento no Raw_Read_Error_Rate, o volume ainda não seria montado no modo de leitura e gravação pelo dispositivo. O DSM ainda mostrou "o volume travou"
Então eu abri um ticket com suporte. Demorou um pouco para que as coisas funcionassem primeiro, mas no final elas o consertaram, reconstruindo a matriz RAID com:
Certifique-se de verificar o nome do seu dispositivo (
/dev/mdX
e/dev/sdaX
) antes de fazer qualquer coisa.cat /proc/mdstat
mostrará as informações relevantes.fonte