Řešení 1:
Tato informace je asi příliš pozdě na to, aby pomohla OP, ale třeba pomůže někomu jinému.
První příkaz vymaže superbloky a druhý příkaz vytvoří nové pole, ale předpokládá, že zařízení jsou čistá. Právě jsem to provedl a vše se zdá být v pořádku. Před tím bych určitě doporučil zálohu. Neměl jsem žádná data, která bych mohl ztratit, a tudíž ani integritu ke kontrole. Jen jsem se chtěl vyhnout další 4hodinové opětovné synchronizaci.
$ 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
Řešení 2:
Vytváření pole s předpokládanými čistými a nekonzistentními metadaty, jak bylo navrženo výše, má jistě potenciál poškodit stávající data, protože bloky metadat 0,90 a 1,2 se liší nejen velikostí, ale také umístěním.
může fungovat za 0,90 <-> 1,0, což je výjimka.
https://raid.wiki.kernel.org/index.php/RAID_superblock_formats
Řešení 3:
Wiki GRUB potvrzuje:
Také (od 1.96+20080724) GRUB může bootovat pouze z RAID, který používá superblok metadat verze 0.90 (tj. blok vytvořený s volbou --metadata=0.90 pro mdadm).
Zajímavé je, že manuálová stránka pro mdadm říká
-e , --metadata=
Deklarujte styl superbloku (metadata raidu), který se má použít. Výchozí hodnota je 0,90 pro --create a pro ostatní operace pro odhad.
Zkontroloval bych to pomocí mdadm -Q -D <device>
pro jistotu.
Poté, jakou úroveň RAID používáte? Nejlepší scénář, který mě pro zrcadlení (RAID 1) napadá, by byl
- Vytvářejte zálohy
- Odpojte pole 0
- Odeberte zařízení A z pole 0 z
n
zařízení - Nulový superblok na zařízení A
- Vytvořte pole 1 pomocí zařízení A a
n-1
náhradní díly, výslovně používající starý formát superblock - Opakujte pro zbývající B až
n-1
zařízení - (Volitelné) přečíslujte pole
... ale rozhodně si ověřte, že to musíte bezpodmínečně projít!