szoftveres raid - partícionálási probléma

Fórumok

Sziasztok!

Volt már dolgom néhány szoftveres RAID-del, de most egy érdekes (inkább dühítő) helyzet elé kerültem.
Van két szerverem, amiben RAID10-ban van négy darab 1TB-os diszk.
Mindkét gépre 6-os Debiant tettem, a telepítővel alakítottam ki a RAID10 tömböket.
A múlt hét végén sikeresen beborult az egyik szerver tömbje, vélhetően több merevlemezzel is gond volt, de a problémát, ami miatt most írnék, nem ez okozta szerintem.

Lényeg a lényeg, eddig a szoftveres RAID esetén a gépbe bekerült új merevlemezre kialakítottam ugyanazokat a partíciókat fdisk-el, mint amilyen a megmaradt ép diszken volt, majd a partíciókat betettem az egyes tömbökbe, elindult a rebuild, megcsinálta, kész volt, jó volt, ennyi volt.

Most viszont gond volt az sda diszkkel, így azt cseréltük, az sdb diszket megnyitottam fdisk-el, megnéztem "p"-vel, mettől meddig terjedő partíciók vannak, azokat szintén fdisk-el létrehoztam volna az sda-n, de nem tudtam.
Ugyanez a helyzet most a másik szerveren is, így aggódom, hogy nem fogom tudni cserélni a diszket.

Tehát itt is hibás az sda, cserélnem kellene. Megmutatom mit ír az sda-ra, sdb-re az fdisk.
sda:


/dev/sda lemez: 1000.2 GB, 1000204886016 bájt

255 fej, 63 szektor, 121601 cilinder
Egység: cilinderek 16065 * 512 = 8225280 bájt
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Lemezazonosító: 0x0008b9cb

Eszköz Indítás Eleje Vége Blokkok Az Rendszer
/dev/sda1 * 1 6079 48827392 fd Linux raid automatikus felismeréssel
/dev/sda2 119657 121602 15624192 fd Linux raid automatikus felismeréssel
/dev/sda3 6079 119657 912309248 fd Linux raid automatikus felismeréssel

A partíciós tábla bejegyzései nem a lemezen található sorrendben vannak

sdb:


/dev/sdb lemez: 1000.2 GB, 1000204886016 bájt

255 fej, 63 szektor, 121601 cilinder
Egység: cilinderek 16065 * 512 = 8225280 bájt
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Lemezazonosító: 0x0008dc13

Eszköz Indítás Eleje Vége Blokkok Az Rendszer
/dev/sdb1 * 1 6079 48827392 fd Linux raid automatikus felismeréssel
/dev/sdb2 119657 121602 15624192 fd Linux raid automatikus felismeréssel
/dev/sdb3 6079 119657 912309248 fd Linux raid automatikus felismeréssel

A partíciós tábla bejegyzései nem a lemezen található sorrendben vannak

Parancs (m = súgó):

Látszik, hogy nincs különbség köztük, viszont az sda1 1-6079-ig tart, az sda3 6079-től megy és nem 6080-tól, ahonnan szerintem mennie kellene.
De próbáltam fdisk alatt így még az első szerverben, nem is engedte a következő partíciót azzal a számmal kezdeni, amire végződött az előző partíció. Szerintem jogosan anyázott, viszont itt is, a másik szerverben is így vannak a partíciók.

Mit tegyek? Hogyan tudnám ugyanígy particionálni a leendő új diszket? Vagy hogyan tudnám másként cserélni a hibás diszket? A particionálást gondolom nem tudom elkerülni...

Előre is köszi mindent!

Hozzászólások

Maybe: sfdisk -d /dev/sdb | sfdisk /dev/sda
Nem tuti a siker, de egy próbát megér. Én is így csináltam legutóbb, utána már csak rebuild volt.

Igen, de baromi drága. Van pár szerverünk, amiben 8 darab hot-swap hdd figyel, de nem minden feladatra van meg az anyagi keret...
Gondolkodtam, hogy kiváltom valami hardveres RAID vezérlőre a dolgot, de lövésem sincs, hogyan lehetne migrálni, rengeteg beállított program, adat van a gépen. Mert még ha nem is hot-swap, talán egy HW-es kártya mégis jobb lenne, főleg ha van belőle egy tartalék a polcon.

Én2 napja kaptam egy ML350 G5 vasat 5db hotswap 72G-s sas lemezzel 40 pénzért. Szerválok bele 2 erősebb procit, meg még némi ramot (ha válaszol itt a kolléga) és évekig hozzá se kell nyúlni. Max teszek bele még egy 1T-s satát adattárnak. Ha van jó ajánlat, akkor minden megoldható.

Nos, bár nem éles környezetben, csak virtualboxban, de leszimuláltam a helyzetet:
Adtam 4 diszket egy virtuális géphez, majd telepítettem rá egy alap Debian-t úgy, hogy a négy diszkből 3 darab RAID10ás tömböt hoztam létre:
md0 lett a /
md1 a swap
md2 a /var
Telepítés után a már megszokott módon minden diszkre telepítettem a grubot.
Ez után leállítottam a gépet, eltávolítottam a legelső lemezt, helyére adtam egy újat, indítottam, de hisztizett, hogy nem tud elindulni, nincs bootolható media. F12-vel tudtam változtatni a boot eszközt, a kettes HDD-t kiválasztva szépen elindult a rendszer.
Biztos, ami biztos alapon dmesg-ben megnéztem, sda-nak ismerte fel az új lemezt, de sima fdisk-el is ránéztem, nem volt rajta partíció.

