Portál AbcLinuxu, 8. května 2025 23:02

Dotaz: Raid nepřipojí po restartu oba disky

28.12.2011 20:20 Jiří Hofmajer
Raid nepřipojí po restartu oba disky
Přečteno: 523×
Odpovědět | Admin

Ahoj,

mám vytvořený mirror z disků "sda3" sdb3 poslední dobou mi dělá problém, že mi po restartu nepřipojí do pole disk sdb3. Jinak md0 se normálně mountne.

Relevantní věci z dmesg:

[   12.041923] md: bind
...
[   13.492388] md: raid1 personality registered for level 1
[   13.492462] bio: create slab  at 1
[   13.492517] md/raid1:md0: active with 1 out of 2 mirrors
[   13.492532] md0: detected capacity change from 0 to 250997497856
[   13.492603] fedora-storage-init[829]: mdadm: started array /dev/md0
[   13.514379]  md0: unknown partition table
...
md: export_rdev(sdb3)

cat /proc/mdstat

Personalities : [raid1] 
md0 : active raid1 sda3[0]
      245114744 blocks super 1.2 [2/1] [U_]

mdadm --manage /dev/md0 --add /dev/sdb3

mdadm: /dev/sdb3 reports being an active member for /dev/md0, but a --re-add fails.
mdadm: not performing --add as that would convert /dev/sdb3 in to a spare.
mdadm: To make this a spare, use "mdadm --zero-superblock /dev/sdb3" first.

Ta napovídaná varianta pomocí --zero-superblock funguje, disk přidám do md0, proběhne synchronizace, ale po restartu je zase mimo.

 

Díky za každou užitečnou radu

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Max avatar 28.12.2011 22:57 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Raid nepřipojí po restartu oba disky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Máš dobře nadefinovaný /etc/mdadm.conf a v něm i nadefinovanou verzi použitých metadat pole? Viz příklad :
MAILADDR max@devaine.cz
PROGRAM /usr/sbin/handle-mdadm-events

ARRAY /dev/md2 metadata=0.90 UUID=14640e9e:d1c30960:5b020607:1eecbc2b
ARRAY /dev/md3 metadata=0.90 UUID=1d4bfb10:2b00fef9:5b020607:1eecbc2b
ARRAY /dev/md5 metadata=0.90 UUID=1011cbb3:b48abbe7:5b020607:1eecbc2b
ARRAY /dev/md6 metadata=0.90 UUID=88018aa2:0d416a22:5b020607:1eecbc2b
Rozhodně bych nespoléhal na autodetekci pole apod. věcí. Všechno pěkně natvrdo nastavit v příslušném configu.
Hint :
mdadm --detail --scan
Zdar Max
Měl jsem sen ... :(
29.12.2011 15:39 Jiří Hofmajer
Rozbalit Rozbalit vše Re: Raid nepřipojí po restartu oba disky
V mdadm.conf mám:
ARRAY /dev/md0 metadata=1.2 name=shadow:0 UUID=f9d385ca:8e93ebe9:8a91c445:8ae42251
29.12.2011 17:56 ET
Rozbalit Rozbalit vše Re: Raid nepřipojí po restartu oba disky
* Only <=0.9 has autodetection on startup -> YES you need an initramfs if you choose 1.x - genkernel is your friend!

* imho myslim, ze to pole bys mel skladat parametrem "--assemble" a ne "--add" - man mdadm
29.12.2011 21:34 Jiří Hofmajer
Rozbalit Rozbalit vše Re: Raid nepřipojí po restartu oba disky

mdadm --stop /dev/md0

mdadm --assemble --scan

mdadm: /dev/md0 has been started with 1 drive (out of 2).

mdadm --stop /dev/md0

mdadm --assemble /dev/md0 /dev/sda3 /dev/sdb3

mdadm: /dev/sda3 has no superblock - assembly aborted

cat /proc/mdstat

Personalities : [raid1] 
md0 : active raid1 sda3[0]
      245114744 blocks super 1.2 [2/1] [U_]
      
unused devices: <none>

Jak může nemít superblok, když mi ho tam normálně přidá a sdb3 ne? Jak tam podle něj ten superblock vytvořím aniž bych ty data musel přesunout jinam a vytvořit to celý znova? Zajímavý je, že mi to nějakou dobu chodilo a pak se to vyk****lo :-(

30.12.2011 10:32 ET
Rozbalit Rozbalit vše Re: Raid nepřipojí po restartu oba disky
imho to rozbil nakej update, pokud to predtim slapalo - tady nekdo resil podobnej problem http://ubuntuforums.org/showthread.php?t=1779803 zmenou START_DAEMON=false
1.1.2012 21:21 Jiří Hofmajer
Rozbalit Rozbalit vše Re: Raid nepřipojí po restartu oba disky

Ano, původně to šlapalo. Zapomněl jsem uvést, že se jedná o Fedoru 16 x64. Ještě uvedu:

mdadm --stop /dev/md0

mdadm --assemble /dev/md0 /dev/sdb3 /dev/sda3 --force

dmesg

[  458.792605] md: export_rdev(sdb3)
[  462.671513] md: export_rdev(sdb3)
[  868.220250] md0: detected capacity change from 250997497856 to 0
[  868.220257] md: md0 stopped.
[  868.220262] md: unbind
[  868.235200] md: export_rdev(sda3)
[  883.046691] md: md0 stopped.
[  883.047437] md: bind
[  883.047588] md: bind
[  883.047620] md: kicking non-fresh sdb3 from array!
[  883.047626] md: unbind
[  883.060041] md: export_rdev(sdb3)
[  883.065413] md/raid1:md0: active with 1 out of 2 mirrors
[  883.065477] md0: detected capacity change from 0 to 250997497856
[  883.067044]  md0: unknown partition table
2.1.2012 17:54 kacer
Rozbalit Rozbalit vše Re: Raid nepřipojí po restartu oba disky
Tahle zpráva v logu je přece dostatečně výmluvná:

[ 883.047620] md: kicking non-fresh sdb3 from array!

Stav sdb3 se výrazně liší od sda3 a proto byl vykopnut z RAIDu. Casto je za tím nějaký hw problém - disk, řadič apod. Kdyžtak by to asi šlo vyřešit resyncem, najdi si po netu diskuse...
3.1.2012 07:28 Jiří Hofmajer
Rozbalit Rozbalit vše Re: Raid nepřipojí po restartu oba disky
Ano, výmluvná je (i když neobsahuje žádnou informaci proč). Udělal jsem --zero-superblock, pak proběhl úspěšně resync a vše běželo do restartu.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.