Nakonec mi to nedalo a ledy se prolomily. Otestoval jsem obě varianty a obě proběhly dobře. Někomu se může hodit 1. někomu 2. Postup zde tedy popíši uceleně a téma tím uzavřu s poděkováním všem co se zde zapojili. Postup platí pro přesuny v ramci jednoho a toho samého stroje.
1. varianta - ponechání oddílů tak jak jsou, pouze výměna disků v raidu za větší.
Nejprve tedy vyřadíme jeden z disků v raid 1 se dvěma oddíly např. (md0=/, md1=/data)
mdadm -f /dev/md0 /dev/sdb1
mdadm -r /dev/md0 /dev/sdb1
mdadm -f /dev/md1 /dev/sdb2
mdadm -r /dev/md1 /dev/sdb2
Vložíme nový větší disk a zkopírujeme MBR včetně bootloaderu.
dd if=/dev/sda of=/dev/sdb bs=512 count=1
fdisk /dev/sdb (odebereme oddíl sdb2 a vytvoříme nový s max. velikostí a zapíšeme změny)
Přidáme disk se všemi oddíly do RAID 1
mdadm --add /dev/md0 /dev/sdb1
mdadm --add /dev/md1 /dev/sdb2
Po kompletním rebuildu odebereme i druhý disk /dev/sda
mdadm -f /dev/md0 /dev/sda1
mdadm -r /dev/md0 /dev/sda1
mdadm -f /dev/md1 /dev/sda2
mdadm -r /dev/md1 /dev/sda2
Odpojíme /dev/md1 aby jsme ho mohli zvětšit na max.
mdadm --grow /dev/md1 --size=max
Provedeme kontrolu FS a poté ho zvětšíme na max.
fsck -n /dev/md1
e2fsck -f /dev/md1
resize2fs /dev/md1
Vložíme druhý stejně veliký disk, zkopírujeme opět MBR a bootloader tentokrát z /dev/sdb na /dev/sda a nové partitions vložíme do pole. Po rebuildu je to komplet.
V případě potřeby změny FS např. z ext2 na ext3 lze doplnit.
tune2fs -j /dev/md0
tune2fs -j /dev/md1
vim /etc/fstab (přepsat ext2 na ext3)
2. varianta - přesun raid1 na nový raid1 s úpravou oddílů, změnou velikosti bloku a změnou FS
Vyřadíme jeden z disků v raid 1 se dvěma oddíly např. (md0=/, md1=/data)
mdadm -f /dev/md0 /dev/sdb1
mdadm -r /dev/md0 /dev/sdb1
mdadm -f /dev/md1 /dev/sdb2
mdadm -r /dev/md1 /dev/sdb2
Vložíme nový disk /dev/sdb a vytvoříme oddíly dle libosti pro příklad tedy pouze jeden /dev/sdb1. Bude se tedy jednat o přesun systému a dat pod jednu partitions RAID 1 ( /dev/md0). Restartujme PC a nabootujeme z live CD/DVD.
Přejmenujeme původní raid oddíly na jiné…
mdadm --stop /dev/md0
mdadm --stop /dev/md1
mdadm --assemble /dev/md50 /dev/sda1 missing
mdadm --assemble /dev/md51 /dev/sda2 missing
Aby jsme nemuseli instalovat grub tak zkopírujem MBR vč. bootloaderu a fdiskem upravíme oddíly jak potřebujeme v našem případě odstraníme /dev/sdb2 a /dev/sdb1 zvětšíme na max. a vytvoříme nový raid 1 z disku /dev/sdb
dd if=/dev/sda of=/dev/sdb bs=512 count=1
fdisk /dev/sdb
mdadm --add /dev/md0 -n 2 -c 128 -l 1 /dev/sdb1 missing {RAID1 degradovaný, velikost bloku 128k}
mkfs.ext2 /dev/md0 {naformátujeme na ext2)
Připojíme starý raid a nový raid do nově vytvořených adresářů v /mnt.
mkdir /mnt/new
mkdir /mnt/old
mount -t ext2 /dev/md50 /mnt/old
mount -t ext2 /dev/md51 /mnt/old/data
mount -t ext2 /dev/md0 /mnt/new
Přesuneme systém i data rsyncem a přepíšeme původní konfiguraci raid polí novou aktuální, dále upravíme původní /etc/fstab ze kterého vymažeme /dev/md1 /data ext2 …
rsync -avx /mnt/old /mnt/new
mdadm --examine --scan > /mnt/new/etc/mdadm.conf {odstraníme řádky týkající se pole md50 a md51 ty potřeba nejsou}
Nevím jestli je to nutné pro generování nového initramfs ale raději jsem to udělal také - připojení proc,sys,dev. Poté se chroot(ujeme) do nového systému a přegenerujeme initramfs jak psal výše “stderr”
mount -t proc proc /mnt//new/proc
mount -t sysfs sys /mnt/new/sys
mount -o bind /dev /mnt/new/dev
chroot /mnt /bin/bash
mkinitrd -f -v /boot/initramfs-2.x.x-x.x.x.x.x.img 2.x.x-x.x.x.x
Restartujeme a odpojíme poslední disk ze starého raid /dev/sda. Po restartu by měl systém sám naběhnou pouze s jednou partitions /dev/md0 připojená jako /. Přidáme druhý disk pro zkompletování pole, zkopírujeme MBR vč. bootloader, přidáme /dev/sdb1 do pole a je to.
Alespoň mě to takto fungovalo. Chybu, kterou jsem od začátku dělal při testování varianty 2 byla ta, že jsem vynechal přepsání konfiguračního souboru raid /etc/mdadm.conf, který je jak píše “stderr” uložen v initramfs - což jsem netušil. Také jsem se zbytečně trápil s instalací grub na degradované pole v mém případě opravdu zbytečně.
Jinak co se týče výkonu, je velmi znát co se týče rychlosti čtení nebo zápisu z raid jestli je raid-1 jen jako jedna partition a nebo více. Při použité jedné je výkon razantně vyšší !!! - pokud se někdo chystáte využívat softraid, tak pokud nemáte vyloženě pádný důvod to rozdělovat tak to nechte vše na jedné partition.
Obě varianty jsem úspěšně otestoval, tak jak popisuji na systému Centos 5.8. Ve fedoře to bude pravděpodobně stejné.
Ještě jednou děkuji za příspěvky a pokud jsem se někde upsal v postupu, tak mě opravte.