Kiadtam az említett parancsot, majd ezt kaptam:

----------------------------------------------------------------------------------------
root@debian-raid:~# sfdisk -d /dev/sdb | sfdisk /dev/sda
Ellenőrzésre kerül, hogy pillanatnyilag senki sem használja a lemezt...
Rendben

/dev/sda lemez: 1044 cilinder, 255 fej, 63 szektor sávonként

sfdisk: HIBA: a(z) 0. szektor nem rendelkezik msdos aláírással
/dev/sda: azonosítatlan partícióstábla-típus
Régi helyzet:
Nem találhatók partíciók
Új helyzet:
Egység = 512 bájtos szektorok, kezdősorszám: 0

Eszköz Indítás Kezdet Vége #szektor Az Rendszer
/dev/sda1 * 2048 9764863 9762816 fd Linux raid automatikus felismeréssel
/dev/sda2 11698176 16775167 5076992 fd Linux raid automatikus felismeréssel
/dev/sda3 9764864 11698175 1933312 fd Linux raid automatikus felismeréssel
/dev/sda4 0 - 0 0 Üres
Figyelmeztetés: a(z) 1 partíció nem cilinderhatáron végződik.

sfdisk: Nem szeretem ezeket a partíciókat - semmit sem változott.
(Ha tényleg ezt akarja, használja a --force kapcsolót.)
root@debian-raid:~#
----------------------------------------------------------------------------------------

Szóval az sfdisk "nem szereti ezeket a partíciókat" - ezen derültem egy sort, de kínomban a felajánlott --force kapcsolón kívül nem volt más tippem, így kipróbáltam, az már segített:

----------------------------------------------------------------------------------------
root@debian-raid:~# sfdisk -d /dev/sdb | sfdisk /dev/sda --force
Ellenőrzésre kerül, hogy pillanatnyilag senki sem használja a lemezt...
Rendben

/dev/sda lemez: 1044 cilinder, 255 fej, 63 szektor sávonként

sfdisk: HIBA: a(z) 0. szektor nem rendelkezik msdos aláírással
/dev/sda: azonosítatlan partícióstábla-típus
Régi helyzet:
Nem találhatók partíciók
Új helyzet:
Egység = 512 bájtos szektorok, kezdősorszám: 0

Eszköz Indítás Kezdet Vége #szektor Az Rendszer
/dev/sda1 * 2048 9764863 9762816 fd Linux raid automatikus felismeréssel
/dev/sda2 11698176 16775167 5076992 fd Linux raid automatikus felismeréssel
/dev/sda3 9764864 11698175 1933312 fd Linux raid automatikus felismeréssel
/dev/sda4 0 - 0 0 Üres
Figyelmeztetés: a(z) 1 partíció nem cilinderhatáron végződik.
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)
root@debian-raid:~#
----------------------------------------------------------------------------------------

Így látszólag megcsinálta szépen, fdisk ezt látta az sda-ra:

----------------------------------------------------------------------------------------
root@debian-raid:~# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

Parancs (m = súgó): p

/dev/sda lemez: 8589 MB, 8589934592) bájt
255 fej, 63 szektor, 1044 cilinder
Egység: cilinderek 16065 * 512 = 8225280 bájt
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Lemezazonosító: 0x00000000

Eszköz Indítás Eleje Vége Blokkok Az Rendszer
/dev/sda1 * 1 608 4881408 fd Linux raid automatikus felismeréssel
A(z) 1. partíció nem cilinderhatáron végződik.
/dev/sda2 729 1045 2538496 fd Linux raid automatikus felismeréssel
/dev/sda3 608 729 966656 fd Linux raid automatikus felismeréssel
A(z) 3. partíció nem cilinderhatáron végződik.

A partíciós tábla bejegyzései nem a lemezen található sorrendben vannak

Parancs (m = súgó): q

root@debian-raid:~#
----------------------------------------------------------------------------------------

Utána szépen be tudtam tenni a tömbbe a három partíciót, el is indult a rebuild. Tettem rá is grubot, szépen ment utána a rendszer.

Csak remélni tudom, hogy az éles környezetben is ugyanígy megy majd a dolog.
Nagyon köszönöm mindenkinek a segítséget!
Gondoltam megosztom - egyelőre csak a Virtualboxos - tapasztalataimat, a később jövők számára talán hasznos lehet majd.

Nem értem.


export LANG=POSIX
fdisk -l -u /dev/sda
fdisk -l -u /dev/sdb

egyébiránt a 0-1T diszkek partíciós tábla formátuma eltér a 1.5T-4T diszkek partíciós tábla formátumától.

0-1T diszkek esetén a partíciós tábla másolható, mégpadig ígye:


sfdisk -d /dev/sdb | sfdisk /dev/sda

Ennek megfelelően ide a 'sfdisk -d /dev/sdb' is használható kimenetet ad.