ot Ivo Gelov(26-01-2008)

reiting (10)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

Nastoiashtata statiia ne e izcherpatelno rukovodstvo po temata, a prosto spodelen opit.
Ne pretendiram, che sum poznavach i spetsialist v oblastta.

ISTORIQ
Survurut, za koito se grizha ima 2 tvurdi diska, koito sa konfigurirani kato softueren RAID-1 masiv.
Potrebitelite mi imat dosta goliam potok ot vhodiashti i izhodiashti pisma, i estestvoto na rabota e takova,
che te triabva da sa postoianno nalichni. Poradi tezi faktori, failovata sistema zapochna vse po-burzo da se zapulva.
Pretsenih, che shte bude po-dobre da napravia Upgrade sega i da ne chakam do posledniia moment.
Tui kato survurut mi e s kutiia 1U (za montazh v shkaf) - v neia ima miasto samo za 2 diska, i variantut za dobaviane
na oshte diskove otpadna. Roveiki se v GOOGLE, popadnah na statii za 2 drugi varianta:

1. Uvelichavane na razmera na nuzhnite razdeli (partitions) vurhu novi diskove
2. Dobaviane na novi razdeli - ili kato novo RAID ustroistvo, ili kato chast ot LVM

Ideiata za LVM mi se stori izklyuchitelno perspektivna i skaliruema.
Do sravnitelno neotdavna beshe nevuzmozhno softuernite RAID masivi da se razdeliat na dialove, kakto fizicheskite
ustroistva - toest, vednuzh suzdaden ot izhodnite fizicheski dialove, RAID masivut vinagi si ostava s razmera na
nai-malkiia ot sustaviashtite go razdeli (v novite iadra tova veche e vuzmozhno, no ne znaia do kakva stepen e testvano).
LVM (Logical Volume Management) reshava tozi problem, kato se iaviava mezhdinno zveno mezhdu fizicheskite dialove i RAID masiva.
Toest - s LVM mozhem dinamichno da obediniavame dialove v edna logicheska grupa (Volume), koiato sled tova se izpolzva kato
baza za suzdavane na RAID masiv. Poveche informatsiia mozhe da se otkrie tuk
http://www.gagme.com/greg/linux/raid-lv...
http://www.open-organizations.org/view/...
http://www.linux.com/base/ldp/howto/Sof...
http://www.debian-administration.org/ar...
Na men obache tozi variant mi se stori po-slozhen (makar i po-hubav), a puk prosto triabvashe da si resha problema
(ne zadulzhitelno po nai-elegantniia nachin). Tepurva da zapochvam da si pravia eksperimenti sus survura beshe nedopustimo.
Izbrah sredniia variant - uvelichavane na razmera na zapulvashtiiat se razdel vurhu novi diskove.

IZHODNI DANNI
Dva SATA diska po 120 GB sus slednite dialove:
+-----------+-----------+----------+----------+----------+----------+
| SATA - 0  | SATA - 1  | RAID - 1 | Tip dial  | Bootable | Montiran |
+-----------+-----------+----------+----------+----------+----------+
| /dev/sda1 | /dev/sdb1 | /dev/md0 | Primary  |    Da    | /boot    |
+-----------+-----------+----------+----------+----------+----------+
| /dev/sda2 | /dev/sdb2 | /dev/md1 | Primary  |          | /        |
+-----------+-----------+----------+----------+----------+----------+
| /dev/sda3 |           |          | Primary  |          | Swap     |
+-----------+-----------+----------+----------+----------+----------+
|           | /dev/sdb3 |          | Primary  |          | Swap     |
+-----------+-----------+----------+----------+----------+----------+
| /dev/sda4 |           |          | Extended |          |    -     |
+-----------+-----------+----------+----------+----------+----------+
|           | /dev/sdb4 |          | Logical  |          |    -     |
+-----------+-----------+----------+----------+----------+----------+
| /dev/sda5 | /dev/sdb5 | /dev/md3 | Logical  |          | /var     |
+-----------+-----------+----------+----------+----------+----------+
| /dev/sda6 | /dev/sdb6 | /dev/md2 | Logical  |          | /usr     |
+-----------+-----------+----------+----------+----------+----------+
| /dev/sda7 |           |          | Logical  |          | /tmp     |
+-----------+-----------+----------+----------+----------+----------+
|           | /dev/sdb7 |          | Logical  |          | /var/tmp |
+-----------+-----------+----------+----------+----------+----------+

PLAN za RESHENIE na ZADACHATA
Sustavih si plan ot slednite tochki:

