fsck fail (szoft RAID tömbökön)

Feltettem az Ubuntu Servert (9.04) egy szoft RAID1 tömbre, 2 HDD 2 partíciójára (md0).
Ugyanezen 2 HDD 2 másik partíciójából pedig egy adat tömb lett (md1).
Illetve további 2 HDD-ből is lett egy újabb RAID1 tömb.

A fájlrendszerek működnek és köszönik jól vannak.
Viszont minden bootoláskor elhasal az fsck rajtuk.
Érdekes, hogy a rendszer tömbre nem ad ilyen hibát csak a két adatra.

A log:
Log of fsck -C -R -A -a
Fri Oct 30 02:26:23 2009

fsck 1.41.4 (27-Jan-2009)
r_base: The filesystem size (according to the superblock) is 119999525 blocks
The physical size of the device is 119999504 blocks
Either the superblock or the partition table is likely to be corrupt!

r_base: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)
r_films: The filesystem size (according to the superblock) is 244190000 blocks
The physical size of the device is 244189984 blocks
Either the superblock or the partition table is likely to be corrupt!

r_films: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)
home: clean, 579/10010624 files, 16785302/40019915 blocks
fsck died with exit status 4

Fri Oct 30 02:26:24 2009
----------------

Ezentúl az fdsik ilyet mond mindhárom tömbre:
Disk /dev/md0: 8587 MB, 8587051008 bytes
2 heads, 4 sectors/track, 2096448 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn't contain a valid partition table

A kérdés, hogy mi a probléma okozója és, hogy lehet elűzni?

Hozzászólások

Ez valami hulye dolog lehet, mert minden jel arra utal hogy a filerendszer nem az md[12] eszkozokon keletkezett, hanem egyik/masik, a raid-et alkoto particion. A linux sw raid (md) ugyanis letrehoz egy raid superblockot, a particio(k) vegen. Ennek a pozicioja hatarozza meg a raid tomb tenyleges latszo meretet, es 64k-s egysegekben az utolso teljes egyseg. 64k az tizenhat blokk, tehat ha a teljes meret b=119999525 ill. b=244190000 akkor a raid latszo r me'rete 16*([b/16]-1) lesz (ahol [.] az egeszresz-fv). Ha beirod ebbe a fenti ertekeket akkor visszakapod a 119999504 es a 244189984 latszolagos mereteket. Valoszinuleg ez tortent.

Eluzni a kovetkezokeppen lehet:
(feltetelezesek a peldaban: /dev/md1 az /dev/sd[ab]2-bo"l a'll)
- a raid1 egyik tagja't kidobod (mdadm --manage /dev/md1 --remove /dev/sdb2)
- letrehozol egy masik tombot ebbol a felszabaditott particiobol (mdadm --create /dev/md5 -l 1 -n 2 /dev/sdb2 missing)
- filerendszert pakolsz ra (mkfs.ext3 /dev/md5)
- felmount (mount /dev/md5 /temporary)
- atmasolsz mindent (cp: /dev/md1 == /data => /temporary)
- lemount (umount /temporary)
- leallitod az eredeti tombot (umount /data; mdadm --stop /dev/md1)
- hozzateszed a masik particiot (mdadm --manage /dev/md5 --add /dev/sda2)
- leallitod az uj tombot (umount /temporary; mdadm --stop /dev/md5)
- ujrainditod a regi neve'n (mdadm --assemble /dev/md1 /dev/sda2 /dev/sdb2)
- megy minden a regiben (mount /dev/md1 /data)

ugyan csinaltam mar hasonlokat, de igy latatlanban nem vallalok felelosseget... szoval csak esszel, "don´t do it unless you know what are you doing". az `mdadm --assemble` szintaxisat nezd a't azert, azt ritkan kell hasznalni, nem vagyok teljesen biztos benne.

A.

Valóbban, a fájlrendszer már megvolt az sda2-n, sőt az sdb2-n is és így hoztam létre.
De csináltam már nem partíciókból, hanem komplett lemezekből és akkor pl md1p1 lett a végeredmény, ami már jó volt az fsck-nak.
Ezekszerint partícióknál nem ilyen egyszerű.

A két adattömböt le is állíthatom, újra létrehozni. El is kezdtem...
A rendszerre meg, ha eddig nem sípolt remélem ezután se fog.

Viszont így is használhatóak lesznek a lemezek az adatokkal, ha kiveszem a tömbből?