Prefácio
I am using mdadm and created a raid-5 with 3x 4TB drives (sda, sdb sdc)
Usar o raid5 com drives tão grandes é pesquisar problemas. Você pode encontrar muitos avisos contra fazer isso aqui e ali na Internet, mas vou avisá-lo mais uma vez: seus dados estão em perigo. Uma vez que um dos discos na matriz raid5 falhar, você fica sem nenhuma redundância. Depois de inserir um novo sobressalente e iniciar o processo de ressincronização, a chance de outro disco apresentar um erro de leitura é alta. Quando isso acontecer, seus dados desaparecem.
Em seguida, outra sugestão: eu sempre faço arrays RAID de partições, não de discos inteiros. Mas isso é algo como uma "preferência", que estou seguindo desde quando soube do ataque mdadm. Na verdade, todos os meus discos contêm mais de um RAID (exemplo: uma primeira partição no RAID1 com o SO, depois outra para um RAID maior).
No, I don't have a backup. Yes it is stupid to think that everything will be okay. But I don't have enough space to backup my 8TB raid.
Feira suficiente. Isso significa que você não se importa muito se perder esses dados, especialmente durante uma operação tão delicada como o crescimento / reformulação de uma matriz de ataque. Como você pode ver no Linux RAID Wiki sobre o crescimento de um array , o primeiro funciona logo após o título do capítulo são:
BACK UP. BACK UP !! BACK UP !!!!
De volta aos negócios
Vamos tentar entender o que aconteceu durante as etapas descritas aqui.
A problem I have was, that my raid disappeared after each reboot
Isso deveria ter feito você parar e dizer: o que há de errado? Vamos consertar isso antes que eu perca todos os meus dados.
Provavelmente você esqueceu de preencher ou, melhor ainda, atualizar seu arquivo /etc/mdadm/mdadm.conf
com uma linha semelhante a:
ARRAY /dev/md/0 metadata=1.2 UUID=deadbeef:deadbeef:deadbeef:deadbeef name=myhostname:0
que você pode gerar usando
mdadm --detail --scan
E, provavelmente, você precisaria do seu initramfs atualizado. No Debian, você pode fazer isso com
update-initramfs -u
so I thought that a reinstall of mdadm could help.
Nenhuma ajuda.
After i did that, rebootet and created the array with:
sudo mdadm --create --assume-clean --level=5 --raid-devices=4 /dev/md0 /dev/sda /dev/sdb /dev/sdc /dev/sdd
Oh não. Uau, você agora substituiu o superbloco RAID em todos os seus quatro discos. Seus dados ainda estão lá, mas você substituiu as informações que informam ao mdadm o layout de sua matriz RAID. Supondo que o superbloco antigo e o novo fossem da mesma versão (1.2), você poderia recuperar essa situação sobrescrevendo os superquadros RAID com um backup dos discos originais.
(because "--assemble --scan" didn't work)
Isso deve ter impedido você de continuar e pesquisar mais informações sobre o erro retornado. Muito provavelmente, o layout dos dados nas unidades não era o que o mdadm esperava, ou algo semelhante. Não é um grande problema em si.
Then I have created the array multiple times, because I read somewhere that this can happen if the drives are in a false order. This didn't work.
Você substituiu o superbloco RAID em todos os discos, repetidas vezes. Nenhuma mudança em seus dados (supondo que o antigo e o novo superbloco RAID tenham a mesma versão)
Then I tried to replace the bad Superblock like the tool told me to do.
Oh querida, não, não, não! Você começou a corromper seus dados aqui. Não há nenhuma chance de recuperar todos os seus dados intactos agora, já que você escreveu esses dados em uma posição desconhecida (com relação ao layour original do array adulto).
After some more research I found a tool called "TestDisk", installed it and run it. Found a lot of partitions (only had one on the raid) with the correct label. In these Partitions where no files and the tool could't recreate the partitions.
Essa ferramenta está sendo lida diretamente pelo dispositivo de bloco (a matriz RAID), sem usar um sistema de arquivos, e provavelmente está olhando para alguns dados que são compostos de blocos que estão na ordem errada. Totalmente sem significado.
Agora o que?
Acho que você pode dizer adeus aos dados antigos. Mas, como você simplesmente escreveu poucos dados na matriz, há uma chance de recuperar os dados, assim que você descobrir como a matriz original, criada, foi configurada. Isso inclui descobrir:
- O tamanho da matriz
- O layout da matriz (esquerda simétrica, etc.)
- O tamanho da faixa
- A ordem do disco
Sem um backup dos superquadros RAID, será muito difícil. Infelizmente, você aprendeu a sugestão "faça um backup" da maneira mais difícil. Boa sorte!