Řešení 1:
S linuxovým softraidem můžete vytvořit pole RAID 10 pouze se dvěma disky.
Níže použité názvy zařízení:
md0
je staré pole typu/úrovně RAID1.md1
je nové pole typu/úrovně RAID10.sda1
asdb2
jsou nové , prázdné oddíly (bez dat).sda2
asdc1
jsou staré oddíly (s důležitými daty).
Nahraďte názvy tak, aby odpovídaly vašemu případu použití. Použijte např. lsblk
pro zobrazení aktuálního rozvržení.
0) Zálohování, zálohování, zálohování, zálohování a ZÁLOHA
1) Vytvořte nové pole (4 zařízení:2 existující, 2 chybějící):
mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing
Všimněte si, že v tomto příkladu rozložení sda1
má chybějící protějšek a sdb2
má další chybějící protějšek. Vaše data na md1
není v tomto okamžiku bezpečný (ve skutečnosti je to RAID0, dokud nepřidáte chybějící členy).
Chcete-li zobrazit rozložení a další podrobnosti o vytvořeném poli, použijte:
mdadm -D /dev/md1
Poznámka! Měli byste uložit rozložení pole:
# View current mdadm config:
cat /etc/mdadm/mdadm.conf
# Add new layout (grep is to make sure you don't re-add md0):
mdadm --detail --scan | grep "/dev/md1" | tee -a /etc/mdadm/mdadm.conf
# Save config to initramfs (to be available after reboot)
update-initramfs -u
2) Formátovat a připojit. /dev/md1
by měl být okamžitě použitelný, ale musí být naformátován a poté připojen.
3) Kopírovat soubory. Použijte např. rsync pro zkopírování dat ze starého RAID 1 do nového RAID 10. (toto je pouze příklad příkazu, přečtěte si manuálové stránky pro rsync)
rsync -arHx / /where/ever/you/mounted/the/RAID10
4) Selhejte 1. část starého RAID1 (md0) a přidejte ji do nového RAID10 (md1)
mdadm /dev/md0 --fail /dev/sda2 --remove /dev/sda2
mdadm /dev/md1 --add /dev/sda2
Poznámka! Tím vymažete data z sda2
. md0
by měl být stále použitelný, ale pouze pokud byl druhý člen raidu plně funkční.
Také si uvědomte, že tím zahájí procesy synchronizace/obnovy na md1
. Pro kontrolu stavu použijte jeden z níže uvedených příkazů:
# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1
Počkejte dokud nebude obnovení dokončeno.
5) Nainstalujte GRUB na nové pole (za předpokladu, že z něj bootujete). Nejlépe fungují některé záchranné/zaváděcí CD pro Linux.
6) Spusťte na novém poli. POKUD TO FUNGOVALO SPRÁVNĚ Zničte staré pole a přidejte zbývající disk do nového pole.
BOD NENÍ NÁVRATU
V tomto okamžiku zničíte data na posledním členu starého pole md0. Buďte si naprosto jisti, že vše funguje.
mdadm --stop /dev/md0
mdadm /dev/md0 --remove /dev/sdc1
mdadm /dev/md1 --add /dev/sdc1
A znovu – počkej do obnovení na md1
je hotovo.
# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1
7) Aktualizujte konfiguraci mdadm
Nezapomeňte aktualizovat /etc/mdadm/mdadm.conf
(odstranit md0).
A uložte konfiguraci do initramfs (aby byla dostupná po restartu)
update-initramfs -u
Řešení 2:
Postupujte stejným způsobem jako Mark Turner, ale při vytváření pole raid uveďte 2 chybějící disky
mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing
A pak pokračujte dalšími kroky.
Stručně řečeno, vytvořte RAID10 s celkem 4 disky (z nichž 2 chybí), znovu synchronizujte a poté přidejte další dva disky.
Řešení 3:
Právě jsem dokončil přechod z LVM na dvou 2TB discích mdadm RAID 1 na LVM na čtyřdiskovém RAID 10 (dva původní + dva nové disky).
Jak poznamenal @aditsu, pořadí jednotek je důležité při vytváření pole.
mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda missing /dev/sdb missing
Výše uvedený kód poskytuje použitelné pole se dvěma chybějícími disky (přidejte čísla oddílů, pokud nepoužíváte celé disky). Jakmile je přidán třetí disk, začne se synchronizovat. Čtvrtý disk jsem přidal před dokončením třetí synchronizace. Zobrazoval se jako náhradní, dokud neskončil třetí disk, pak se začala synchronizovat.
Kroky pro mou situaci:
-
Proveďte dobrou zálohu.
-
Vytvořte degradované 4diskové pole RAID 10 se dvěma chybějícími disky (chybějící disky budeme nazývat #2 a 4).
-
Řekněte manželce, aby neměnila/nepřidávala žádné soubory, na kterých jí záleží
-
Selhejte a odeberte jeden disk z pole RAID 1 (disk 4).
-
Přesuňte fyzické oblasti z pole RAID1 do pole RAID 10 a nechte disk 2 prázdný.
-
Zabijte aktivní pole RAID 1, přidejte nyní prázdný disk (disk 2) do pole RAID 10 a počkejte na dokončení resyncto.
-
Přidejte první disk odebraný z RAID1 (disk 4) do pole RAID 10.
-
Dejte manželce do toho.
Myslím, že v kroku 7 jeďte 1, 2, NEBO 4 může selhat (během opětovné synchronizace disku 4) bez zabití pole. Pokud jednotka 3 selže, data na poli jsou toast.