Fórum Root.cz
Hlavní témata => Hardware => Téma založeno: Grumpa 05. 02. 2015, 21:59:58
-
Mám RAID1 a na něm LVM. Po výměně disků jsem chěl zvětšit prostor pro md0, aby využil celou kapacitu disků. Postup byl následující:
1. mdadm /dev/md0 --fail /dev/sda1
2. mdadm /dev/md0 --remove /dev/sda1
3. cfdisk
- zrušen oddíl sda1
- vytvořen oddíl sda1 v celé velikosti disku
4. mdadm --zero-superblock /dev/sda1
5. mdadm /dev/md0 --add /dev/sda1
Proběhla synchronizace s tím, že md0 bylo pochopitelně v původní velikosti. Dále jsem opakoval kroky 1-5 pro sdb1.
Po synchronizaci bylo md0 stále v původní velikosti. Příkaz
mdadm --grow /dev/md1 --size max
nic nezměnil.
Udělal jsem reboot systému. Po rebootu jede LVM přímo nad partišnou sdb1 a v /proc/mdstat diskové pole není. Není ani v /dev/md/. V logu je hláška
DeviceDisappeared event detected on md device /dev/md0
Příkaz pvdisplay ukazuje, že jede na /dev/sdb1.
Příkaz mdadm --assemble /dev/md0 tiše neudělá nic. mdadm --examine /dev/sda1 oznámí, že zařízení není součástí diskového pole.
Otázka zní: Jak pole znovu "nahodit", aby tam byla ale i dřívější data. Pokud zmizí to, co se odehrálo na sdb1 od rozpadu pole, tak to přežiju.
Díky
-
Ještě doplním, že v /etc/mdadm/mdadm.conf to diskové pole je.
-
Ještě doplním, že v /etc/mdadm/mdadm.conf to diskové pole je.
dotaz po tom co si pole dal do mdadm.com
zavolal si
sudo update-initramfs -k all -u
-
Nedal. To diskové pole tam bylo už předtím. Jen se zvětšily diskové oddíly pro to pole. Rutinní mdadm --grow bohužel nic neudělalo.
Omlouvám se: Zapomněl jsem ještě napsat, že při zvětšování sdb1 jsem nedal typ diskového oddílu FD, ale nechal výchozí "linux" bez raid autodetect. To jsem posléze opravil (fail, remove, změna typu oddílu, add) a po resynchronizaci bylo pole funkční. Po rebootu ale už ne.
-
zdar,
musis to rict LVM ze mas vetsi disk:
# pvresize --setphysicalvolumesize xxxGB /dev/md0
pak poladil LV jak potrebujes
# lvextend -l +xxxGB /dev/mapper/lv
a nakonec udelat kontrolu fs a nasledne ho nazvetsovat. az pak linux uvidi novou velikost. v pripade ext fs
# e2fsck -f /dev/mapper/lv
# resize2fs /dev/mapper/lv
-
musis to rict LVM ze mas vetsi disk:
# pvresize --setphysicalvolumesize xxxGB /dev/md0
Ne nemůžu, zařízení /dev/md0 neexistuje. O tom je můj dotaz.
-
1. mdadm /dev/md0 --fail /dev/sda1
Proboha proč? Stačilo prostě zvětšit ty partition a udělat grow.
Příkaz pvdisplay ukazuje, že jede na /dev/sdb1.
Tipnu si: to je verze metadat 0.91? Tak na druhém disku vytvoř degradované pole (s novými metadaty, ať se ti to už příště nestane), nakopíruj data ze sdb1, nabootuj z nového pole a přidej do něj sdb1.
-
mrzute - zkusil bych pustit nejake live CD a prozkoumat to pole z nej.
ja to tak kdysi opravoval, ale postup zaval cas ...
a urcite na tom byly normalni particie, lvm se vyhybam jak cert krizi..
snad
mdadm --detail --help
-
Po synchronizaci bylo md0 stále v původní velikosti. Příkaz
mdadm --grow /dev/md1 --size max
nic nezměnil.
md1 (namísto md0) je překlep?
-
ano, je to překlep :-)
Zdá se tedy, že není jiná možnost, než udělat to degradované pole na sda, zkopírovat vše na něj a pak ze sdb udělat linux raid a přicvaknout ho.
Doufal jsem, že půjde nějak obnovit ten supreblok tak, aby se tam vrátily informace o tom, že se jedná o RAID1 a po rebootu to normálně naskočí jak má.
Taky mě překvapilo, že raid partišna se v systému objevuje jako normální fyzický oddíl sdb1. (pvdisplay místo md0 ukazuje sdb1). Bohužel nejsem znalec souborových systémů...
Přesto díky všem za snahu pomoci.