[linux] RAID 1 (skusenosti)

Jarry guru jarry na gmx.net
Úterý Září 12 07:42:35 CEST 2000


Nazdar linuxaci!

Koho to zaujima, tak tu su moje skusenosti s RAID1 (koho nie, moze mail
predsa zmazat!). Ale varujem, bude to dlhe, a podrobne...

Tak som sa teda pustil do konfiguracie RAID1 (vyzbrojeny vsetkymi
zdrojakmi, utilitkami, dvoma novymi diskami, casom a termoskou kavy :-)

Najprv testovacia zostava (ist s tym hned na server som si netrufol):
Celeron 366/550, 96MB RAM, MB Abit BH6, Voodoo3/2k/180, no a dva pekace
Maxtor DiamondMax+, kazdy 10GB, 7200/min, 2MB cache (taky dobry zaklad,
su sice UDMA66, ale bohuzial zavesene len na BX-cipsete, cize UDMA33).
Prestudiroval som si vsetko dostupne (doc, howto, arxivy, atd.), takze
podme na to!

0.) Ako zaklad som nainstaloval klasicky na /dev/hda, rozdeleny takto:
/dev/hda1      5MB  /boot   (na kernel staci)
/dev/hda2    256MB  /swap   (to som asi prehnal, ale co uz)
/dev/hda3    384MB  /
/dev/hda4   zvysok "extended" (primarne mozu byt len 4) a v tom:
/dev/hda5    128MB  /tmp
/dev/hda6   4096MB  /var    (vratane squid-cache 2GB + 50 mailboxov)
/dev/hda7    128MB  /chroot (pre named+apache+...)
/dev/hda8    640MB  /usr
/dev/hda9   4096MB  /home   (ftp 3GB)
BTW, pouzil som distro Caldera eDesktop 2.4 (viacmenej zo zvyku, nie
ze by som chcel cerveno-klobucnikov provokovat :-)))

1.) Stiahol som si novy kernel (aka nahoda, prave "vytlacili" 2.2.17),
a k tomu aj raid-2.2.17-A0 patch z ftp.kernel.org. Taka mala poznamocka:
tento patch JE potrebny, ak chcete mat raid autodetect/bootable and
root-mounted. Standartne jadro dokaze autodetekovat LEN RAID-linear
& RAID0. Lenze ten patch je akysi zmrveny. Patchoval som rozbalene
zdrojaky v /usr/src asi takto (nutny link linux -> linux-2.2.17):

patch -p0 <raid-2.2.17-A0  # myslim, ze to p0 je spravny offset
a vyhodilo mi okrem beznych hlaseni aj tieto dve chyby:

patching file ./linux/drivers/block/raid0.c
Hunk #3 FAILED at 221.
1 out of 3 hunks FAILED -- saving rejects to file
./linux/drivers/block/raid0.c. rej
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file ./linux/Makefile.rej

No, usudil som, ze raid0.c bude asi suvisiet s RAID0 (inteligentne,
ze? :-P), tak som sa toto vytoto, a v tom Makefile som to len rucne
doeditoval (iba som zmenil EXTRAVERSION = pre13-RAID). RAID0 totiz
nepotrebujem, tak som dufal, ze to bude OK (a aj bolo, nastastie!).
Dalej uz len klasika (make mrproper, xconfig, dep, clean, bzImage).
No popojedem, teraz zacne prava samanina! A sice: Ako prejst z jedneho
disku s klasickou instalaciou + jedneho prazdneho na RAID1!

2.) Nabuntol som novuo jaderko a vytvoril som si /etc/raidtab, kde su
md0 az md7, vzdy particie z /dev/hda su marknute ako "failed-disk".
Teraz som povytvaral particie (mkraid /dev/md?), ktore samozrejme
bezali ako degradovane (ci ako sa to povie). Cize napriklad /dev/md0
pozostava z /dev/hda1 a /dev/hdc1, ale /dev/hda1 bola oznacena za
vadnu. Vyformatoval som si filesystemy (mke2fs /dev/md?), primontoval
niekam na /mnt, a kopiroval, a kopiroval ("cp -a /bin /mnt", atd.).
Potom upravit /etc/fstab na tych rajdovnych particiach a ideme dal...