1. Suzdavane na razdeli vurhu novite diskove, koito da sa golemi ili tochno kolkoto sushtestvuvashtite razdeli,
ili suvsem malko po-golemi (izklyuchenie pravi razdela za /var - zashtoto tukmo nego triabvashe da razshiriavam;
nego go napravih tolkova goliam, kolkoto pozvoliavashe svobodnoto prostranstvo na diska) i v ABSOLYUTNO sushtata
posledovatelnost (pri druga posledovatelnost prosto shtiah izlishno da si utezhnia zhivota, bez da spechelia nishto)

2. Ruchno degradirane na RAID masivite - logichesko izvezhdane na vtoriia disk ot masiva

3. Podmiana na stariia disk SATA-1 s nov (estestveno pri izklyuchena mashina)

4. Zadavane na tipove na razdelite (tazi stupka mi e neobhodima, ponezhe shtiah da suzdam razdelite na novite
diskove s PartitionMagic pod DOS, vmesto s fdisk pod Linux - a puk PartitionMagic ne mozhe da suzvada razdeli
ot tip Linux Autodetect Software RAID)

5. Ruchno vklyuchvane na noviia disk v sushtestvuvashtite RAID masivi - masivut se samosinhronizira, kato kopira
dannite ot stariia disk SATA-0 na noviia SATA-1

6. Vremenno zabraniavane na avtomatichnoto montirane na "/var" - tova e neobhodimo, zashtoto promianata na razmera
na failovata sistema s resize2fs mozhe da se osushtestvi samo ako razdelut ne se izpolzva v momenta. A puk
promianata (uvelichenieto) na failovata sistema se nalaga, zashtoto pri suzdavaneto na noviia RAID masiv ot
novite po-golemi razdeli ne vodi do AVTOMATICHNO uvelichavane na failovata sistema ext3

7. Tuk teoretichno sledva da se napravi ruchno degradirane na RAID masivite, za da se izvede tozi put purviia disk,
samo che az v burzinata propusnah tazi stupka - za moe shtastie tova ne dovede do zloshtastni posleditsi

8. Podmiana na stariia disk SATA-0 s nov (pak pri izklyuchena mashina)

9. Startirane v ednopotrebitelski rezhim - za da ne se startirat avtomatichno vsichki obichaini servizi (SSH, Postfix,
Apache, MySQL i t.n.)

10. Otnovo zadavane na tipove na razdelite

11. Ruchno vklyuchvane na noviia disk v RAID masivite - tuk se natuknah na podvoden kamuk, vupreki che tochno sledvah
instruktsiite v edna ot statiite v GOOGLE (http://www.steveglendinning.com/2007/10...)
Problemut beshe, che resize2fs prosto ne svurshi nishto - sus suobshtenie ot roda "Nothing to grow". Razbrah zashto,
edva sled kato razgledah parametrite na RAID masivite (mdadm --detail /dev/md3) - Array size i Device Size si biaha
sus starite stoinosti (suotvetstvashti na starite diskove).
Pobluskah si glavata okolo chas, prerovih MAN stranitsite na MDADM (programata za obsluzhvane na RAID masivi) i
nakraia stignah do slednoto zaklyuchenie:

Vupreki, che e otkopiran vurhu po-golemi ot originalniia razmer razdeli - RAID masivut si ostava sus sushtata golemina,
s kakvato e suzdaden navremeto ot po-malkite razdeli. S prostoto suzdavane na nov RAID masiv (tozi put ot novite
razdeli) toi veche beshe s neobhodimiia uvelichen razmer. I sega resize2fs sraboti.

12. Vuzstanoviavane na avtomatichnoto montirane na "/var", i promiana na pravata na "/tmp" i "/var/tmp" na 0777 (tui kato
gi formatirah ot imeto na ROOT potrebitelia)

13. Nastroivane na GRUB da zarezhda i ot SATA-1, ako sluchaino SATA-0 sdade bagazha. Tui kato GRUB e nastroen da startira
ot (hd0), a puk v "/boot/grub/device.map"e opisano, che "/dev/sdb" suotvetstva na (hd1) - sledvaiki instruktsiite ot
http://grub.enbug.org/MirroringRAID
nastroih GRUB da zarezhda i ot vtoriia disk.

DETAILI
Sledva opisanie na stupkite ot goreopisaniia plan s poveche podrobnosti.

1. Predpolagam, che s PartitionMagic bi se spravil vseki Linux potrebitel

2. Degradirane na masivite

mdadm --fail /dev/md0 --remove /dev/sdb2
mdadm --fail /dev/md1 --remove /dev/sdb1
mdadm --fail /dev/md2 --remove /dev/sdb6
mdadm --fail /dev/md3 --remove /dev/sdb5
swapoff /dev/sdb3

Poslednata komanda za spirane na SWAP ustroistvoto (az imah 2) prosto ia vidiah v edna ot statiite v Internet. Mislia,
che dori da lipsva - tova niama da povliiae na tsialata protsedura.

4. Zadavaneto na tipove za razdelite stava s komanda "t" na fdisk - suotvetno s FD se markirat razdelite, koito shte
uchastvat v budeshtite RAID masivi; s 83 se markirat dvata Linux-native diala (za /tmp i /var/tmp - sda7 i sdb7);
s 5 markirah Extended diala, ponezhe PartitionMagic go beshe suzdal kato tip 4 (ne sum se zamislial dali Linux shteshe da
raboti pri tip 4 - prosto na starite diskove beshe tip 5, zatova go napravih taka i pri novite)
Formatirah /sdb7 kato ext3 failova sistema - komanda "mke2fs -j /dev/sdb7"

5. Ruchno dobaviane na noviia disk v RAID masivite

mdadm /dev/md0 --add /dev/sdb2
mdadm /dev/md1 --add /dev/sdb1
mdadm /dev/md2 --add /dev/sdb6
mdadm /dev/md3 --add /dev/sdb5

Tui kato tova obiknoveno sa bavni komandi, i se izpulniavat na zaden plan (background) - niama smisul da gi puskate
vsichki navednuzh, po-dobre e da se izchakva vsiaka ot tiah da zavurshi. Tova se proveriava periodichno s komandata
"cat /proc/mdstat" - za suotvetniia masiv triabva da pishe [2/2] [UU]

md1 : active raid1 sdb1[0] sda1[1]
     128384 blocks [2/2] [UU]

6. Zakomentirah reda v /etc/fstab za montiraneto na /var

8. Izklyuchih survura, izvadih /dev/sda, na negovo miasto slozhih toku-shto zapisaniia 500 GB disk, a vmesto /dev/sdb
slozhih vtoriia (vse oshte prazen) 500 GB disk

9. Vklyuchih survura v ednopotrebitelski rezhim. Za GRUB tova se pravi po sledniia nachin:

a) po vreme na nachalnoto zarezhdane se natiska proizvolen klavish
b) v rezultat se poiaviava menyuto za izbor na iadro
v) sus strelkite se izbira zhelanoto iadro (moeto beshe SMP)
g) natiska se klavish "e", poiaviavat se parametrite za zarezhdane na iadroto
d) sus strelkite se otiva na reda, na koito e posocheno iadroto
      kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/md0
