mdadm raid tem sistema de arquivos desconhecido após adicionar novo disco

0

Meu computador está executando o Ubuntu 1804, mas eu sou novo no Linux.
Estou usando o mdadm e criei um raid-5 com 3 unidades de 4 TB (sda, sdb sdc). OS está em um SSD (sde) separado.
Não, eu não tenho um backup. Sim, é estúpido pensar que tudo ficará bem. Mas eu não tenho espaço suficiente para fazer o backup do meu ataque de 8 TB.

Eu queria ter mais espaço no meu ataque, então adicionei outra unidade (sdd) seguindo estas instruções e funcionou.

Um problema que tive foi que o meu ataque desapareceu após cada reinicialização, então pensei que uma reinstalação do mdadm poderia ajudar.
Depois que fiz isso, reiniciei e criei o array com:

sudo mdadm --create --assume-clean --level=5 --raid-devices=4 /dev/md0 /dev/sda /dev/sdb /dev/sdc /dev/sdd

(porque "--assemble --scan" não funcionou) o sistema de arquivos não era mais reconhecido.

Então eu criei o array várias vezes, porque eu li em algum lugar que isso pode acontecer se as unidades estiverem em uma ordem falsa. Isso não funcionou.

Verificando o sistema de arquivos retornou isto:

challenger1304@hannes:~$ sudo fsck /dev/md0 
fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
ext2fs_open2: Bad magic number in super-block
fsck.ext4: Superblock invalid, trying backup blocks...
fsck.ext4: Bad magic number in super-block while trying to open /dev/md0

The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
 or
    e2fsck -b 32768 <device>

Então eu tentei substituir o bad Superblock como a ferramenta me disse para fazer. Para ver onde os backups Superblock podem ser, eu corro "mkfs.ext4 -n / dev / md0" e tentei a maioria deles também. Não funcionou também.

Depois de mais algumas pesquisas, encontrei uma ferramenta chamada "TestDisk", instalei-a e executei-a. Encontrei um monte de partições (só tinha um no ataque) com o rótulo correto. Nestas Partições, onde nenhum arquivo e a ferramenta não poderiam recriar as partições.
Eu fiz isso três vezes depois de recriar a matriz com os discos em uma ordem diferente. Toda vez que o mesmo resultado.

    
por Challenger1304 12.10.2018 / 12:13

1 resposta

2

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!

    
por 12.10.2018 / 14:42