Oprava rozpadlého pole po zvětšení

Oprava rozpadlého pole po zvětšení
« kdy: 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
« Poslední změna: 05. 02. 2015, 22:09:11 od Petr Krčmář »


Re:DeviceDisappeared event detected on md device /dev/md0
« Odpověď #1 kdy: 05. 02. 2015, 22:07:29 »
Ještě doplním, že v /etc/mdadm/mdadm.conf to diskové pole je.

karel

Re:DeviceDisappeared event detected on md device /dev/md0
« Odpověď #2 kdy: 05. 02. 2015, 22:20:43 »
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

Re:Oprava rozpadlého pole po zvětšení
« Odpověď #3 kdy: 05. 02. 2015, 22:28:03 »
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.

Re:Oprava rozpadlého pole po zvětšení
« Odpověď #4 kdy: 05. 02. 2015, 22:32:44 »
zdar,
musis to rict LVM ze mas vetsi disk:
Kód: [Vybrat]
# pvresize --setphysicalvolumesize xxxGB /dev/md0pak poladil LV jak potrebujes
Kód: [Vybrat]
# lvextend -l +xxxGB /dev/mapper/lva nakonec udelat kontrolu fs a nasledne ho nazvetsovat. az pak linux uvidi novou velikost. v pripade ext fs
Kód: [Vybrat]
# e2fsck -f /dev/mapper/lv
# resize2fs /dev/mapper/lv


Re:Oprava rozpadlého pole po zvětšení
« Odpověď #5 kdy: 05. 02. 2015, 22:41:40 »

musis to rict LVM ze mas vetsi disk:
Kód: [Vybrat]
# pvresize --setphysicalvolumesize xxxGB /dev/md0
Ne nemůžu, zařízení /dev/md0 neexistuje. O tom je můj dotaz.

Jenda

Re:Oprava rozpadlého pole po zvětšení
« Odpověď #6 kdy: 05. 02. 2015, 23:10:05 »
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.

jenda

Re:Oprava rozpadlého pole po zvětšení
« Odpověď #7 kdy: 06. 02. 2015, 09:08:32 »
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

Olaf

Re:Oprava rozpadlého pole po zvětšení
« Odpověď #8 kdy: 06. 02. 2015, 20:42:01 »
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?

Re:Oprava rozpadlého pole po zvětšení
« Odpověď #9 kdy: 07. 02. 2015, 14:52:00 »
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.