3.) Vcul nastal cas otestovat si raidik. Takze podla "howto" som si
spravil bootovaciu disketicku, a rebootol (tentokrat uz nie na /dev/hda,
ale na /dev/md). A cuduj sa svet, vsetko spravne bezalo, na prvy sup!
Zatial vsak stale v degradovanom mode...

4.) A teraz podme poopravovat pole, cize spravme poriadne RAID1y!
fdiskom som pomenil oznacenie typu particii /dev/hda? z 82/83 na fd,
upravil /etc/raidtab (zmenil "failed-disk" u /dev/hda? particii na
"raid-disk"), a popridaval particie do poli (raidhotadd). Potom zacala
rekonstrukcia file-systemu. Cele to netrvalo viac ako 15 minut (a to
som to este spustal postupne, md0,1,2,3,4,5,6,7), bezalo to na pozadi
a system bol popri tom este celkom zivy (pravda, dokopy tam mam zatial
rozhadzane len 750MB).

5.) No a to je zaver. Nakoniec uz len nainstalovat na kazdy disk
lilo (pozor, su rozne pre hda a hdc!), rebootnut, a vsetko funguje.
No, neviem, ako by som to mal este otestovat. Zatial viem len
to, ze vsetko fachci ako ma. Pokusalo ma vytrhnut za chodu kabel z
jedneho disku (v "howto" to jeden manik spravil, a system to prezil!),
ale na takuto divocinu som si zatial netrufol. Este sa budem musiet
ale trosku pohrat s nastavenim diskov (hdparm), a nejako otestovat
rychlost. Ale ta nie je u mna prvorada, hlavne ze je tam nejaka zaloha
v pripade "lahnutia" disku.

Este k swapu: Asi ste postrehli, ze aj swap mam na raid1 (/etc/fstab):
devpts /dev/pts devpts gid=5,mode=620 0 0
/proc /proc proc defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 ro,user,noauto,exec 0 0
/dev/fd0 /mnt/floppy auto defaults,user,noauto 0 0
/dev/md0 /boot ext2 defaults 1 1
/dev/md1 swap swap defaults 0 0
/dev/md2 / ext2 defaults 1 3
/dev/md3 /tmp ext2 defaults 1 5
/dev/md4 /var ext2 defaults 1 6
/dev/md5 /chroot ext2 defaults 1 7
/dev/md6 /usr ext2 defaults 1 8
/dev/md7 /home ext2 defaults 1 9

Pravdaze, toto sa asi prejavi negativne na rychlosti (ale ako som uz
napisal, ta nie je u mna prvorada). Precital som si vsetko mozne na
temu "dat swap na raid1, ci nie?", nejake archivy z linux-raid konfery
(mimochodom, bola tam o tom celkom pekna flame!), aj v "howto" je nieco
na tuto temu, a napokon som sa rozhodol dat ho tiez na raid1. Taky moj
sedliacky rozum mi hovori, ze v tejto konfiguracii by system mohol skor
prezit lahnutie jedneho disku, ak sa pouziva swap (lebo napokon, aj
ten je mirrorovany). Ak by sa totiz len strippoval (co je pripad, ked
by som mal dva swapy na dvoch diskoch s rovnakou prioritou), urcite
by zlyhanie hociktoreho disku malo za nasledok lahnutie systemu (ak
sa swap uz pouzival a bolo tam odlozene nieco zo systemovych veci).

Takze takto. Na pocudovanie, cela tato procedura bola az privelmi
jednoducha a priehladna, az sa mi to verit nechce! Stacilo naozaj len
preluskat "Boot+Root+Raid+Lilo: Software Raid HOWTO" no a k tomu este
"The Software-RAID HOWTO", a drzat sa pekne navodu. Az sa mi chce
kricat: "Ani server bez RAIDu!"

Asi najviac casu mi zabralo stiahnut novy kernel+patch, zvysok som
zvladol v podstate za vcerajsi podvecer. Teraz uz len dumam, ako to
vlastne cele co najlepsie otestovat, kym to supnem naostro do serveru.
Ak mate k tomu nejake tipy, sem s nimi!

Jarry

-- 
Sent through GMX FreeMail - http://www.gmx.net




Další informace o konferenci linux