e) natiska se otnovo klavish "e", za da vleze v rezhim na redaktirane
zh) nakraia na reda se dobavia interval i dumata "single" (ili samo "s")
z) natiska se ENTER, za da izleze ot rezhim na redaktirane
i) natiska se klavish "b", za da zapochne zarezhdane na izbranoto iadro

Tazi promiana vazhi samo vednuzh, do sledvashtiia restart - zashtoto GRUB ne e zapisal nastroikite v konfiguratsionniia si fail.
Pri startiraneto se poiaviavat greshki, che lipsvat direktorii /var/lib i /var/run, no mozhe smelo da se ignorirat.

11. Ruchno dobaviane na noviia disk v RAID masivite

mdadm /dev/md0 --add /dev/sdb2
mdadm /dev/md1 --add /dev/sdb1
mdadm /dev/md2 --add /dev/sdb6

Narochno ne napisah poslednata komanda "mdadm /dev/md3 --add /dev/sdb5", zashtoto kakto obiasnih po-gore tova se okaza
podvoden kamuk. Pravilnata poreditsa ot komandi e

mdadm --stop /dev/md3
mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sd[ab]5

Poslednata komanda e nai-vazhna v tsialoto tova uprazhnenie, zashtoto bez neia resize2fs niama da mozhe da
svurshi nishto - RAID masivut si ostava sus starata golemina, vupreki che se namira v nov i po-goliam razdel.
Izpulnenieto i e dosta bavno, za razlika ot "mdadm --add" - 132 minuti sreshtu 26 minuti.
Sled kato vsichki RAID masivi biaha sinhronizirani, izpulnih komandata "resize2fs /dev/md3".
Tochno zaradi neia po-gore zakomentirah montiraneto na /var v /etc/fstab. Pri purvoto i izpulnenie tia poiska da
pusna "e2fsck -f /dev/md3" - napravih go.

12. Mahnah komentara za montiraneto na /var ot /etc/fstab, promenih pravata na /tmp i /var/tmp da budat 0777 i restartirah

13. Nastroika na GRUB za dualno startirane ot koi da e disk (sda ili sdb)
Ot komandniiat red se izpulniava komanda grub, s koiato vlizame v neshto kato elementaren BASH shel i se izpulniava slednata
poreditsa komandi:

device (hd0) /dev/sdb
root (hd1,0)
setup (hd1)
quit

Sega GRUB e instaliran na dvata diska, i sdb e nasochen kum (hd0).

Gotovo - df bi triabvalo da pokazva, che /var e s novata golemina.


<< Konvertirane na videofailove v 3gp format | >>