software raid hiba

 ( Bandita | 2015. november 5., csütörtök - 21:55 )

Sziasztok

van egy debian linux 5.0 -m Linux 2.6.26-2-686 on i686 kernellel
van benne egy raid tömb md0
két elemmel sda1 és sdb1 raid 1 be.
Mindegyik egy 80 G-s sata hdd volt
az egyik elhullott
tettem bele egy másik vinyát 250-est
akárhogy próbálkozom nem tudom helyreállítani

sda-rol átkopizom sfdisk-el a partíciós táblát
mdadm al hozzáadom sdb1-et a tömbhöz
egy óráig rebuildol.

grub installt lefuttatom.

de nem ugyanaz a két vinyónak az mbr-je.
és ha újraindítom nem is látszik a berakott partíció, ha mégegyszer hozzá akarom rakni akkor azt mondja hogy no such file or directory, holott ott van a particio.

ha csak az új vinyát rakom be akkor azt írja ki bootoláskor hogy GRUB aztán megáll

Mit rontok el?
mindíg ez a végeredmény:

mdadm --detail /dev/md0
/dev/md0:
Version : 00.90
Creation Time : Fri Apr 2 15:56:36 2010
Raid Level : raid1
Array Size : 77344832 (73.76 GiB 79.20 GB)
Used Dev Size : 77344832 (73.76 GiB 79.20 GB)
Raid Devices : 2
Total Devices : 1
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Thu Nov 5 20:51:29 2015
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0

UUID : 04beb363:7bf3ddb3:d009c82e:eec49792
Events : 0.47740082

Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 0 0 1 removed

fdisk -l

/dev/sda lemez: 81.9 GB, 81964302336 bájt

255 fej, 63 szektor, 9964 cilinder
Egység: cilinderek 16065 * 512 = 8225280 bájt
Lemezazonosító: 0x000c1569

Eszköz Indítás Eleje Vége Blokkok Az Rendszer
/dev/sda1 * 1 9634 77385073+ fd Linux raid automatikus felismeréssel
/dev/sda2 9635 9964 2650725 5 Kiterjesztett
/dev/sda5 9635 9964 2650693+ 82 Linux lapozó / Solaris

/dev/sdb lemez: 250.0 GB, 250059350016 bájt

255 fej, 63 szektor, 30401 cilinder
Egység: cilinderek 16065 * 512 = 8225280 bájt
Lemezazonosító: 0x817075c5

Eszköz Indítás Eleje Vége Blokkok Az Rendszer
/dev/sdb1 * 1 9634 77385073+ fd Linux raid automatikus felismeréssel
/dev/sdb2 9635 9964 2650725 5 Kiterjesztett
/dev/sdb5 9635 9964 2650693+ 82 Linux lapozó / Solaris

/dev/md0 lemez: 79.2 GB, 79201107968 bájt

2 fej, 4 szektor, 19336208 cilinder
Egység: cilinderek 8 * 512 = 4096 bájt
Lemezazonosító: 0x00000000

A(z) /dev/md0 lemez nem tartalmaz érvényes partíciós táblát

Már agyon gugliztam az agyam

Köszi a segítséget
bnd

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

van egy debian linux 5.0 -m Linux 2.6.26-2-686 on i686 kernellel
Hát, ezt én a helyedben sürgősen frissíteném. Debian 6 LTS-nél régebbi rendszerekhez már nem jönnek ki frissítések (security sem)!

de nem ugyanaz a két vinyónak az mbr-je.
Nem tudom, mit értesz pontosan ez alatt, de szerintem ez normális. Az MBR tartalmazza a partíciós táblát, aminek van egy egyedi azonosítója (disk identifier). Hacsak nem hoztad át ezt is az sfdisk-kel, akkor teljesen normális, ha nem egyezik a két MBR "bitre" pontosan (akár hash-t nézel, akár csak össze diff-eled őket), egyébként is csak az a lényeg, hogy a RAID-ben használatos partíciók azonos méretűek legyenek (lehet, hogy a meglévő, működő diszken létrehozott partíciónál nagyobbat is megeszik az mdadm, de ilyesmivel még sosem próbálkoztam).

mdadm al hozzáadom sdb1-et a tömbhöz
Pontosan hogyan? Nem lehet, hogy valami paramétert rosszul adsz meg?

grub installt lefuttatom.
Hogyan (milyen paraméterezéssel) futtatod? Ad esetleg valami hibát vagy figyelmeztetést?

ha csak az új vinyát rakom be akkor azt írja ki bootoláskor hogy GRUB aztán megáll
Ez annyit takar, hogy nem tud a stage1-en túljutni a GRUB, mert pl. nincs kiírva a lemezre a stage2 kódja, vagy mert egész egyszerűen nem találja azt a fájlrendszert, ahonnan kiolvashatná a további működéshez szükséges adatokat (konfig, device mapping, stage2 bootloader kód stb).

Feltételezem, hogy nem mai darab a vas, amin ezt futtatod, úgyhogy a hardver oldaláról sem ártana futni néhány kört (memtest, SMART értékek csekkolása mindkét diszken, SATA kábelek cseréje stb).

új vinyó be
parti tábla átmásolása
sfdisk -d /dev/sda1 |sfdisk /dev/sdb
Ellenőrzésre kerül, hogy pillanatnyilag senki sem használja a lemezt...
Rendben

