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!
- 2381 megtekintés
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.
- A hozzászóláshoz be kell jelentkezni
Csak hogy biztosra menjek, ez azt akarná csinálni, hogy kidumpolja az sdb partíció tábláit, amit inputként átad az sda sfdiskeléséhez, így jó esetben az sda is úgy particionálódik, mint ahogyan az sdb van?
Bocs, de gondolom megértitek, hogy van kockázata a dolognak... :)
- A hozzászóláshoz be kell jelentkezni
Igen, pontosan ezt kisérli meg. Nem biztos, hogy az sfdisk automatikusan települt a rendszerre, ezért ezt előtte ellenőrizd.
Remélem sikerül. Ha tartasz a dologtól, elsőre próbálkozhatsz a -n kapcsolóval a jobb oldalon. Ez nem írja fel a lemezre a partíciós táblát.
- A hozzászóláshoz be kell jelentkezni
Értem, nagyon köszönöm, beszámolok, amint fejlemény van. Még be kell szereznem a cserediszket és találni a cserére egy alkalmas éjszakát a héten... :/
- A hozzászóláshoz be kell jelentkezni
Hát igen. A hotswap ezért jó szerverkörnyezetben.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
É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ó.
- A hozzászóláshoz be kell jelentkezni
Ha diszkek között kell migrálni, akkor az LVM állati kényelmes tud lenni. Meg úgy egyébként is.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Pedig így lesz a jó.
- A hozzászóláshoz be kell jelentkezni
Nem véletlenül 2 TB-tól kell GPT-t használni?
http://administratosphere.wordpress.com/2011/03/29/dos-partitions-fdisk…
Az sfdisk helyett GPT fdisk (sgdisk) használható a GPT-s partíciós táblák másolására: http://unix.stackexchange.com/a/60393
- A hozzászóláshoz be kell jelentkezni
2,1x TB a határ, a 2 TB-os diszk még mehet normállal, de javasolt az fdisk -cu kapcsoló a partícionáláskor.
- A hozzászóláshoz be kell jelentkezni