Você pode alterar a versão dos metadados em uma matriz existente?

21

Portanto, o grub requer metadados versão 0.90. Gostaria de saber se posso alterar minhas matrizes existentes para usar isso em vez do padrão que é 1.2. Dessa forma, não preciso reinstalar. Se sim, como posso fazer isso?

xenoterracida
fonte

Respostas:

5

O wiki do GRUB confirma:

Além disso, (a partir de 1.96 + 20080724), o GRUB pode inicializar apenas a partir do RAID, que usa um superbloco de metadados da Versão 0.90 (isto é, um criado com a opção --metadata = 0.90 para o mdadm).

Curiosamente, a página de manual do mdadm diz

-e, --metadata =

Declare o estilo do superbloco (metadados da invasão) a ser usado. O padrão é 0,90 para --create e adivinhar para outras operações.

Eu checaria mdadm -Q -D <device>para ter certeza.

Depois disso, qual nível de RAID você está executando? O melhor cenário em que posso pensar em um espelho (RAID 1) seria

  1. Faça backups
  2. Desmontar matriz 0
  3. Remova o dispositivo A da matriz 0 de ndispositivos
  4. Zero superbloco no dispositivo A
  5. Crie a matriz 1 usando o dispositivo A e n-1peças de reposição, explicitamente usando o antigo formato de superbloco
  6. Repita o procedimento para os demais B através dos n-1dispositivos
  7. (Opcional) renumerar a matriz

... mas definitivamente verifique se você absolutamente precisa continuar com isso!

Andrew
fonte
então eu confirmei isso há muito tempo. Estou executando o raid10, f2. obviamente, recriar a matriz era o que eu estava tentando evitar.
Xenoterracide
Você já tentou a linux-raid at vger.kernel.orglista de discussão?
Andrew
estranho que eu não recebi uma notificação sobre isso. não, eu não tentei. Acabei de limpar e recriei a matriz. Eu vou aceitar essa resposta com o curta solução de ser NO ou talvez (ridiculamente difícil)
xenoterracide
16

Essa informação provavelmente é tarde demais para ajudar o OP, mas talvez ajude outra pessoa.

O primeiro comando limpa os super blocos e o segundo comando cria uma nova matriz, mas assume que os dispositivos estão limpos. Acabei de realizar isso e tudo parece estar bem. Eu recomendaria definitivamente um backup antes de fazer isso. Eu não tinha dados a perder e, portanto, nenhuma integridade a verificar. Eu só queria evitar mais 4 horas de ressincronização.

$ mdadm --zero-superblock /dev/sd[a-z]1
$ mdadm --create /dev/md0 --assume-clean \
    --level=10 --raid-devices=10 /dev/sd[a-z]1 --metadata=0.90
Vex Mage
fonte
1
provavelmente demasiado tarde para o OP, mas você me salvou, obrigado pela sua resposta
neofutur
7

Criar uma matriz com metadados assumidos limpos e inconsistentes, como sugerido acima, certamente tem potencial para danificar os dados existentes, pois os blocos de metadados 0,90 e 1,2 não diferem apenas em tamanho, mas também em localização.

pode funcionar para 0,90 <-> 1,0, que é uma exceção.

https://raid.wiki.kernel.org/index.php/RAID_superblock_formats

masc
fonte