/dev/sdb lemez: 30401 cilinder, 255 fej, 63 szektor sávonként
Régi helyzet:
Egység = 8225280 bájtos cilinderek, 1024 bájtos blokkok, kezdősorszám: 0

Eszköz Indítás Kezdet Vége #cill #blokk Az Rendszer
/dev/sdb1 * 0+ 9633 9634- 77385073+ fd Linux raid automatikus felismeréssel
/dev/sdb2 9634 9963 330 2650725 5 Kiterjesztett
/dev/sdb3 0 - 0 0 0 Üres
/dev/sdb4 0 - 0 0 0 Üres
/dev/sdb5 9634+ 9963 330- 2650693+ 82 Linux lapozó / Solaris
Új helyzet:
Egység = 512 bájtos szektorok, kezdősorszám: 0

Eszköz Indítás Kezdet Vége #szektor Az Rendszer
/dev/sdb1 * 63 154770209 154770147 fd Linux raid automatikus felismeréssel
/dev/sdb2 154770210 160071659 5301450 5 Kiterjesztett
/dev/sdb3 0 - 0 0 Üres
/dev/sdb4 0 - 0 0 Üres
/dev/sdb5 154770273 160071659 5301387 82 Linux lapozó / Solaris
Az új partíciós tábla sikeresen kiírva

A partíciós tábla újraolvasása ...

Ha DOS partíciót hozott létre vagy módosított, például: /dev/foo7, akkor
használja a dd(1) parancsot az első 512 bájt kinullázáshoz:
dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(Nézze meg az fdisk(8) kézikönyvoldalt)

mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: re-added /dev/sdb1

mdadm --detail /dev/md0
/dev/md0:
Version : 00.90
Creation Time : Fri Apr 2 15:56:36 2010
Raid Level : raid1
Array Size : 77344832 (73.76 GiB 79.20 GB)
Used Dev Size : 77344832 (73.76 GiB 79.20 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Thu Nov 5 22:18:39 2015
State : clean, degraded, recovering
Active Devices : 1
Working Devices : 2
Failed Devices : 0
Spare Devices : 1

Rebuild Status : 2% complete

UUID : 04beb363:7bf3ddb3:d009c82e:eec49792
Events : 0.47743104

Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
2 8 17 1 spare rebuilding /dev/sdb1

eddig ennyi ha befejezi a rebuildot akkor írom tovább

file -s /dev/sda
/dev/sda: x86 boot sector; partition 1: ID=0xfd, active, starthead 1, startsector 63, 154770147 sectors; partition 2: ID=0x5, starthead 254, startsector 154770210, 5301450 sectors

file -s /dev/sdb
/dev/sdb: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, boot drive 0x81, stage2 address 0x2000, stage2 segment 0x200; partition 1: ID=0xfd, active, starthead 1, startsector 63, 154770147 sectors; partition 2: ID=0x5, starthead 254, startsector 154770210, 5301450 sectors

Biztos, hogy ez így jó?
sfdisk -d /dev/sda1 |sfdisk /dev/sdb

+1
Bizony, megnyerted a nóbelcsontot!
Az sda1 nem tartalmaz partíciós táblát.

Ahogy nézem, update-grub nem volt.

Végzett a resync

mdadm --detail /dev/md0
/dev/md0:
Version : 00.90
Creation Time : Fri Apr 2 15:56:36 2010
Raid Level : raid1
Array Size : 77344832 (73.76 GiB 79.20 GB)
Used Dev Size : 77344832 (73.76 GiB 79.20 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Thu Nov 5 22:55:34 2015
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

UUID : 04beb363:7bf3ddb3:d009c82e:eec49792
Events : 0.47744278

Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
ez elvileg eddig jól néz ki

update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.26-2-686
Updating /boot/grub/menu.lst ... done

na ezt nem értem:
grub-install /dev/sdb
error: array->nr_devs > array->total_devs (2)?!?
error: array->nr_devs > array->total_devs (2)?!?
error: array->nr_devs > array->total_devs (2)?!?
error: array->nr_devs > array->total_devs (2)?!?
error: array->nr_devs > array->total_devs (2)?!?
Searching for GRUB installation directory ... found: /boot/grub
error: array->nr_devs > array->total_devs (2)?!?
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(hd0) /dev/sda
(hd1) /dev/sdb

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=514338

Probald meg kinullazni a superblockot az uj diszken, hatha segit.

Egy apt-get upgrade-del is erdemes lenne megprobalkozni.

igen ezt már én is gugliztam
de mit is csinál ez valójában?
`mdadm --zero-superblock'

Kinullázza a superblock-ot. :)

--zero-superblock
If the device contains a valid md superblock, the block is overwritten with zeros. With --force the block where the superblock would be is overwritten even if it doesn't appear to be valid.

Magyarán törli a tömb metaadatait a megadott eszközről. Ez jelen esetben azért jó, mert így "elfelejti" az mdadm a diszk korábbi státuszát a tömbön belül, ami segíthet a grub-os probléma megoldásában.

A konkrét parancs:

mdadm --zero-superblock /dev/sdb1

Utána próbáld meg újból hozzáadni a tömbhöz a szokásos módon, hátha segít.