07-08/2001
Linuxove´ noviny
´ vodem U David H¨ aring
Doba pra ´ zdnin a letnı´ch dovoleny ´ch je pomalu za na ´ mi a vs ˇichni zase zvolna pˇrivyka ´ me pracovnı´mu procesu. Ani ˇvrte v redakci LN nezaha ´ lı´me, a tak tady ma ´ me letos jiz ˇc ´ vyda ´ nı´ Linuxovy ´ch novin. Kromˇ e vyhla ´ sˇenı´ vı´tˇ ez˚ u pra ´ zdninove ´ ˇ´sle, ˇ´sle soutˇ ez ˇe, kterou jsme vypsali v minule ´m c ı v tomto c ı najdete recenzi knı´z ˇky o MySQL, vydanou nakladatelstvı´m ˇla Computer Press, rozsa ´ hly ´ c ´ nek o softwarove ´ implementaci diskovy ´ ch polı´ RAID v Linuxu, na ´ vod jak instalovat Red Hat Linux a Windows95 na jeden disk, recenzi neda ´ vno vydane ´ linuxove ´ verze slovnı´ku Lingea Lexicon a popis obsluz ˇne ´ho software za ´ loz ˇnı´ch zdroj˚ u od APC — balı´ˇ cku Apcupsd. Pˇripomı´nky, na ´ mˇ ety a zejme ´na pˇr´spˇ ı evky :-) m˚ uz ˇete jako obvykle posı´lat na adresu redakce (1).
dostal na ´ vrh vz ˇdy tˇri body, za druhe ´ dva a za tˇretı´ jeden), ale ve sve ´ podstatˇ e nenı´ dokonˇ cen. Na druhe ´m a tˇretı´m mı´stˇ e se umı´stily na ´ vrhy od
[email protected]:
1 adresa redakce
mailto:
[email protected]
Soutˇ ez ˇ Linuxovy ´ ch novin Pavel Janı´k, 4. za ´ˇr´ı 2001
ˇ´sle V minule ´m c ı Linuxovy ´ch novin vyhla ´ sila redakce soutˇ ez ˇ o nejhezˇ c´ı grafickou obrazovku pro program LILO. Soutˇ ez ˇe ˇastnilo a pravidl˚ se zu ´c um soutˇ ez ˇe vyhovˇ elo celkem devˇ et graficky ´ch na ´ vrh˚ u. Odborna ´ porota soutˇ ez ˇe byla sloz ˇena z redakce Linuxovy ´ ch novin (David H¨ aring, Pavel Janı´k, Ondˇrej Va ´ cha), Michala Krauseho (za ´ stupce sponzora) a Dana Ohnesorga. Laicka ´ porota zasedala ve dvojici Miroslava Kra ´ tka ´ a Marie Ohnesorgova ´. Velky ´m pˇrekvapenı´m soutˇ ez ˇe se stal graficky ´ na ´ vrh Lubos ˇe Horni (
[email protected]), ktery ´ sice dopadl v hodnocenı´ odborne ´ i laicke ´ poroty nejle ´pe (zı´skal celkem 13 bod˚ u za
s dvana ´ cti a pˇ eti body. Vı´tˇ ez soutˇ ez ˇe obdrz ˇ´ı od sponzora vˇ ecne ´ dary a tˇreba se s podobny ´m logem setka ´ me i v nˇ ektere ´ verzi linuxove ´ distribuce. . .Vsˇechny, nejen ty vı´tˇ ezne ´, na ´ vrhy graficky ´ ch obrazovek pro LILO si m˚ uz ˇete prohle ´dnout na adrese (1). 1 Na ´ vrhy graficky ´ch obrazovek pro LILO
ftp://ftp.linux.cz/pub/linux/local/noviny/2001-07/soutez
umı´stˇ enı´ od jednotlivy ´ ch porotc˚ u, pˇriˇ cemz ˇ za prvnı´ mı´sto
ˇ Linuxove ´ noviny pˇripravuje a vyda ´ va ´ Ceske ´ sdruz ˇenı´ uz ˇivatel˚ u operaˇ cnı´ho syste ´mu Linux
ISSN 1213-3655
Linuxove ´ noviny
07-08/2001
Nauˇ cte se MySQL za 21 dnı´
Softwarovy ´ RAID pod Linuxem
ˇervence 2001 Dan Ohnesorg, 21. c
Pokud jste si ted’ ˇrekli, co ten na ´ m ma ´ co porouˇ cet, vˇ ezte, z ˇe se nejedna ´ o rozkaz, ale o na ´ zev knihy. Vydalo ji nakladatelstvı´ Computer Press v edici Databa ´ ze. Jedna ´ se o pˇreklad knihy nakladatelstvı´ Sams, ktere ´ vyda ´ va ´ celou edici knih, snaz ˇ´ı ˇtena ˚ m podat pˇr´vˇ cı´ch se c ´ˇru ı etivou a srozumitelnou formou za ´ klady r˚ uzny ´ch informaˇ cnı´ch technologiı´. Konkre ´tnˇ e tato kniha se podle me ´ho na ´ zoru povedla. Aˇ ckoliv je u ´ zce orientova ´ na na MySQL, vysvˇ etluje za ´ klady ˇ i normalizaci dat, a tak SQL, smysl pouz ˇ´va ı ´ nı´ databa ´ zı´ c jejı´ prvnı´ polovinu m˚ uz ˇete pouz ˇ´t ı bez u ´ prav s jakoukoliv ˇa jinou databa ´ zı´. Druha ´c ´ st jiz ˇ ˇresˇ´ı konkre ´tnı´ vyuz ˇitı´ MySQL ˇi PHP, tvorbu CGI (mimo jine ´ i spojenı´ s jazykem Perl c script˚ u) a je me ´nˇ e pˇrenositelna ´. Jestli la ´ tku skuteˇ cnˇ e zvla ´ dnete za 21 dnı´ nevı´m, ale je to celkem pravdˇ epodobne ´. Pˇredpokla ´ dajı´ se alespoˇ n za ´ kladnı´ ˇtena vˇ edomosti o poˇ c´taˇ ı c´ch, ı ktere ´ jistˇ ec ´ˇr te ´to recenze ma ´, kdyz ˇ uz ˇ ji doka ´ zal najı´t na Internetu. Vy ´ klad je rozhodnˇ e polopaticky ´. Zvla ´s ˇtnı´ zmı´nku si zaslouz ˇ´ı pˇreklad a sazba. Sazba dosta ´ va ´ pˇ et mı´nus, protoz ˇe pˇr´klady ı jsou sa ´ zeny fontem, ktery ´ nema ´ jednoduche ´ uvozovky a na jejich mı´stˇ e je vytis ˇtˇ en znak ‡, a tak zaˇ ca ´ teˇ cnı´k, ktere ´mu je kniha urˇ cena, bude asi dost zmaten. Takte ´z ˇ dlouhe ´ na ´ zvy parametr˚ u jsou zmrsˇene ´, asi tˇ ez ˇko se va ´ m povede import provedeny ´ pˇr´kaı zem s parametrem -fields-enclosed-by=‡ -fields terminated-by=/ (pokud nejste zbˇehlı´ v syntaxi, tak vˇezte, z ˇe oba parametry musı´ zaˇ c´nat ı dvˇ ema mı´nusy a v druhe ´m samozˇrejmˇ e nenı´ mezera mezi slovy „fields“ a „terminated“, ny ´ brz ˇ je tam opˇ et mı´nusek). Chyba je za ´ keˇrna ´ v tom, z ˇe v knize se mı´sto dvou mı´nusk˚ u vyskytujı´ hned tˇri varinaty, skuteˇ cnˇ e spra ´ vnˇ e vysa ´ zene ´ dva mı´nusy, jeden kra ´ tky ´ minus a dva mı´nusky slite ´ do dlouhe ´ pomlˇ cky. (Pro ry ´ paly, ten pˇr´kaz ı ma ´ samozˇrejmˇ e dalsˇ´ı proble ´m, i kdyby v nˇ em byl spra ´ vnˇ e vytis ˇtˇ en jednoduchy ´ apostrof, musel by se escapovat aby se k mysql dostal, ale protoz ˇe nevı´m, jak je to v origina ´ lnı´ knize, tak nemohu obvinit z vady sazbu.) ˇ te, neobsahuje s Pˇreklad je pˇ ekny ´, dobˇre se c ˇroubovane ´ vˇ ety, se ktery ´ mi se obˇ cas setka ´ va ´ me. Ale je ponˇ ekud nepˇresny ´, jeden pˇr´klad ı za vsˇechny, parametr -h u mysqldump dˇ ela ´ pry ´ tohle: „-h=na ´ zevhostitele. Vytvoˇr´ı soubor vy ´ pisu na urˇ cene ´m hostiteli, mı´sto na implicitnˇ e nastavene ´m mı´stnı´m hostiteli (localhost).“ My, kteˇr´ı vı´me, z ˇe parametr uda ´ va ´ na ´ zev serveru, na ktere ´m je uloz ˇena databa ´ ze se kterou pracujeme, jsme celkem v pohodˇ e. Doka ´z ˇeme si to uz ˇ nˇ ejak schroustat. Zaˇ ca ´ teˇ cnı´k ale bude marnˇ e hledat vydumpovana ´ data na serveru, kde nejsou a naopak nebude vˇ edˇ et, kam ma ´ napsat jme ´no serveru, se ktery ´m pracuje. (Opˇ et jen tak na okraj, v anglicke ´ dokumentaci je to popsa ´ no prostˇ e a jasnˇ e: -h|--host=hostname... Connect to host.) Nicme ´nˇ e celkovˇ e se mi kniha lı´bila. Myslı´m si, z ˇe by Computer Press mohl vydat i dalsˇ´ı knihy z te ´to edice a nezby ´va ´ nez ˇ mu popˇra ´ t vı´ce s ˇtˇ estı´ pˇri fina ´ lnı´ch u ´ prava ´ ch knihy. Nauˇ cte se MySQL za 21 dnı´, Mark Maslakowski, vydalo nakladatelstvı´ a vydavatelstvı´ Computer Press v roce ˇ 2001. 480 stran, doporuˇ cena ´ prodejnı´ cena 490 Kˇ c. Clenove ´ CZLUGu mohou knihu zı´skat se slevou.
2
ˇervence 2001 David H¨ aring, 28. c
Definice RAIDu
Na rozdı´l od jiny ´ ch hardwarovy ´ ch proble ´m˚ u jsou vy ´ padˇasovˇ ky disk˚ u obvykle spojeny s c e na ´ roˇ cnou obnovou dat ze za ´ loh. Tˇ emto proble ´m˚ um se ale m˚ uz ˇeme vyhnout pouz ˇitı´m ˇi vy redundantnı´ch diskovy ´ch polı´ RAID, ktera ´ jsou v˚ uc ´padk˚ um jednotlivy ´ ch disk˚ u odolnˇ ejs ˇ´. ı Oznaˇ cenı´ RAID pocha ´ zı´ z anglicke ´ho „Redundant Array of Inexpensive Disks“ nebo take ´ „Redundant Array of Independent Disks“. Jedna ´ se tedy o nˇ ekolik disk˚ u slouˇ ceny ´ch do jednoho logicke ´ho svazku, ktery ´ zpravidla zajis ˇt’uje urˇ citou redundanci dat, dı´ky kteˇ i hardwarovy re ´ je pak odolny ´ v˚ uc ´ m vy ´ padk˚ um nˇ ektere ´ho z disk˚ u. I kdyz ˇ je v na ´ zvu obsaz ˇeno slovı´ˇ cko „redundant“, ne vsˇechny typy RAIDu jsou skuteˇ cnˇ e redundantnı´. Zatı´mco nˇ ektere ´ typy RAIDu jsou navrz ˇeny s ohledem na maxima ´ lnı´ bezpeˇ cnost dat, jine ´ jsou naopak optimalizova ´ ny na rychlost. Hardwarove ´ a softwarove ´ implementace RAIDu RAID lze provozovat v podstatˇ e dvojı´m zp˚ usobem. Bud’ je realizova ´ n v hardwaru, coz ˇ obna ´s ˇ´ı specia ´ lnı´ ˇradiˇ c osazeny ´ procesorem a zpravidla vybaveny ´ vlastnı´ pamˇ etı´, ktera ´ slouz ˇ´ı jako cache. Vesˇkere ´ funkce RAIDu plnı´ ˇradiˇ c a z pohledu operaˇ cnı´mu syste ´mu se chova ´ jako jediny ´ disk. Tato ˇresˇenı´ by ´vajı´ pomˇ ernˇ e draha ´ (Mylex, DPT — nynı´ Adaptec, ICP Vortex, velcı´ vy ´robci PC jako HP, IBM, Compaq apod. majı´ sve ´ vlastnı´ implementace). Pˇrednostı´ hardwarovy ´ch ˇresˇenı´ by ´va ´ maxima ´ lnı´ spolehlivost a ve srovna ´ nı´ se softwarovou variantou RAIDu dovedou odlehˇ cit za ´ tˇ ez ˇi syste ´mu. RAID ovs ˇem take ´ m˚ uz ˇe by ´ t realizova ´ n patˇriˇ cny ´ m ovladaˇ cem na u ´ rovni operaˇ cnı´ho syste ´mu a spousta operaˇ cnı´ch syste ´m˚ u to take ´ ˇ uje. Toto ˇres dnes umoz ˇn ˇenı´ m˚ uz ˇe by ´ t za jisty ´ ch okolnostı´ flexibilnˇ ejs ˇ´ı a rychlejs ˇ´, ı ale take ´ na ´ roˇ cnˇ ejs ˇ´ı na syste ´move ´ ˇ as procesoru. V poslednı´ch leprostˇredky — zejme ´na na c tech se setka ´ va ´ me i s nap˚ ul hardwarovy ´ mi/softwarovy ´ mi implementacemi RAIDu, kdy hardware obsahuje jen minima ´ lnı´ podporu a vˇ etsˇinu pra ´ ce dˇ ela ´ ovladaˇ c — tato varianta je levna ´ , ale ˇrada produkt˚ u te ´to kategorie je nevalne ´ kvaliˇla ty a vy ´konu. Tento c ´ nek je zamˇ eˇreny ´ na softwarovy ´ RAID pod Linuxem. Teorie fungova ´ nı´ RAIDu Nez ˇ se zamˇ eˇr´me ı na detaily softwarove ´ho RAIDu pod Linuxem, podı´va ´ me se na princip fungova ´ nı´ jednotlivy ´ ch typ˚ u RAIDu a jejich vlastnosti. RAID 0 (Nonredundant striped array) Tento typ je urˇ cen pro aplikace, ktere ´ vyz ˇadujı´ maxima ´ lnı´ rychlost a nenı´ redundantnı´. Naopak je potˇreba vzı´t v u ´ vahu, z ˇe pravdˇ epodobnost vy ´padku takove ´ho pole roste s poˇ ctem disk˚ u. Idea ´ lnı´ pouz ˇitı´ pˇredstavujı´ audio/video streamingove ´ aplikace, eventua ´ lnˇ e databa ´ ze a obecnˇ e aplikace, pˇri kteˇteme sekvenˇ ry ´ch c cnˇ e velka ´ mnoz ˇstvı´ dat. Za ´ kladnı´ jednotˇesky pruh), coz kou pole je tzv. stripe (z angl. „stripe“, c ˇ je blok dat urˇ cite ´ velikosti (bˇ ez ˇnˇ e 4-64kB v za ´ vislosti na aplikaci). Po sobˇ e jdoucı´ data jsou pak v poli rozloz ˇena stˇr´daı
Linuxove ´ noviny vˇ e mezi disky do „strip˚ u“ takovy ´ m zp˚ usobem, aby se pˇri ˇtenı´/za sekvenˇ cnı´m c ´ pisu pˇristupovalo ke vsˇem disk˚ um souˇasnˇ ˇtenı´ tak c e. Tı´m je zajisˇtˇ ena maxima ´ lnı´ rychlost jak pˇri c i za ´ pisu, ale souˇ casnˇ e je tı´m da ´ na take ´ zranitelnost pole. Pˇri vy ´ padku ktere ´hokoliv disku se sta ´ vajı´ data v podstatˇ e neˇitelna c ´ (respektive nekompletnı´). RAID 0 by ´va ´ oznaˇ cova ´n rovnˇ ez ˇ jako striping. Protoz ˇe nenı´ redundantnı´, ma ´ nejvy ´hodnˇ ejs ˇ´ı pomˇ er cena/kapacita. Poˇ cet disk˚ u je libovolny ´. Je ovsˇem tˇreba pamatovat na to, z ˇe s rostoucı´m poˇ ctem disk˚ u v poli roste i pravdˇ epodobnost vy ´padku pole (protoz ˇe vy ´padek libovolne ´ho disku znamena ´ hava ´ rii cele ´ho pole); RAID 0 je tedy velmi rychly ´, ale me ´nˇ e bezpeˇ cny ´ nez ˇ samostatny ´ disk.
07-08/2001 RAID 2 (Parallel array with ECC) Pole tohoto typu jsou dnes jiz ˇ historiı´, protoz ˇe dnesˇnı´ disky majı´ vlastnı´ opravne ´ mechanismy a uchova ´ vajı´ ECC informace pro kaz ˇdy ´ sektor samy. V polı´ch tohoto typu se stripovalo ˇa po jednotlivy ´ch sektorech a c ´ st disk˚ u pole byla vyhrazena ˇ tenı´ i za pro ukla ´ da ´ nı´ ECC informacı´. Jake ´koliv c ´ pis proto zpravidla zahrnovalo pˇr´stup ı ke vsˇem disk˚ um pole, coz ˇ bylo pˇreka ´z ˇkou vysˇsˇ´ho ı vy ´konu zejme ´na u aplikacı´ch pracujı´cı´ch se vˇ ets ˇ´mi ı kusy dat. Tento typ nenı´ redundantnı´.
RAID 3 (Parallel array with parity) Take ´ tento typ polı´ se jiz ˇ nepouz ˇ´va ı ´ , jedna ´ se o pˇredch˚ udce RAIDu 4. Stripovalo se po sektorech, ale jeden disk byl vyhrazen jako paritnı´, coz ˇ zajis ˇt’ovalo redundanci (princip zajis ˇtˇ enı´ redundance je stejny ´ jako u RAIDu 4 a 5, ktery ´ je popsa ´ n nı´z ˇe). Protoz ˇe i v tomto pˇr´padˇ ı e se stripovalo ˇtenı´ i za po sektorech, jake ´koliv c ´ pis zpravidla zahrnovalo pˇr´stup ı ke vs ˇem disk˚ um pole.
RAID 4 (Striped array with parity)
sche ´ma pole RAID 0 RAID 1 (Mirrored array) ˇtenı´ RAID 1 je naopak maxima ´ lnˇ e redundantnı´. Rychlost c m˚ uz ˇe by ´ t oproti samostatne ´mu disku vy ´ raznˇ e vys ˇs ˇ´, ı rychlost za ´ pisu je stejna ´ jako u samostatne ´ho disku. Funguje tak, z ˇe data jsou pˇri za ´ pisu „zrcadlena“ na vs ˇechny disky v poli (tedy v pˇr´padˇ ı e RAIDu 1 tvoˇrene ´ho dvˇ ema disku jsou ˇtenı´ lze vyuz data duplikova ´ na apod.). Pˇri c ˇ´t ı vı´cero kopiı´ ˇ´st dat a podobnˇ e jako u RAIDu 0 c ı za vsˇech disk˚ u souˇ casnˇ e. Tento typ pole je urˇ cen pro aplikace s d˚ urazem na maxima ´ lnı´ redundanci. Vy ´hodou tohoto redundantnı´ho ˇres ˇenı´ je stabilnı´ vy ´ kon i v pˇr´padˇ ı e vy ´ padku disku, nevy ´ hodou je pomˇ er cena/kapacita. Poˇ cet disk˚ u by ´va ´ bud’ 2 anebo libovolˇ´m ny ´, c ı vˇ ets ˇ´ı poˇ cet disk˚ u, tı´m vˇ ets ˇ´ı redundance a odolnost proti vy ´padku.
Raid 4 je redundantnı´ pole, ktere ´ se dnes jiz ˇ pouz ˇ´va ı ´ ma ´lo. Funkˇ cnˇ e je podobne ´ RAIDu 5, ktery ´ je ale vy ´ konnˇ ejs ˇ´. ı Funguje tak, z ˇe jeden disk je vyhrazen jako tzv. paritnı´ disk. Na paritnı´m disku je zaznamena ´ n kontrolnı´ souˇ cet (operace XOR pˇres data stejne ´ pozice jednotlivy ´ch disk˚ u). Pokud tedy dojde k vy ´padku nˇ ektere ´ho z datovy ´ch disk˚ u, lze data rekonstruovat z dat zbyly ´ ch disk˚ u a parity uloz ˇene ´ na paˇi vy ritnı´m disku. RAID 4 je odolny ´ v˚ uc ´ padku libovolne ´ho jednoho disku a ma ´ tedy pˇr´znivy ı ´ pomˇ er cena/kapacita. Paritnı´ disk ale pˇredstavuje u ´ zke ´ hrdlo te ´to architektury pˇri za ´ pisech, protoz ˇe kaz ˇdy ´ za ´ pis znamena ´ take ´ za ´ pis na paritnı´ disk. Mimima ´ lnı´ poˇ cet disk˚ u je 3.
sche ´ma pole RAID 4
RAID 5 (Striped array with rotating parity)
sche ´ma pole RAID 1
ˇi vy Tento typ poskytuje redundanci v˚ uc ´ padku libovolne ´ho jednoho disku s dobry ´m pomˇ erem cena/kapacita a vy ´konem. RAID 5 je vylepsˇena ´ varianta RAIDu 4 v tom, z ˇe parita nenı´ uloz ˇena na jednom vyhrazene ´m disku, ale je rozmı´stˇ ena ˇ´mz rovnomˇ ernˇ e mezi vs ˇemi disky pole, c ı ˇ se odstranı´ u ´ zke ´ hrdlo architektury RAIDu 4.
3
Linuxove ´ noviny
07-08/2001 do pole syste ´m provede na pozadı´ (tedy bez narus ˇenı´ dostupnosti pole) rekonstrukci pole a jakmile je rekonstrukce hotova, je pole opˇ et plnˇ e redundantnı´. Rekonstrukcı´ je mı´nˇ ena bud’ synchronizace obsahu nove ´ho disku s ostatnı´mi aktivnı´mi disky (v prı´padˇ e RAIDu 1), anebo rekonstrukce obsahu p˚ uvodnı´ho vadne ´ho disku na za ´ kladˇ e redundantnı´ informace (jedna ´ -li se o RAID 4 nebo 5). Po dobu, nez ˇ rekonstrukce probˇ ehne, se pole nacha ´ zı´ v tzv. degradovane ´m rez ˇimu, kdy v za ´ vislosti na konfiguraci nemusı´ by ´t redundantnı´ a v pˇr´padˇ ı e RAIDu 5 se to projevı´ snı´z ˇeny ´m vy ´konem (odtud na ´ zev „degradovany ´ rez ˇim“). Je samozˇrejmˇ e moz ˇne ´ pole provozovat bez rezervnı´ch disk˚ u a disk vymˇ enit pozdˇ eji manua ´ lnˇ e. Detailnˇ e se na vy ´mˇ enu disk˚ u a rekonstrukci polı´ jes ˇtˇ e podı´va ´ me pozdˇ eji.
sche ´ma pole RAID 5 Paritu lze spoˇ c´tat ı bud’ tak, z ˇe skuteˇ cnˇ e naˇ cteme a XORujeme data z odpovı´dajı´cı´ch datovy ´ch strip˚ u vs ˇech disk˚ u (takto se parita poˇ c´ta ı ´ pˇri inicializaci pole, vyz ˇaduje to tedy pˇr´stup ı ke vs ˇem disk˚ um). Ve druhe ´m pˇr´padˇ ı e naˇ cteme p˚ uvodnı´ data z datove ´ho stripu, ktera ´ se majı´ zmˇ enit, provedeme XOR s novy ´ mi daty a vy ´ sledek jes ˇtˇ e XORujeme s p˚ uvodnı´ hodnotou parity (takto se parita poˇ c´ta ı ´ na jiz ˇ inicializovane ´m bˇ ez ˇ´cı ı ´m poli). Za ´ pis dat tedy pˇredstavuˇ tenı´ (dat a parity), vy je dvoje c ´ poˇ cet parity a dvojı´ za ´ pis (opˇ et dat a parity). Poˇ cet pˇr´stup˚ ı u na disk pˇri za ´ pisu je v tomto pˇr´padˇ ı e konstantnı´ bez ohledu na poˇ cet disk˚ u v poli — pˇristupuje se vz ˇdy ke dvˇ ema disk˚ um — a to take ´ ma ´ za na ´ sledek niz ˇs ˇ´ı vy ´kon tohoto typu pole ve srovna ´ nı´ s redundantnı´m RAIDem 1. V degradovane ´m rez ˇimu (degradovany ´ rez ˇim znamena ´ stav, kdy je nˇ ektery ´ z disk˚ u z pole vyˇrazen kv˚ uli hardwarove ´ chybˇ e) se pak musejı´ data uloz ˇena ´ na vadne ´m disku odvodit z dat zby ´vajı´cı´ch disk˚ u a parity. Na rozdı´l od redundantnı´ho RAIDu 1, kde vy ´ padek disku obvykle neznamena ´ vy ´ razny ´ pokles vy ´ konu, vykazuje RAID 5 v degradovane ´m rez ˇimu ˇtenı´. Minima vy ´ raznˇ e snı´z ˇeny ´ vy ´kon zejme ´na pˇri c ´ lnı´ poˇ cet disk˚ u pro tento typ diskove ´ho pole jsou 3.
sche ´ma vy ´poˇ ctu parity pro RAID 5
Redundantnı´ pole neznamenajı´ konec za ´ loh ˇi vy Redundantnı´ diskova ´ pole jsou odolna ´ pouze v˚ uc ´padk˚ um urˇ cite ´ho poˇ ctu disk˚ u. Neochra ´ nı´ pˇred vy ´padkem napa ´ jenı´, posˇkozenı´m souborove ´ho syste ´mu pˇri pa ´ du cele ´ho syste ´mu nebo chybou administra ´ tora. Proto je potˇreba myslet i na dalsˇ´ı metody ochrany dat — napˇr. na za ´ loz ˇnı´ zdroje napa ´ jenı´ (UPS), z ˇurna ´ lovacı´ souborove ´ syste ´my apod. a v kaz ˇde ´m pˇr´padˇ ı e pravidelnˇ e za ´ lohovat.
Kombinace vı´ce typ˚ u polı´ Z definic vy ´sˇe popsany ´ch typ˚ u polı´ vyply ´va ´, z ˇe redundantnı´ pole nejsou tak rychla ´ , jak bychom si mohli pˇra ´ t a naopak u RAIDu 0 na ´ m chybı´ redundance. Existuje ovs ˇem moz ˇnost, jak vy ´ hody jednotlivy ´ ch typ˚ u diskovy ´ ch polı´ spojit. Tato metoda spoˇ c´va ı ´ ve vytvoˇrenı´ kombinovany ´ch polı´, kdy disky v poli urˇ cite ´ho typu jsou samy tvoˇreny poli jine ´ho typu. Pˇr´kladem ı m˚ uz ˇe by ´t napˇr. RAID 1+0, kdy jsou pole typu RAID 1 da ´ le slouˇ ceny do RAIDu 0. Takove ´ pole je pak redundantnı´ (toleruje vy ´ padek az ˇ dvou disk˚ u), rychlejsˇ´ı zejme ´na v za ´ pisech nez ˇ samotny ´ RAID 1, a ma ´ leps ˇ´ı pomˇ er cena/kapacita nez ˇ RAID 1 (velikost je zde n/2 * disk a minima ´ lnı´ poˇ cet disk˚ u je pak 4. Dals ˇ´ı moz ˇnostı´ je tˇreba RAID 0+1, RAID 5+0, RAID 5+1 apod. pole RAID 5 v degradovane ´m mo ´ du Jak RAID os ˇetˇr´ı vy ´ padek disku ˇ ujı´ nakonVs ˇechny typy redundantnı´ch polı´ obvykle umoz ˇn ˇi vı´ce rezervnı´ch figurovat kromˇ e aktivnı´ch disk˚ u jes ˇtˇ e1c disk˚ u. Aktivnı´mi disky zde rozumı´me disky, ktere ´ jsou souˇa c ´ stı´ funkˇ cnı´ho pole. V pˇr´padˇ ı e vy ´padku nˇ ektere ´ho z aktivnı´ch disk˚ u pak m˚ uz ˇe syste ´m mı´sto vadne ´ho disku okamz ˇitˇ e zaˇ c´t ı pouz ˇ´vat ı disk rezervnı´. Po aktivaci rezervnı´ho disku
4
Typy polı´ podporovany ´ ch Linuxovy ´ m ovladaˇ cem RAIDu Az ˇ doposud jsme se zaby ´vali pouze teoriı´ fungova ´ nı´ diskovy ´ch polı´, podı´vejme se tedy jak to vypada ´ se softwarovy ´m RAIDem v Linuxu. Softwarova ´ implementace RAIDu pod OS Linux podporuje 5 typy diskovy ´ ch polı´:
Linuxove ´ noviny
07-08/2001
Typ poˇcet disk˚u kapacita redundance shrnut´ı -------------------------------------------------------------------------------------------Linear 2 a v´ıce n x disk ne nen´ı raid, pouze slouˇcen´ı disk˚u RAID 0
2 a v´ıce
n x disk
ne
maxim´aln´ı v´ykon pˇri ˇcten´ı i z´apisu
RAID 1
2 a v´ıce
disk
ano
maxim´aln´ı redundance, bez v´yrazn´e degradace v´ykonu pˇri v´ypadku, rychlejˇs´ı ˇcten´ı, vyˇsˇs´ı cena
RAID 4
3 a v´ıce
(n-1) x disk ano
nepouˇz´ıv´a se, nahrazen RAID 5
RAID 5
3 a v´ıce
(n-1) x disk ano
v´yhodn´y pomˇer cena/kapacita
ˇ. 1: shrnutı´ pouz Vy ´pis c ˇ´vany ı ´ch typ˚ u SW RAIDu • Linear — toto v podstatˇ e nenı´ RAID, jedna ´ se o moz ˇˇe nost „pospojova ´ nı´“ vı´ce disk˚ u do jednoho. Co se ty ´c rychlosti, nelisˇ´ı se pˇr´lis ı ˇ od vy ´konu samostatny ´ch disk˚ u. Nenı´ redundantnı´, vy ´hodou vsˇak je napˇr. oproti RAIDu 0 to, z ˇe se v pˇr´padˇ ı e hava ´ rie jednoho z disk˚ u dajı´ data ze zby ´vajı´cı´ch disk˚ u sna ´ ze obnovit, protoz ˇe se nestripuje. • RAID 0 — zde je volitelna ´ velikost stripu; tato vy ´raznˇ e (v za ´ vislosti na aplikaci) ovlivˇ nuje vy ´ kon RAIDu. • RAID 1 — oproti klasicke ´ definici RAIDu 1 kdy se disky spojujı´ pouze do pa ´ r˚ u, pod Linuxem m˚ uz ˇeme vytvoˇrit RAID 1 i z vı´ce nez ˇ dvou aktivnı´ch disk˚ u. • RAID 4 — je sice implementova ´ n, ale funkˇ cnˇ e nahrazen RAIDem 5 • RAID 5 — opˇ et je zde volitelna ´ velikost stripu, ktera ´ ovlivˇ nuje vy ´kon RAIDu.
pouz ˇ´vat ı z ˇurna ´ lova ´ nı´, na RAIDu 5 z ˇurna ´ lova ´ nı´ pouz ˇ´t ı nelze v˚ ubec); • pole nelze libovolnˇ e kombinovat (pˇresnˇ eji lze vytvoˇrit na prvnı´ pohled funkˇ cnı´ kombinovane ´ pole, ale vy ´padek disku m˚ uz ˇe zp˚ usobit pa ´ d cele ´ho pole). Konkre ´tnˇ e je moz ˇne ´ vytva ´ˇrit pole 0+1 a kombinace polı´ 1,4 a 5. Nelze ale pouz ˇ´t ı pole [145]+0. Pro ja ´ dra ˇrady 2.4 tato omezenı´ neplatı´. Konfigurace Konfigurace RAIDu verze 0.90 pouz ˇ´va ı ´ konfiguraˇ cnı´ soubor /etc/raidtab (na rozdı´l od verze 0.42, kde byla konfigurace uloz ˇena v /etc/mdtab), ve ktere ´m se pouz ˇ´vajı ı ´ na ´ sledujı´cı´ direktivy: •
je oznaˇ cenı´ pole. Svazky softwarove ´ho RAIDu se oznaˇujı´ md1 az c ˇ mdX.
Historie, dostupnost, omezenı´ P˚ uvodnı´ ovladaˇ c „MetaDisku“ (odtud na ´ zev ovladaˇ ce — md) napsal Marc Zyngier. Implementace zpoˇ ca ´ tku delsˇ´ı dobu podporovala pouze typy linear, RAID 0 a RAID 1. Pozdˇ eji ovladaˇ c vyvı´jeli zejme ´na Ingo Molna ´ r, Gadi Oxman a nynı´ Neil Brown. Pˇribyla podpora dals ˇ´ch ı typ˚ u polı´ a podpora bootova ´ nı´ z RAIDu 0 a 1. V souˇ casne ´ dobˇ e se m˚ uz ˇeme setkat se dvˇ ema verzemi ovladaˇ ce: verzı´ 0.42, kterou obsahujı´ ˇista c ´ ja ´ dra ˇrady 2.2.x a verzı´ 0.90, ktera ´ se nacha ´ zı´ v ja ´ drech ˇrady 2.4.x. Ja ´ dra 2.2.x vˇ etsˇiny distribucı´ ale obsahujı´ podporu RAIDu verze 0.90, ovladaˇ c te ´to verze pro ja ´ dra 2.2.x je k dispozici ve formˇ e za ´ platy ja ´ dra (1). K provozova ´ nı´ softwarove ´ho RAIDu je zapotˇrebı´ kromˇ e jaderne ´ho ovladaˇ ce take ´ sada utilit raidtools (dˇr´ve ı mdtools), ktere ´ musejı´ odpovı´dat verzi jaderne ´ho ovladaˇ ce (raidtools 0.42 (2) a raidtools 0.90 (3). Ovladaˇ ce RAIDu jsou testova ´ ny pˇredevsˇ´m ı na platformˇ e ˇi Alpha x86, ale lze je provozovat i na platforma ´ ch Sun c (a moz ˇna ´ i dals ˇ´ch, ı ovs ˇem na tˇ echto exotiˇ ctˇ ejs ˇ´ch ı platforma ´ ch jsou me ´nˇ e odladˇ eny). Pro ja ´ dra ˇrady 2.2.x platı´ urˇ cita ´ omezenı´, ktera ´ vyply ´vajı´ z architektury te ´to ˇrady jader: • na redundantnı´m poli (tedy RAID 1 a 5) nenı´ moz ˇno bezpeˇ cnˇ e swapovat (a to ani do souboru) v pr˚ ubˇ ehu rekonstrukce pole; • na redundantnı´ pole (tedy RAID 1 a 5) nenı´ moz ˇno provozovat z ˇurna ´ lovacı´ souborovy ´ syste ´m (le ´pe ˇreˇ ceno, pokud probı´ha ´ na RAIDu 1 rekonstrukce pole, nesmı´ se
raiddev: touto direktivou definice pole zaˇc´na ı ´ , na ´ sledu-
•
raid-level: na´sleduje direktivu raiddev, uva´dı´me zde typ pole (-1 = linear, 0 = RAID 0, 1 = RAID 1, 5 = RAID 5).
•
persistent-superblock: tato direktiva bude popsa´na nı´z ˇe, ty ´ ka ´ se kompatibility se stars ˇ´ı verzı´ RAIDu.
•
chunk-size: velikost stripu, maxima´lnı´ velikost je 4MB (coz ˇ je da ´ no konstantou MAX_CHUNK_SIZE ovladaˇ ce), uda ´ va ´ se v kB.
•
nr-raid-disks: zde uva´dı´me kolik diskovy´ch oddı´l˚u bude souˇ ca ´ stı´ pole (maxima ´ lnı´ poˇ cet je v ja ´ drech 2.2.x 12, ale jsou k dispozici za ´ platy, ktere ´ tento limit podstatnˇ e zvys ˇujı´)
•
nr-spare-disks: poˇcet rezervnı´ch disk˚u v poli
• direktiva device jm´ eno_odd´ ılu na´sledovana´ jednou z direktiv raid-disk, spare-disk, parity-disk nebo failed-disk: tyto direktivy deklarujı´ pˇr´slus ı ˇne ´ oddı´ly, ktere ´ budou souˇ ca ´ stı´ pole. •
raid-disk: tento oddı´l bude aktivnı´m oddı´lem.
•
spare-disk: tento oddı´l bude slouzˇit jako rezervnı´.
•
parity-disk: tento oddı´l bude slouzˇit jako paritnı´ disk (RAID 4).
•
failed-disk: tento oddı´l bude pˇri inicializaci pole pˇre5
Linuxove ´ noviny
07-08/2001
skoˇ cen (ma ´ vy ´znam pouze pˇri sestavova ´ nı´ pole v degradovane ´m stavu, viz diskuse nı´z ˇe). •
parity-algorithm: specifikuje sche´ma rozlozˇenı´ parity u RAIDu 5 (moz ˇnosti jsou: left-symmetric, right-symmetric, right-asymmetric; z podporovany ´ch je obecnˇ e nejrychlejs ˇ´ı left-symmetric).
Konfigurace softwarove ´ho RAIDu je popsa ´ na v pˇr´slus ı ˇne ´m dokumentu HOWTO (4). Stars ˇ´ı verze softwarove ´ho RAIDu (0.40 az ˇ 0.51) pouz ˇ´vaı ly konfiguraˇ cnı´ soubor /etc/mdtab. Pˇrestoz ˇe tato stars ˇ´ı verze ovladaˇ ce je souˇ ca ´ stı´ „ˇ cisty ´ch jader“ 2.2.x, je zastarala ´ a nebudeme se jı´ zde v˚ ubec zaby ´ vat. Pro u ´ plnost je stars ˇ´ı verze RAIDu dokumentovana ´ v pˇr´slus ı ˇne ´m HOWTO (5). Pˇr´ıklady konfiguracı´
nr-spare-disks device raid-disk device raid-disk device raid-disk device spare-disk
1 /dev/sda1 0 /dev/sdb1 1 /dev/sdc1 2 /dev/sdc1 0
Obsluz ˇny ´ software — Raidtools Balı´ˇ cek raidtools (nahrazuje stars ˇ´ı balı´ˇ cek mdtools urˇ ceny ´ pro starsˇ´ı verze ovladaˇ ce RAIDu) obsahuje obsluz ˇne ´ utility nezbytne ´ k manipulaci s diskovy ´ mi poli:
mkraid: pro inicializaci polı´; • raidstart: pro spous ˇtˇ enı´ diskovy ´ ch polı´; • raidstop: pro vypnutı´ diskovy ´ch polı´; • raidhotadd: pˇrida ´ novy ´ diskovy ´ oddı´l do aktivnı´ho dis•
Pˇr´klad ı konfigurace pole linear. Mˇ ejme pole typu linear sloz ˇene ´ ze dvou oddı´l˚ u:
raiddev raid-level persistent-superblock nr-raid-disks nr-spare-disks device raid-disk device raid-disk
/dev/md0 -1 1 2 0 /dev/sda1 0 /dev/sdb1 1
Pˇr´klad ı konfigurace RAID 0. Mˇ ejme diskove ´ pole RAID 0 sloz ˇene ´ ze dvou oddı´l˚ u, sda1 a sdb1, velikost stripu je 16 kB:
raiddev raid-level persistent-superblock chunk-size nr-raid-disks nr-spare-disks device raid-disk device raid-disk
/dev/md0 0 1 16 2 0 /dev/sda1 0 /dev/sdb1 1
Pˇr´klad ı konfigurace RAID 1. Mˇ ejme diskove ´ pole RAID 1 sloz ˇene ´ ze dvou oddı´l˚ u a s jednı´m rezervnı´m oddı´lem:
raiddev raid-level nr-raid-disks nr-spare-disks device raid-disk device raid-disk device spare-disk
/dev/md1 1 2 1 /dev/sda1 0 /dev/sdb1 1 /dev/sdc1 0
Pˇr´klad ı konfigurace pole RAID 5 s rozloz ˇenı´m parity „left-symmetric“, velikostı´ stripu 4 kB a jednı´m rezervnı´m oddı´lem:
raiddev raid-level nr-raid-disks chunk-size parity-algorithm 6
/dev/md2 5 3 4 left-symmetric
kove ´ pole (na ´ hradou za vadny ´ oddı´l, pokud jsou vsˇechny oddı´ly pole funkˇ cnı´, pˇrida ´ novy ´ oddı´l jako rezervnı´ — „spare-disk“). Nelze tedy pouz ˇ´t ı pro rozs ˇ´ˇ ırenı´ kapacity pole; •
raidhotremove: odejme vadny´ diskovy´ oddı´l z aktivnı´ho diskove ´ho pole;
•
raidsetfaulty: oznaˇc´ı funkˇcnı´ diskovy´ oddı´l jako vadny ´, tı´m umoz ˇnı´ jeho odejmutı´ z pole pˇr´kazem ı raidhotremove (mozˇne´ vyuzˇitı´ napˇr. pˇri testova´nı´ nebo vy ´ mˇ ena ´ ch funkˇ cnı´ch disk˚ u); v poslednı´ch disˇ el pouz tribucı´ch Red Hat se pro tento u ´c ˇ´va ı ´ utilita raidhotgenerateerror;
•
raid0run: utilita pro spousˇtˇenı´ starsˇ´ch ı polı´ typu linear nebo RAID 0 bez perzistentnı´ch superblok˚ u (viz nı´z ˇe „Perzistentnı´ superbloky a RAID 0 / linear“).
V budoucnu zˇrejmˇ e budou utility z balı´ˇ cku raidtools nahrazeny jedinou utilitou mdctl, kterou vyvı´jı´ Neil Brown. Prvnı´ verze te ´to utility (6) jsou jiz ˇ k dispozici. Utilita mdctl nemusı´ pouz ˇ´vat ı z ˇa ´ dny ´ konfiguraˇ cnı´ soubor, vs ˇe potˇrebne ´ lze zadat na pˇr´kazove ı ´ ˇra ´ dce, anebo to mdctl zjistı´ analy ´zou RAID superblok˚ u uloz ˇeny ´ ch na discı´ch (podobnˇ e funguje automaticke ´ startova ´ nı´ polı´ ja ´ drem pˇri bootu). Cı´lem autora je tedy pˇridat vy ´ hody a robustnost, kterou poskyˇ se vyhnout tuje vlastnost raid autodetect ja ´ dra a za ´ rovˇ en potencia ´ lnı´m konflikt˚ um mezi neaktua ´ lnı´ konfiguracı´ v souˇaboru raidtab a skuteˇ cnou konfiguracı´ polı´, ke ktery ´m c sem m˚ uz ˇe dojı´t, pokud pouz ˇ´va ı ´ me raidtools. Zatı´m je utilita mdctl ve stavu vy´voje, takzˇe jejı´ ostre´ pouzˇitı´ jesˇtˇe nelze doporuˇ cit. Pozna ´ mka na vysvˇ etlenou: Soubor raidtab odra ´z ˇ´ı konfiguraci polı´ v dobˇ e jejich sestavenı´, ovs ˇem pokud tˇreba pozdˇ eji vymˇ enı´me nebo pˇresuneme nˇ ektere ´ disky, nemusı´ jiz ˇ odra ´z ˇet skuteˇ cnou konfiguraci. Pokud tedy z nˇ ejake ´ho d˚ uvodu potˇrebujeme pole znovu inicializovat anebo ho jen startujeme pomocı´ raidstart, nesmı´me zapomenout soubor raidtab ruˇ cnˇ e upravit, abychom se usˇetˇrili v budoucnu nepˇr´jemnostı ı ´. Inicializace polı´ Jakmile ma ´ me odpovı´dajı´cı´m zp˚ usobem rozdˇ elene ´ disky
Linuxove ´ noviny
07-08/2001
Disk /dev/sda: 255 heads, 62 sectors, 1124 cylinders Units = cylinders of 15810 * 512 bytes Device Boot /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5 /dev/sda6 /dev/sda7
Start 1 18 52 119 119 153 348
End 17 51 118 1124 152 347 1124
Blocks 134354 268770 529635 7952430 268739 1541444 6142154
Id fd fd fd 5 82 fd fd
System Linux raid Linux raid Linux raid Extended Linux swap Linux raid Linux raid
autodetect autodetect autodetect autodetect autodetect
ˇ. 2: vy Vy ´ pis c ´ pis fdisku — nastavenı´ diskovy ´ ch oddı´l˚ u pro autodetekci RAID polı´ a pˇripraveny ´ konfiguraˇ cnı´ soubor /etc/raidtab, m˚ uz ˇeme pole inicializovat utilitou mkraid, ktera ´ pole sestavı´ a aktivuje. Pokud zakla ´ da ´ me pole s perzistentnı´mi RAID superbloky (viz nı´z ˇe), pak mkraid vypı´s ˇe i pozici RAID superblok˚ u:
# mkraid /dev/md5 handling MD device /dev/md5 analyzing super-block disk 0: /dev/sda7, 20163568kB,\ raid superblock at 20163456kB disk 1: /dev/sdb7, 20163568kB,\ raid superblock at 20163456kB Po
u ´ spˇ es ˇne ´
inicializaci bychom mˇ eli v souboru ktery ´ obsahuje informace a aktivnı´ch polı´ch vidˇ et odpovı´dajı´cı´ za ´ znam, napˇr:
/proc/mdstat,
$ cat /proc/mdstat Personalities : [raid0] [raid1] [raid5] read_ahead 1024 sectors md0 : active raid1 sdb1[1] sda1[0]\ 131968 blocks [2/2] [UU] Pote ´ na ´ m nic nebra ´ nı´ pole zforma ´ tovat napˇr. pomocı´
mke2fs, pokud chceme na poli provozovat souborovy´ syste ´m ext2. Utilita mke2fs akceptuje volbu -R stride=X, ktera ´ uda ´ va ´ kolik blok˚ u souborove ´ho syste ´mu obsahuje 1 „stripe“ pole. Tı´m pa ´ dem je take ´ vhodne ´ zadat ruˇ cnˇ e velikost bloku (parametr -b). Napˇr. mˇ ejme pole typu RAID 0 s velikostı´ stripu 16 kB. Pokud budeme chtı´t pouz ˇ´t ı velikost bloku souborove ´ho syste ´mu 4 kB, zada ´ me:
mke2fs /dev/md0 -b 4096 -R stride=4 Raid autodetect anebo raidstart? Nynı´ tedy ma ´ me funkˇ cnı´ diskove ´ pole. Zby ´ va ´ vyˇres ˇit zp˚ usob, jaky ´m se bude pole vypı´nat pˇri vypnutı´ syste ´mu a zapı´nat pˇri startu syste ´mu. Jednou moz ˇnostı´ je pouz ˇitı´ utilit raidstart a raidstop. Pomocı´ tˇechto utilit m˚uzˇeme poˇi zastavit kdykoliv, staˇ le aktivovat c c´ı tedy upravit pˇr´slus ı ˇne ´ startovacı´ skripty. (Pokud uz ˇ distribuce toto neobsahuje; napˇr. distribuce Red Hat nenı´ potˇreba upravovat, ze skriptu /etc/rc.d/rc.sysinit je raidstart vola´n automaticky, existuje-li soubor /etc/raidtab a raidstop je vola ´n ze skriptu /etc/rc.d/init.d/halt.). Druhou, robustnˇ ejsˇ´ı metodou je vyuz ˇitı´ moz ˇnosti automaticke ´ aktivace polı´ ja ´ drem pˇri bootu. Aby mohla fungovat, je potˇreba v prve ´ ˇradˇ e pouz ˇ´vat ı perzistentnı´ RAID superblo-
ky a vsˇechny diskove ´ oddı´ly, ktere ´ jsou souˇ ca ´ stı´ polı´, musejı´ by ´ t v tabulce oddı´l˚ u oznaˇ ceny jako typ Linux raid autodetect (tedy hodnota 0xfd hexadecima´lnˇe). Viz vy´pis fdisku — nastavenı´ diskovy ´ch oddı´l˚ u pro autodetekci RAID polı´. Vy ´hodou tohoto ˇresˇenı´ navı´c je, z ˇe jakmile je diskove ´ pole inicializova ´ no, nepouz ˇ´va ı ´ se jiz ˇ pro opˇ etovny ´ start / zastavenı´ pole konfiguraˇ cnı´ soubor /etc/raidtab. O sestavenı´ a spus ˇtˇ enı´ pole se postara ´ ovladaˇ c RAIDu, ktery ´ na vs ˇech diskovy ´ch oddı´lech typu Linux raid autodetect vyhleda ´ RAID superbloky a na za ´ kladˇ e informacı´ v RAID superblocı´ch pole spustı´. Stejnˇ e tak ovladaˇ c RAIDu vsˇechny pole korektnˇ e vypne v za ´ vˇ ereˇ cne ´ fa ´ zi ukonˇ cenı´ bˇ ehu syste ´mu pote ´, co jsou odpojeny souborove ´ syste ´my. I v pˇr´padˇ ı e zmˇ eny jmen disk˚ u nebo po pˇrenesenı´ disk˚ u na u ´ plnˇ e jiny ´ syste ´m tedy pole bude korektnˇ e sestaveno a nastartova ´ no, viz na ´sledujı´cı´ u ´ ryvek syste ´move ´ho logu po za ´ menˇ e disk˚ u sdc za sdb a sdb za sda:
autorun ... considering sdb6 ... adding sdb6 ... adding sda6 ... created md4 bind<sda6,1> bind<sdb6,2> running: <sdb6><sda6> now! sdb6’s event counter: 00000001 sda6’s event counter: 00000001 md: device name has changed from sdc6 to sdb6\ since last import! md: device name has changed from sdb6 to sda6\ since last import! md4: max total readahead window set to 128k raid1: device sdb6 operational as mirror 1 raid1: device sda6 operational as mirror 0 md: updating md4 RAID superblock on device sdb6 [events: 00000002](write) sdb6’s\ sb offset: 15332224 sda6 [events: 00000002](write) sda6’s\ sb offset: 15332224
RAID superblok Kaz ˇdy ´ diskovy ´ oddı´l, ktery ´ je souˇ ca ´ sti raid svazku (vy ´jimku tvoˇr´ı pouze svazky bez perzistentnı´ch superblok˚ u, viz nı´z ˇe) ˇa obsahuje tzv. RAID superblok. Tento superblok je 4kB c ´ st RAID oddı´lu vyhrazena ´ pro informace o pˇr´slus ı ˇnosti dane ´ho oddı´lu k urˇ cite ´mu poli a o stavu pole. Na ´ sleduje podrobny ´
7
Linuxove ´ noviny
07-08/2001
/* Device "operational" state bits */ #define MD_DISK_FAULTY 0 /* disk #define MD_DISK_ACTIVE 1 /* disk #define MD_DISK_SYNC 2 /* disk #define MD_DISK_REMOVED 3 /* disk
is is is is
faulty / operational */ running or spare disk */ in sync with the raid set */ in sync with the raid set */
typedef struct mdp_device_descriptor_s { __u32 number; /* 0 Device number in the entire set __u32 major; /* 1 Device major number __u32 minor; /* 2 Device minor number __u32 raid_disk; /* 3 The role of the device in the raid set __u32 state; /* 4 Operational state __u32 reserved[MD_SB_DESCRIPTOR_WORDS - 5]; } mdp_disk_t; #define MD_SB_MAGIC /* Superblock state bits */ #define MD_SB_CLEAN #define MD_SB_ERRORS
*/ */ */ */ */
0xa92b4efc 0 1
typedef struct mdp_superblock_s { /* Constant generic information */ __u32 md_magic; /* 0 MD identifier __u32 major_version; /* 1 major version to which the set conforms __u32 minor_version; /* 2 minor version ... __u32 patch_version; /* 3 patchlevel version ... __u32 gvalid_words; /* 4 Number of used words in this section __u32 set_uuid0; /* 5 Raid set identifier __u32 ctime; /* 6 Creation time __u32 level; /* 7 Raid personality __u32 size; /* 8 Apparent size of each individual disk __u32 nr_disks; /* 9 total disks in the raid set __u32 raid_disks; /* 10 disks in a fully functional raid set __u32 md_minor; /* 11 preferred MD minor device number __u32 not_persistent; /* 12 does it have a persistent superblock __u32 set_uuid1; /* 13 Raid set identifier #2 __u32 set_uuid2; /* 14 Raid set identifier #3 __u32 set_uuid3; /* 14 Raid set identifier #4 __u32 gstate_creserved[MD_SB_GENERIC_CONSTANT_WORDS - 16]; /* Generic state information */ __u32 utime; /* 0 Superblock update time __u32 state; /* 1 State bits (clean, ...) __u32 active_disks; /* 2 Number of currently active disks __u32 working_disks; /* 3 Number of working disks __u32 failed_disks; /* 4 Number of failed disks __u32 spare_disks; /* 5 Number of spare disks __u32 sb_csum; /* 6 checksum of the whole superblock __u64 events; /* 7 number of superblock updates (64-bit!) __u32 gstate_sreserved[MD_SB_GENERIC_STATE_WORDS - 9]; /* Personality information */ __u32 layout; /* 0 the array’s physical layout __u32 chunk_size; /* 1 chunk size in bytes __u32 root_pv; /* 2 LV root PV */ __u32 root_block; /* 3 LV root block */ __u32 pstate_reserved[MD_SB_PERSONALITY_WORDS - 4]; /* Disks information */ mdp_disk_t disks[MD_SB_DISKS]; /* Reserved */ __u32 reserved[MD_SB_RESERVED_WORDS]; /* Active descriptor */ mdp_disk_t this_disk; } mdp_super_t;
*/ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */
ˇ. 3: definice RAID superbloku: c ˇa Vy ´pis c ´ st hlaviˇ ckove ´ho souboru md p.h
8
Linuxove ´ noviny popis superbloku, ktery ´ se na ´ m bude pozdˇ eji hodit pˇri ˇresˇenı´ ˇ nˇ ektery ´ ch proble ´movy ´ ch situcacı´ popsany ´ch nı´z ˇe. Ctena ´ˇr, ktery ´ se nechce RAIDem zaby ´vat do hloubky, m˚ uz ˇe tuto ˇa c ´ st pˇreskoˇ cit. RAID superblok (o velikosti 4 kB) je uloz ˇen na konci diskove ´ho oddı´lu. Jeho pozici zı´ska ´ me bud’ ze syste ´move ´ho logu (ovladaˇ c RAIDu loguje updaty RAID superbloku):
md: updating md0 RAID superblock on device kernel: sdb1 [events: 000000e8](write)\ sdb1’s sb offset: 8956096 nebo ji take ´ m˚ uz ˇeme odvodit z velikosti diskove ´ho oddı´lu (komenta ´ˇr zdrojove ´ho ko ´ du raidutils):
If x is the real device size in bytes,\ we return an apparent size of: y = (x & ~(MD_RESERVED_BYTES - 1))\ - MD_RESERVED_BYTES and place the 4kB superblock at offset y. #define MD_RESERVED_BYTES (64 * 1024) Nejjednodus ˇs ˇ´ı je ale podı´vat se do /proc/mdstat, kde je uvedena velikost kaz ˇde ´ho svazku v blocı´ch, napˇr. u pole typu RAID 1:
md0 : active raid1 sdb1[1] sda1[0]\ 131968 blocks [2/2] [UU] RAID superblok z diskove ´ho oddı´lu sdb1 pak zı´ska ´ me a uloz ˇ´me ı do souboru /tmp/superblok pˇr´kazem: ı
dd if=/dev/sdb1 of=/tmp/superblok bs=1k\ skip=131968 count=4
07-08/2001 Perzistentnı´ superbloky a RAID 0 / linear ˇi linear, ma Pokud provozujeme pole RAID 0 c ´ me moz ˇnost zvolit variantu bez pouz ˇitı´ perzistentnı´ho superbloku. Volba „persistent-superblock 0“, znamena ´, z ˇe se RAID superblok nebude ukla ´ dat na disk. Tato moz ˇnost existuje z d˚ uvod˚ u zachova ´ nı´ kompatibility s polemi zˇr´zeny ı ´mi pomocı´ stars ˇ´ı verzı´ ovladaˇ ce RAIDu. Po vypnutı´ takove ´ho pole nez˚ ustane na svazku informace o konfiguraci a stavu pole. Proto je tato pole nutne ´ vz ˇdy znovu inicializovat pˇri kaz ˇde ´m startu bud’ utilitou mkraid, nebo pomocı´ utility raid0run (coz ˇ je pouze symbolicky ´ odkaz na mkraid) a nelze vyuz ˇ´t ı automaticke ´ho startova ´ nı´ polı´ ja ´ drem pˇri bootu. Pozna ´ mka: Na tuto volbu je tˇreba da ´ vat pozor pˇri konfiguraci — pokud pˇri konfiguraci pole RAID 0 direktivu persistent-superblock vynecha´me, pouzˇije se standardnı´ hodnota 0, tedy pole bez perzistentnı´ch superblok˚ u! Monitorova ´ nı´ stavu pole Aktua ´ lnı´ stav diskovy ´ ch polı´ zjistı´me vypsa ´ nı´m souboru /proc/mdstat. Prvnı´ ˇra´dek obsahuje typy polı´, ktere´ ovladaˇ c podporuje (za ´ lez ˇ´ı na konfiguraci ja ´ dra). U jednotlivy ´ch RAID svazk˚ u je pak uvedeno ktere ´ diskove ´ oddı´ly svazek obsahuje, velikost svazku, u redundantnı´ch polı´ pak celkovy ´ poˇ cet konfigurovany ´ ch oddı´l˚ u a z toho poˇ cet funkˇ cnı´ch, na ´ sledovany ´ sche ´matem funkˇ cnosti v hranaty ´ch za ´ vorka ´ ch. Na ´ sledujı´cı´ pˇr´klad ı uva ´ dı´ stav funkˇ cnı´ho pole RAID 1:
md0 : active raid1 hdc1[1] hda1[0]\ 136448 blocks [2/2] [UU]
Jestliz ˇe se jedna ´ o pole RAID 0, sloz ˇene ´ ze dvou disk˚ u, pak velikost zı´skanou z /proc/mdstat vydˇ elı´me 2 napˇr:
Druhy ´ pˇr´klad ı uva ´ dı´ stav pole RAID 1 po vy ´padku jednoho disku, oddı´l sdc1 je oznaˇ cen jako nefunkˇ cnı´ (F=Failed ˇ´sla mı´sto c ı aktivnı´ho oddı´lu):
md4 : active raid0 sdd1[1] sdc1[0]\ 17942272 blocks 16k chunks
md0 : active raid1 sdc1[F] sdd1[0]\ 8956096 blocks [2/1] [U_]
pak superblok zkopı´rujeme pˇr´kazem: ı
Tˇretı´ pˇr´klad ı ukazuje stav pole RAID 1, kdy probı´ha ´ rekonstrukce:
dd if=/dev/sdb1 of=/tmp/superblok bs=1k\ skip=8971136 count=4 Prohle ´dnout si jej m˚ uz ˇeme napˇr. pomocı´ utility od (s vhodny ´mi parametry, napˇr. od -Ax -tx4). Pro kontroˇ´slem“ lu, superblok vz ˇdy zaˇ c´na ı ´ „magicky ´m c ı 0xa92b4efc. Superblok obsahuje zejme ´na na ´ sledujı´cı´ informace: • verzi ovladaˇ ce raidu, ktery ´m byl vytvoˇren, • jedineˇ cny ´ identifika ´ tor pole, • typ RAIDu, • datum vytvoˇrenı´ RAID svazku,
md1 : active raid1 hdc2[1] hda2[0] 530048\ blocks [2/2] [UU] resync=4% finish=6.7min Souˇ ca ´ stı´ raidtools bohuz ˇel nenı´ utilita k monitorova ´ nı´ stavu diskovy ´ch polı´, takz ˇe si administra ´ tor musı´ vypomoci skriptem, ktery ´ je pravidelnˇ e spousˇtˇ en z cronu a kontroluje /proc/mdstat (jednodusˇe napˇr. tak, zˇe si skript na disk uloz ˇ´ı obsah /proc/mdstat nebo jeho MD5 souˇ cet a na ´ slednˇ e kontroluje, jestli se /proc/mdstat zmˇ enil; v pˇr´padˇ ı e zmˇ eny pak prostˇrednictvı´m e-mailu uvˇ edomı´ administra ´ tora) anebo filtrem syste ´move ´ho logu. Rekonstrukce pole
• poˇ cty disk˚ u (aktivnı´ch, rezervnı´ch apod.), ˇ´slo • preferovane ´ vedlejs ˇ´ı c ı RAID zaˇr´zenı ı ´, • stav pole, • kontrolnı´ souˇ cet superbloku, • poˇ cet updat˚ u superbloku, • datum poslednı´ho updatu superbloku, • velikost stripu, • informace o stavu jednotlivy ´ch diskovy ´ ch oddı´l˚ u.
Redundantnı´ typy polı´ je tˇreba po inicializaci, po vy ´ mˇ enˇ e disku, nebo po nahrazenı´ vadne ´ho disku rezervnı´m (viz diˇi rektiva spare-disk v /etc/raidtab) rekonstruovat c synchronizovat. Ve vs ˇech pˇr´padech ı syste ´m rekonstrukci spous ˇtı´ automaticky. Pr˚ ubˇ eh rekonstrukce je moz ˇne ´ sledovat v /proc/mdstat (viz pˇr´klad ı o nˇ ekolik ˇra ´ dek vy ´s ˇe). ˇas Rekonstrukce probı´ha ´ s nı´zkou prioritou, nezabere tedy c procesoru na u ´ kor jiny ´ ch aplikacı´, ale bude se snaz ˇit vyuz ˇ´t ı maxima ´ lnı´ prostupnosti I/O zaˇr´zenı ı ´. Proto m˚ uz ˇeme po dobu rekonstrukce pozorovat zpomalenı´ diskovy ´ ch operacı´. Maxima ´ lnı´ rychlost rekonstrukce ovsˇem take ´ lze ovlivnit
9
Linuxove ´ noviny nastavenı´m limitu v /proc/sys/dev/md/speed-limit, vy ´chozı´ hodnota je 100 kB/sec. Ovladaˇ c RAIDu umı´ souˇ casnˇ e spustit rekonstrukci na nˇ ekolika polı´ch souˇ casnˇ e. Pokud jsou vs ˇak oddı´ly jednoho disku souˇ ca ´ stı´ vı´ce polı´, ktere ´ by se mˇ ely synchronizovat souˇ casnˇ e, provede se synchronizace polı´ postupnˇ e (z d˚ uvodu vy ´ konu). V syste ´move ´m logu se pak objevı´ nes ˇkodne ´ hla ´s ˇenı´ typu „XX has overlapping physical units with YY“:
md: syncing RAID array md1 md: minimum _guaranteed_ reconstruction\ speed: 100 KB/sec. md: using maximum available idle IO\ bandwith for reconstruction. md: using 128k window. md: serializing resync, md2 has overlapping\ physical units with md1! md: md1: sync done. md: syncing RAID array md2 md: minimum _guaranteed_ reconstruction\ speed: 100 KB/sec. md: using maximum available idle IO bandwith\ for reconstruction. md: using 128k window. md: md2: sync done. V /proc/mdstat jsou ty svazky, na ktery ´ ch je rekonstrukce pozastavena, oznaˇ ceny jako plnˇ e funkˇ cnı´, ale je u nich pozna ´ mka resync=DELAYED:
Personalities : [linear] [raid0] [raid1] [raid5] read_ahead 1024 sectors md2 : active raid1 hdc3[1] hda3[0] 530048\ blocks [2/2] [UU] resync=DELAYED md1 : active raid1 hdc2[1] hda2[0] 530048\ blocks [2/2] [UU] resync=4% finish=6.7min md0 : active raid1 hdc1[1] hda1[0] 136448\ blocks [2/2] [UU] ˇerstvˇ Pokud zforma ´ tujeme a pˇripojı´me c e zˇr´zene ı ´ redundantnı´ pole, na ktere ´m probı´ha ´ rekonstrukce, mohou se v syste ´move ´m logu objevit na ´ sledujı´cı´ nesˇkodne ´ hla ´ sˇenı´ (je to zp˚ usobene ´ tı´m, z ˇe mke2fs, fsck a ovladaˇ c FS pouz ˇ´vajı ı ´ pˇri pˇr´stupu ı jinou velikost bloku, nez ˇ je vy ´ chozı´ velikost se kterou pracuje ovladaˇ c raidu):
kernel: set_blocksize: b_count 1, dev md(9,3),\ block 96765, from c014 kernel: set_blocksize: b_count 1, dev md(9,3),\ block 96766, from c014 kernel: set_blocksize: b_count 2, dev md(9,3),\ block 96767, from c014 kernel: md3: blocksize changed during write kernel: nr_blocks changed to 32 (blocksize 4096,\ j 24160, max_blocks 385536) Redundantnı´ pole: vy ´ mˇ ena disku, hot plug ˇtenı´ nebo za Pokud pˇri c ´ pisu na nˇ ektery ´ z diskovy ´ch oddı´l˚ u, ktery ´ je souˇ ca ´ stı´ redundantnı´ho diskove ´ho pole, dojde k chybˇ e, je dotyˇ cny ´ oddı´l oznaˇ cen jako vadny ´ a pole jej pˇrestane pouz ˇ´vat. ı Pokud ma ´ me v dane ´m diskove ´m poli zaˇrazen jeden nebo vı´ce rezervnı´ch disk˚ u (direktiva spare-disk), je tento v pˇr´padˇ ı e vy ´ padku automaticky aktivova ´ n, syste ´m provede rekonstrukci pole a pr˚ ubˇ eh rekonstrukce zaznamena ´ do syste ´move ´ho logu. V opaˇ cne ´m pˇr´padˇ ı e pole z˚ ustane
10
07-08/2001 v provozu v degradovane ´m rez ˇimu, pak to v syste ´move ´m logu bude vypadat zhruba takto:
kernel: SCSI disk error : host 0 channel 0\ id 4 lun 0 return code = 28000002 kernel: [valid=0] Info fld=0x0, Current sd08:11:\ sense key Hardware Error kernel: Additional sense indicates\ Internal target failure kernel: scsidisk I/O error:\ dev 08:11, sector 2625928 kernel: raid1: Disk failure on sdb1,\ disabling device. kernel: Operation continuing\ on 1 devices kernel: md: recovery thread got woken up ... kernel: md0: no spare disk to reconstruct\ array! --- continuing in degraded mode kernel: md: recovery thread finished ... Pˇr´jemnou ı vlastnostı´ diskovy ´ch polı´ je take ´ moz ˇnost vy ´mˇ eny disku za chodu syste ´mu. Samozˇrejmˇ e k tomu potˇreˇ uje. Ovladaˇ bujeme v prve ´ ˇradˇ e hardware, ktery ´ to umoz ˇn ce ˇi ubı´ra ˚ umoz ˇ ujı´ pˇrida slus ˇny ´ ch SCSI ˇradiˇ cu ˇn ´ va ´ nı´ c ´ nı´ zaˇr´zeı nı´, to ale samo o sobˇ e nestaˇ c´. ı Je zapotˇrebı´ pouz ˇ´vat ı SCA disky urˇ cene ´ pro „hot swap“ a odpovı´dajı´cı´ SCSI subsyste ´m s SCA konektory a elektronikou, ktera ´ zajistı´ stabilitu ˇi pˇrida SCSI sbˇ ernice pˇri odebı´ra ´ nı´ c ´ va ´ nı´ zaˇr´zenı ı ´. Mˇ ejme pole typu RAID 1, ve ktere ´m dos ˇlo k chybˇ e na oddı´lu sdc1. Disk sdc1 je pˇripojen ke kana ´ lu 0 SCSI ˇradiˇ ce 0 a ma ´ ID rovno 4:
md0 : active raid1 sdc1[F] sdd1[0]\ 8956096 blocks [2/1] [U_] Jak tedy probı´ha ´ vy ´mˇ ena vadne ´ho disku, ma ´ me-li k tomu potˇrebne ´ hardwarove ´ vybavenı´: • provedeme raidhotremove coz ˇ vyˇradı´ vadny ´ oddı´l z pole
/dev/md0 /dev/sdc1, md0,
• provedeme echo
"scsi remove-single-device 0 0 4 0" >/proc/scsi/scsi, ovladaˇc SCSI ˇradiˇce „zapomene“ na zaˇr´zenı ı ´ na ˇradiˇ ci 0, kana ´ lu 0, ID 4, LUN 0,
• vyjmeme vadny ´ disk • vloz ˇ´me ı novy ´ disk
sdc,
sdc,
echo "scsi add-single-device 0 0 4 0" >/proc/scsi/scsi, cozˇ novy´ disk zpˇr´stupnı ı ´
• vykona ´ me syste ´mu,
• pomocı´ utility
fdisk vytvoˇr´me ı diskove ´ oddı´ly,
ˇ´mz • vykona ´ me raidhotadd /dev/md0 /dev/sdc1, c ı ˇ pˇrida ´ me oddı´l sdc1 nove ´ho disku do pole md0 a na pozadı´ se spustı´ rekonstrukce pole. Pokud nema ´ me hardware potˇrebny ´ k „hot-swap“ vy ´mˇ enˇ e disk˚ u, musı´me se smı´ˇrit s vypnutı´m syste ´mu, vy ´ mˇ enou vadne ´ho disku a opˇ etovny ´ m zapnutı´m syste ´mu. Potom staˇ c´ı pouze vytvoˇrit pomocı´ fdisku odpovı´dajı´cı´ diskove ´ oddı´ly a pˇr´kazem ı raidhotadd je zaˇradit do diskove ´ho pole. Pˇr´kazy ı pro pˇrida ´ vanı´ a ubı´ra ´ nı´ SCSI zaˇr´ı zenı´ jsou popsa ´ ny ve zdrojove ´m ko ´ du ja ´ dra (soubor linux/drivers/scsi/scsi.c).
Linuxove ´ noviny IDE nebo SCSI? Doposud jsme se zby ´vali obecnˇ e fungova ´ nı´m softwarove ´ho RAIDu, ovsˇem ve chvı´li kdy se rozhodneme sestavit syste ´m s RAIDem, musı´me se zamyslet nad vy ´ hodami a nevy ´ hodami tˇ echto rozhranı´, ktere ´ s provozova ´ nı´m diskovy ´ ch polı´ souvisejı´. Protoz ˇe tato problematika je sama o sobˇ e rozsa ´ hla ´ , uvedeme na tomto mı´stˇ e pouze nˇ ekolik za ´ sadnı´ch rozdı´l˚ u: Rozhranı´ SCSI ma ´ nˇ ekolik rys˚ u, ktere ´ napoma ´ hajı´ vysˇsˇ´ı mu vy ´konu diskove ´ho subsyste ´mu: • Tagged command queing: SCSI zaˇr´zenı ı ´ mohou pˇrijmout souˇ casnˇ e vı´ce pˇr´kaz˚ ı u (bˇ ez ˇne ´ SCSI ˇradiˇ ce az ˇ 256, disky obvykle az ˇ 64) a postupnˇ e je zpracovat v libovolne ´m poˇradı´ (moz ˇnost optimalizace). Toto je vy ´hodou zejme ´na u zaˇr´zenı ı ´ s dostateˇ cnou cache (dnes ˇnı´ disky majı´ bˇ ez ˇnˇ e 2 MB, pˇr´padnˇ ı e 4 MB i vı´ce). • Elevator sorting: poˇradı´ pˇr´kaz˚ ı u je pˇrerovna ´ no takovy ´m ˇasu pˇresouva zp˚ usobem, aby se ztra ´ celo co nejme ´nˇ ec ´ nı´m hlaviˇ cek disku. • Podpora Disconnect/Reconnect: SCSI zaˇr´zenı ı ´ mohou uvolnit sbˇ ernici pro komunikaci dals ˇ´m ı zaˇr´zenı ı ´m, po dobu kdy napˇr. zpracova ´ vajı´ pˇr´kazy. ı ˚ m pˇripojit je po• poˇ cet zaˇr´zenı ı ´, ktery ´ lze k SCSI ˇradiˇ cu ˇi 15 zaˇr´zenı mˇ ernˇ e vysoky ´ (bˇ ez ˇnˇ e 7 c ı ´ na jeden kana ´ l, ovs ˇem musı´me take ´ myslet na prostupnost). Rozhranı´ IDE ma ´ naopak nˇ ekolik nedostatk˚ u, ktere ´ komplikujı´ jeho nasazenı´, zejme ´na: • na jednom kana ´ lu mohou by ´t pˇripojena pouze 2 zaˇr´zenı ı ´, • maxima ´ lnı´ de ´lka kabelu je mnohem kratsˇ´ı nez ˇ u zaˇr´zenı ı ´ SCSI, • IDE disky zpravidla nepodporujı´ Disconnect/Reconnect, tedy po dobu prova ´ dˇ enı´ pˇr´kazu ı drz ˇ´ı sbˇ ernici, coz ˇ zp˚ usobuje zbyteˇ cne ´ prodlevy, pokud jsou na jednom kana ´lu oba disky. Jedno zaˇr´zenı ı ´ funguje jako tzv. „master“ a druhe ´ jako „slave“. Za ´ vada zaˇr´zenı ı ´ ktere ´ je pˇripojene ´ ˇasto znepˇr´stupnit jako „master“ m˚ uz ˇe c ı i druhe ´ zaˇr´zenı ı ´, ktere ´ je pˇripojeno jako „slave“. Je tedy jasne ´, z ˇe aˇ ckoliv maxima ´ lnı´ teoreticke ´ propustnosti obou rozhranı´ jsou dnes pomˇ ernˇ e vysoke ´, v prostˇredı´, kde je kladen d˚ uraz na rea ´ lnou vysokou propustnost nejen ˇ tenı´ nebo za pˇri sekvenˇ cnı´m c ´ pisu, je rozhranı´ SCSI sta ´ le ˇ´slo volbou c ı jedna. Pokud se rozhodneme budovat syste ´m na ba ´ zi IDE, rozhodnˇ e se vyplatı´ obsazovat kaz ˇdy ´ kana ´ l IDE pouze jednı´m zaˇr´zenı ı ´m. (A to jak z d˚ uvodu vy ´konu, tak stability, protoz ˇe pokud bychom napˇr. sestavili pole RAID 5 z IDE disk˚ u a disky by byly na kana ´ lech po dvou, riskujeme v pˇr´padˇ ı e vy ´padku nˇ ektere ´ho z „master“ disk˚ u hava ´ rii cele ´ho pole, protoz ˇe tı´m mohou v krajnı´m pˇr´padˇ ı e vypadnout disky oba — jak „master“ tak i „slave”“.) Testova ´ nı´ Kdyz ˇ zprovoznı´me redundantnı´ diskove ´ pole, bude na ´ s zajı´mat i zp˚ usob, jaky ´ m otestovat jeho odolnost proti vy ´ padku disku. M˚ uz ˇeme k tomu pouz ˇ´t ı utilitu raidsetfaulty, ktera´ simuluje vy´padek disku a oznaˇc´ı jej jako vadny´ (je potˇreba mı´t dostateˇ cnˇ e novou verzi balı´ˇ cku raidtools, ve starsˇ´ch ı verzı´ch tatu utilita chybı´). Potom m˚ uz ˇeme disk vyˇradit z pole pˇr´kazem ı raidhotremove, opˇet pˇridat pˇr´ı
07-08/2001 kazem raidhotadd a sledovat pr˚ ubˇ eh rekonstrukce pole. Metodu testova ´ nı´ tı´m, z ˇe za chodu vyta ´ hneme konektor disku, rozhodnˇ e nelze doporuˇ cit, protoz ˇe tı´mto zp˚ usobem m˚ uz ˇeme hardware va ´z ˇnˇ e pos ˇkodit. Tipy Nynı´ uz ˇ ma ´ me za sebou jak teorii fungova ´ nı´ RAIDu, tak ˇa z velke ´c ´ sti i praxi softwarove ´ho RAIDu pod Linuxem. V ˇa te ´to poslednı´ c ´ sti se zamˇ eˇr´me ı na me ´nˇ e obvykle ´ postupy a tipy, jak ˇres ˇit nˇ ektere ´ proble ´move ´ situace. Jak zaloz ˇit redundantnı´ pole v degradovane ´m rez ˇimu Softwarovy ´ RAID je pomˇ ernˇ e flexibilnı´. Pokud jsme napˇr´ı klad v situaci, kdy potˇrebujeme pˇreve ´st syste ´m bˇ ez ˇ´cı ı ´ na samostatne ´m disku na redundantnı´ pole RAID 1, nemusı´me kv˚ uli tomu reinstalovat syste ´m. M˚ uz ˇeme vyuz ˇ´t ı toho, z ˇe lze vytvoˇrit pole v degradovane ´m rez ˇimu. Dejme tomu, z ˇe ma ´ me instalovany ´ syste ´m na diskove ´m oddı´lu sda1 a pro zjednodus ˇenı´ je to jediny ´ oddı´l na disku sda. Do poˇ c´taˇ ı ce jsme pˇridali disk stejnˇ e velky ´ disk sdb a ma ´ me pˇripraveno ja ´ dro podporujı´cı´ sofwarovy ´ RAID. Pomocı´ fdisku vytvoˇr´ı me diskovy ´ oddı´l sdb1 obdobnˇ e jako je na disku sda. Nynı´ vytvoˇr´me ı konfiguraˇ cnı´ soubor /etc/raidtab:
raiddev /dev/md0 raid-level persistent-superblock nr-raid-disks nr-spare-disks device raid-disk device failed-disk
1 1 2 0 /dev/sdb1 0 /dev/sda1 1
Pomocı´ mkraid inicializujeme pole, vytvoˇr´me ı na nˇ em souborovy ´ syste ´m (napˇr. pomocı´ mke2fs), pˇr´pojı ı ´me a zkopı´rujeme na nˇ ej data z sda1. Odpovı´dajı´cı´m zp˚ usobem upravı´me konfiguraˇ cnı´ soubory na svazku md0 (/etc/fstab apod.). Po te ´ syste ´m nabootujeme ze svazku md0 (tˇreba pomocı´ diskety anebo upravı´me konfiguraci pro LILO), zkontrolujeme, z ˇe je vs ˇe v poˇra ´ dku a pˇr´kazem ı raidhotadd pˇrida ´ me oddı´l sda1 do pole. Jak pˇridat tˇretı´ aktivnı´ disk do pole RAID 1 Pokud ma ´ me pole RAID 1 tvoˇrene ´ dvˇ ema disky a rozhodneme se pro zvy ´sˇenı´ redundance pˇridat jesˇtˇ e tˇretı´, nestaˇ c´ı na to pouze pˇr´kaz ı raidhotadd. Ten totizˇ disk do pole pˇrida´, ale pouze jako disk rezervnı´ („spare“). Pokud chceme, aby byl tˇretı´ disk take ´ aktivnı´, musı´me si opˇ et pomoci direktivou failed-disk v konfiguraˇcnı´m souboru /etc/raidtab. Tˇretı´ disk oznaˇ c´me ı jako failed-disk a nezapomeneme zvy ´sˇit celkovy ´ poˇ cet aktivnı´ch disk˚ u na 3 (nr-raid-disk):
raiddev /dev/md0 raid-level persistent-superblock nr-raid-disks nr-spare-disks device raid-disk device raidd-disk
1 1 3 0 /dev/sda1 0 /dev/sdb1
11
Linuxove ´ noviny
device failed-disk
07-08/2001
/dev/sdc1
Pote ´ pomocı´ mkraid pole znovu inicializujeme a pˇr´kaı zem raidhotadd pˇrida ´ me oddı´l sdc1. (Tı´m, z ˇe oznaˇ c´me ı novy ´ disk jako failed-disk zajistı´me, z ˇe jej mkraid pˇri inicializaci pˇreskoˇ c´, ı ale pole bude poˇ c´tat ı se 3 disky, na ´ sledne ´ spus ˇtˇ enı´ raidhotadd pak zajistı´ aktivaci.)
byla sice trochu problematicka ´ , ale nove ´ verze LILa jiz ˇ RAID podporujı´ pˇr´mo ı (9), (10). Jak potlaˇ cit autodetekci RAID polı´ Pokud ma ´ me ja ´ dro s podporou autodetekce RAID polı´ a z nˇ ejake ´ho d˚ uvodu potˇrebujeme autodetekci doˇ casnˇ e vypnout, m˚ uz ˇeme ja ´ dru pˇri startu zadat parametr raid=noautodetect.
Kdyz ˇ z RAIDu 5 vypadne vı´ce disk˚ u ˇi vy RAID 5 je odolny ´ v˚ uc ´ padku jednoho disku. Protoz ˇe se stripuje, nejsou data z jednotlivy ´ ch disk˚ u samostatnˇ e pouz ˇitelna ´ a tato situace je te ´mˇ eˇr neˇres ˇitelna ´ . Co tedy dˇ elat v pˇr´padˇ ı e, kdyz ˇ k vy ´ padku vı´ce nez ˇ jednoho disku dojde? ˇa Pokud disky z˚ ustaly po vy ´padku pole alespoˇ nc ´ steˇ cnˇ e pouz ˇitelne ´, m˚ uz ˇeme se pokusit o obnovenı´ pole na ´ sledujı´cı´m zp˚ usobem, opˇ et s vyuz ˇitı´m direktivy failed-disk. Utilita mkraid v podstatˇ e pouze zapı´sˇe na oddı´ly RAID svazku superbloky a nastartuje pole — nijak tedy nemˇ enı´ obsah oddı´l˚ u. Teprve jaderny ´ ovladaˇ c RAIDu spous ˇtı´ rekonstrukci a tomu m˚ uz ˇeme zabra ´ nit tı´m, z ˇe pomocı´ mkraid pole znovu inicializujeme, ale pouze v degradovane ´m rez ˇimu (upravı´me raidtab). Pole pak m˚ uz ˇeme pˇripojit s pˇr´znaı ˇtenı´ a zjistit, nakolik jsou data na svazku kem pouze pro c pouz ˇitelna ´ . Toto m˚ uz ˇeme podle potˇreby opakovat a postupnˇ e z pole vynechat jiny ´ z disk˚ u, ktere ´ z pole v dobˇ e hava ´ rie vypadly, az ˇ najdeme takovou kombinaci, pˇri ktere ´ je souborovy ´ syste ´m pos ˇkozen nejme ´nˇ e (m˚ uz ˇeme zkusit spustit fsck). Potom m˚uzˇeme svazek pˇripojit i pro za´pis a pomocı´ fsck souborovy´ syste´m naostro opravit. Na za´vˇer m˚uzˇeme pˇridat i poslednı´ chybˇ ejı´cı´ disk pomocı´ raidhotadd, coz ˇ vede ke spus ˇtˇ enı´ rekonstrukce pole. Tato metoda ale pˇredstavuje krajnı´ ˇres ˇenı´ a rozhodnˇ e od nı´ nelze oˇ ceka ´ vat za ´ zraky. ˇi jme Kdyz ˇ se zmˇ enı´ poˇradı´ c ´na disk˚ u Pokud se zmˇ enı´ poˇradı´ nebo jme ´na zaˇr´zenı ı ´ (napˇr. pˇrida ´ nı´ ˇi periferiı´), ktere dals ˇ´ch ı disk˚ uc ´ tvoˇr´ı RAID svazek a nepouz ˇ´va ı ´ me automaticke ´ startova ´ nı´ RAIDu ja ´ drem pˇri bootu, musı´me odpovı´dajı´cı´m zp˚ usobem upravit konfiguraˇ cnı´ soubor /etc/raidtab a pˇr´padnˇ ı e pole znovu inicializovat pomocı´ mkraid -force (pozor – pouze pro ty, kteˇr´ı vˇ edı´, co dˇ elajı´). Pokud pouz ˇ´va ı ´ me vlastnost „raid autodetect“ ja ´ dra, ovladaˇ c RAIDu si poradı´ sa ´ m a pole sestavı´ a spustı´ podle informacı´ uloz ˇeny ´ch v RAID superblocı´ch diskovy ´ch oddı´l˚ u. Rozs ˇ´ıˇrenı´ pole, konverze raidu na jiny ´ typ Utilita raidreconf, kterou p˚ uvodnˇ e vyvı´jel Jakob Oestergaard (7), nynı´ vyvı´jena ´ jako open source aktivita Connexem (8), umı´ zmensˇovat, zvˇ etsˇovat RAID 0 a 5 svazky, pˇreva ´ dˇ et svazky typu RAID 0 na RAID 5, pˇridat novy ´ disk do RAIDu 1 a 5, vytvoˇrit pole RAID 0 ze samostatny ´ch disk˚ u. Tato ˇ tenı´ utilita ale nenı´ dostateˇ cnˇ e testova ´ na, takz ˇe pozorne ´c manua ´ lu a za ´ loha je naprostou nutnostı´! Spolu s utilitou resize2fs je tedy mozˇne´ tedy mozˇne´ mˇenit i velikost polı´. Boot raid Je moz ˇne ´ provozovat koˇrenovy ´ svazek na RAIDu, a to typu linear, RAID 0 a RAID 1. Konfigurace stars ˇ´ch ı verzı´ LILa
12
RAID a swap ˇasto diskutuje o tom, zda ma V souvislosti s RAIDem se c ´ smysl vytva ´ˇret odkla ´ dacı´ oddı´ly na RAIDu a kdyz ˇ ano, tak jaky ´ typ pole pouz ˇ´t. ı Tady je zapotˇrebı´ vzı´t v potaz omezenı´ dana ´ ovladaˇ cem RAIDu (viz vy ´sˇe omezenı´ platna ´ pro ja ´ dra 2.2.x) a da ´ le se musı´me rozhodnout, zda na ´ m jde o zrychlenı´ swapova ´ nı´, nebo o robustnost syste ´mu. Pokud na ´ m jde o rychlost, m˚ uz ˇeme jako odkla ´ dacı´ oddı´l pouz ˇ´t ı svazek RAID 0; ovsˇem podobne ´ho efektu m˚ uz ˇeme dosa ´ hnout i bez pouz ˇitı´ RAIDu a to tak, z ˇe v /etc/fstab uvedeme u odkla ´ dacı´ch oddı´l˚ u stejnou prioritu:
/dev/sda3 /dev/sdb3
none none
swap swap
sw,pri=1 sw,pri=1
Pouz ˇ´vat ı pro swap RAID 0 je tedy v podstatˇ e zbyteˇ cne ´. Naopak v pˇr´padˇ ı e, z ˇe na ´ m jde o robustnost syste ´mu, m˚ uz ˇeme pro odkla ´ dacı´ oddı´l s vy ´hodou pouz ˇ´t ı RAID 1 svazek. ˇa Syste ´m pak s vy ´padkem disku nepˇrijde o c ´ st swapu. Vy ´ kon a stabilita Nejprve srovnejme vy ´ kon softwarove ´ho raidu pod ja ´ dry 2.2 a 2.4: RAID 0 je rychlejs ˇ´ı u jader 2.4, RAID 1 je na tom zhruba stejnˇ e, RAID 5 byl na ˇradˇ e 2.4 z poˇ ca ´ tku vy ´raznˇ e pomalejsˇ´, ı i kdyz ˇ toto se v poslednı´ dobˇ e rychle mˇ enı´ a nynı´ je vy ´kon srovnatelny ´ nebo lepsˇ´. ı Pokud jde o srovna ´ nı´ rychlosti softwarove ´ho RAIDu a hardwarovy ´ch ˇres ˇenı´, softwarovy ´ RAID je oproti hardwarove ´ implementaci samozˇrejmˇ e na ´roˇ cnˇ ejsˇ´ı na syste ´move ´ prostˇredky, ale na druhou stranu by ´va ´ mnohdy rychlejsˇ´ı (vy ´ raznˇ e rychlejsˇ´ı by ´ va ´ zejme ´na RAID 0). ˇtenı´ existuje (Pozna ´ mka: pro vylepsˇenı´ vy ´konu RAIDu 1 pˇri c za ´ plata ovladaˇ ce RAIDu „readbalance“.) Pokud jde o robustnost implementace, stabilita RAIDu typ˚ u linear, RAID 0 a 1 je pomˇ ernˇ e vysoka ´ , naopak nasazenı´ RAIDu 5 v ostre ´m provozu jesˇtˇ e nelze doporuˇ cit. V te ´to souvislosti jes ˇtˇ e zmı´nı´m jednu vlastnost Linuxove ´ implementace softwarove ´ho RAIDu: V pˇr´padˇ ı e jake ´koliv I/O chyby ovladaˇ c RAIDu okamz ˇitˇ e dany ´ diskovy ´ oddı´l z RAIDu vyˇradı´, bez ohledu na to, jestli se jedna ´ o chybu fata ´ lnı´, anebo o pˇr´pad, ı kdy by tˇreba staˇ cilo danou I/O operaci zopakovat. Jiny ´mi slovy disk, ktery ´ obˇ cas vra ´ tı´ nˇ ejakou chybu, ale je nada ´ le vı´ce me ´nˇ e schopny ´ fungovat (a ktery ´ by syste ´m nada ´ le pouz ˇ´val, ı pokud by nebyl souˇ ca ´ stı´ RAID svazku, ale byl pˇripojeny ´ jako samostatny ´ oddı´l), linuxovy ´ ovladaˇ c pˇrestane pouz ˇ´vat. ı Tı´m se zbyteˇ cnˇ e sniz ˇuje robustnost RAIDu, protoz ˇe snadnˇ eji m˚ uz ˇe dojı´t k situaci, kdy z pole vypadne postupnˇ e i vı´ce disk˚ u, nez ˇ kolik je k provozu dane ´ho pole tˇreba a pole zhavaruje. Proto lze doporuˇ cit pouz ˇitı´ rezervnı´ch disk˚ u a vyhnout se sha ´ nˇ enı´ rezervnı´ho disku na poslednı´ chvı´li, kdy uz ˇ pole mezitı´m bˇ ez ˇ´ı v degradovane ´m rez ˇimu. Ze srovna ´ nı´ softwarovy ´ ch RAID implementacı´ Linuxu, Windows 2000 a Solarisu (11) vyply ´va ´, z ˇe linuxovy ´ RAID ve vy ´chozı´m nastavenı´ prova ´ dı´ rekonstrukci se snı´z ˇenou prioritou a limi-
Linuxove ´ noviny tovanou rychlostı´, takz ˇe probı´hajı´cı´ rekonstrukce mnohem me ´nˇ e negativnˇ e ovlivˇ nuje vy ´ kon syste ´mu po dobu rekonstrukce. (Pozna ´ mka: V odkazovane ´m srovna ´ nı´ ovsˇem autoˇri opakovanˇ e chybnˇ e uva ´ dˇ ejı´ absenci nˇ ektery ´ch vlastnostı´ linuxove ´ softwarove ´ implementace RAIDu.) Za ´ vˇ erem Softwarovy ´ RAID je cenovˇ e la ´ kavou alternativou na ´ kladny ´ch hardwarovy ´ch ˇresˇenı´. Dalsˇ´ı vy ´hodou je flexibilita (napˇr. moz ˇnost sestavenı´ pole v degradovane ´m rez ˇimu, moz ˇnost ˇa eventua ´ lnı´ c ´ steˇ cne ´ za ´ chrany dat v pˇr´padˇ ı e vy ´padku cele ´ho pole, protoz ˇe je zna ´ ma ´ struktura dat v diskove ´m poli, konverze RAID svazk˚ u z jednoho typu RAIDu na jiny ´). Nˇ ektere ´ z tˇ echto moz ˇnostı´ jsou ale spı´s ˇe experimenta ´ lnı´ho ra ´ zu. Za spolehlive ´ lze oznaˇ cit implementace RAIDu typu linear, RAID 0 nebo RAID 1. Softwarovy ´ RAID je na ´ roˇ cnˇ ejsˇ´ı na syste ´move ´ prostˇredky nez ˇ hardwarova ´ ˇresˇenı´, nˇ ektere ´ typy (zejme ´na RAID 0) ovs ˇem mohou by ´ t vy ´ raznˇ e rychlejs ˇ´ı nez ˇ hardwarove ´ varianty. Je tedy na adminstra ´ torovi, ˇi hardwarove aby zva ´z ˇil vy ´hody a nevy ´hody sofwarove ´ho c ´ho RAIDu vzhledem k aktua ´ lnı´m podmı´nka ´ m. ˇla Tento c ´ nek ani v nejmensˇ´m ı nenahrazuje dokumentaci ˇi obsluz k ovladaˇ ci Linuxove ´ho softwarove ´ho RAIDu c ˇny ´m utilita ´ m — proto zde az ˇ na vy ´jimky za ´ mˇ ernˇ e nejsou komenˇtenı´ dokutova ´ ny pˇrepı´naˇ ce obsluz ˇny ´ ch utilit. D˚ ukladne ´ c mentace (nebo v pˇr´padˇ ı e nejasnostı´ studium zdrojove ´ho ko ´ du — dokumentace bohuz ˇel sta ´ le nenı´ u ´ plna ´ ) by mˇ elo by ´ t samozˇrejmostı´, rovnˇ ez ˇ existuje konference linux-raid s prohleda ´ vatelny ´ m archı´vem (12). A jes ˇtˇ e u ´ plnˇ e poslednı´ pozna ´ mka na za ´ vˇ er: nezapomı´nejme, z ˇe (redundantnı´) RAID chra ´ nı´ pouze pˇred vy ´ padkem urˇ cite ´ho poˇ ctu disk˚ u a rozhodnˇ e nenahrazuje nutnost pravidelne ´ho za ´ lohova ´ nı´ dat. 1 ovladaˇ c RAIDu pro ja ´ dra 2.2.x
ftp://ftp.linux.cz/pub/linux/kernel/people/mingo/raid-patches/ 2 raidtools 0.42 (stare ´)
ftp://ftp.kernel.org/pub/linux/daemons/raid 3 raidtools 0.90 (nove ´)
http://people.redhat.com/mingo/raid-patches/ 4 HOWTO aktua ´ lnı´ verze ovladaˇ ce RAIDu
http://www.linux.cz/linuxdoc/HOWTO/Software-RAID-HOWTO.html 5 HOWTO stars ˇ´ı verze ovladaˇ ce RAIDu
http://www.linux.cz/linuxdoc/HOWTO/Software-RAID-0.4x-HOWTO.html
07-08/2001
WIN95 + RH6.2 = 10GB HDD Vı´tˇ ezslav Dvoˇra ´ k, 27. srpna 2001
V poˇ c´taˇ ı ci jednoho me ´ho pˇr´tele ı byly p˚ uvodnˇ e Windows ˇ itky svˇ ME, ale majitel neunesl vy ´c edomı´ a poz ˇa ´ dal mne, abych mu nainstaloval Linux a jeho lega ´ lnı´ kopii Microsoft Windows 95 tak, aby mohl pokraˇ covat ve sve ´ pra ´ ci a k tomu jes ˇtˇ e mohl mı´t v poˇ c´taˇ ı ci plnˇ e funkˇ cnı´ kopii svy ´ ch stra ´ nek, ktere ´ ma ´ jinak na komerˇ cnı´m webove ´m serveru. A ted’ uz ˇ k instalaci. Pokud m˚ uz ˇete pˇridˇ elit jednotlivy ´m operaˇ cnı´m syste ´m˚ um samostatne ´ disky, ma ´ te vyhra ´ no. Bohuz ˇel v tomto pˇr´padˇ ı e byl k dispozici pouze jeden 10 GB disk. Potı´z ˇ je v tom, z ˇe Windows 95 (a MS-DOS) neumı´ FAT32 (pozn. redakce: Windows 95 OSR 2 jiz ˇ 32-bitovou FAT umı´). Velky ´m omezenı´m je zde fakt, z ˇe FAT16 m˚ uz ˇe by ´ t maxima ´ lnˇ e 2 GB velka ´ . Pokud tedy hodla ´ te instalovat Windows 98 anebo novˇ ejs ˇ´ı variantu Microsoft Windows, nebudete pravdˇ epodobnˇ e mı´t s instalacı´ na diskovy ´ oddı´l (partition) „te ´mˇ eˇr“ libovolne ´ velikosti proble ´m. Na instalaˇ cnı´m CD Red Hatu je dosovsky ´ na ´ stroj fips, ktery ´ umı´ zmensˇit diskovy ´ oddı´l, pokud jsou na jeho konci pra ´ zdne ´ bloky, jenomz ˇe novˇ ejs ˇ´ı Windows za ´ mˇ ernˇ e ukla ´ dajı´ na konec disku data, ktera ´ nejdou norma ´ lnı´m zp˚ usobem pˇresunout. Dokumentace programu fips radı´ pouz ˇ´t ı SpeedDisk neˇi nˇ bo defrag c eco podobne ´ho, jenz ˇe verze pro FAT32 uz ˇ bloˇa ky z konce disku nepˇresunujı´ (!). Z c ´ sti m˚ uz ˇe jı´t o za ´ mˇ er, ale ˇa zc ´ sti je to zp˚ usob jak zrychlit diskovou odezvu. Konkre ´tnˇ e SpeedDisk fyzicky pˇresouva ´ data na to mı´sto na disku, kde bude z hlediska syste ´mu jeho naˇ c´ta ı ´ nı´ nejme ´nˇ e zdrz ˇovat. To znamena ´, z ˇe po boot recordu jsou to adresa ´ˇre, ˇasza nimi odkla ´ dacı´ soubor (swap) a po nˇ em jiz ˇ na ´ sledujı´ c to vyuz ˇ´vana ı ´ data („high access“), ktera ´ se fyzicky ukla ´ dajı´ na stˇrednı´ cylindry disku, kde jsou rozdı´ly ve vystavovacı´ dobˇ e kmitajı´cı´ hlaviˇ cky pevne ´ho disku nejmens ˇ´. ı A koneˇ cnˇ e na bezprostˇrednı´ konec prostoru diskove ´ho oddı´lu se ukla ´ dajı´ mˇ e nepochopitelna ´ („low access“) data. Bohuz ˇel mˇ e dostupny ´ Norton SpeedDisk jiz ˇ nemˇ el na ´ stroj Walk Map, ktery´ umozˇnˇ uje zobrazit soubory na tom ktere´m mı´stˇ e disku. A zde se dosta ´ va ´ me k proble ´mu: Konec diskove ´ho oddı´lu je obsazen a nenı´ tudı´z ˇ moz ˇne ´ jej pomocı´ na ´ stroje fips zmensˇit a uvolnit tak prostor pro Linux. Tudı´zˇ nezbylo nez ˇ se kompletnˇ e vzda ´ t dˇ edictvı´ minulosti a Windows s kompletnı´m obsahem disku nainstalovat znovu.
6 mdctl — na ´ stupce raidtools
http://www.cse.unsw.edu.au/~neilb/source/mdctl/ 7 raidreconf — p˚ uvodnı´ verze
http://unthought.net/Software-RAID.HOWTO/ 8 raidreconf — nova ´ verze
http://ops.connex.com/Projects.shtml 9 Root-RAID-HOWTO (ke stars ˇ´ı verzi RAIDu)
http://www.linux.cz/linuxdoc/HOWTO/Software-RAID-0.4x-HOWTO.html 10 Boot+Root+Raid+LILO HOWTO (k nove ´ verzi RAIDu)
http://www.linux.cz/linuxdoc/HOWTO/Boot+Root+Raid+LILO.html nov´y root+raid 11 srovna ´ nı´ implementacı´ SW RAIDu
http://www.cs.berkeley.edu/~abrown/papers/usenix00/paper.html 12 archı´v konference linux-raid
http://marc.theaimsgroup.com/?l=linux-raid
1) Instalace Linuxu Pˇredpokla ´ dejme z ˇe ma ´ me pra ´ zdny ´ disk. Pˇri instalaci RH je potˇreba na obrazovce, kde se vybı´ra ´ zp˚ usob instalace (moz ˇnosti „Pracovnı´ stanice Gnome“, „Pracovnı´ stanice KDE“, „Server“ atd.) zas ˇkrtnout vpravo nahoˇre pˇrepı´naˇ c „Pouz ˇ´t ı fdisk“. Kdyz ˇ se pˇri instalaci spustı´ textove ´ prostˇredı´ programu fdisk, vloz ˇ´me ı tyto pˇr´kazy: ı
n p 3 +4000M
(vytvoˇr´ı nov´y diskov´y odd´ıl) (bude to prim´arn´ı odd´ıl) (bude to 3. prim´arn´ı odd´ıl ze 4 moˇzn´ych) (velikost odd´ılu, poˇzadujeme 4GB)
Tı´mto se linuxovy ´ oddı´l vytvoˇr´ı tak, aby zbylo mı´sto pro DOS/WIN. Nynı´ je potˇreba pro Linux jesˇtˇ e vytvoˇrit odkla ´ dacı´ diskovy ´ oddı´l („swap partition“). Odkla ´ dacı´ oddı´l by mˇ el mı´t minima ´ lnˇ e dvojna ´ sobek velikosti operaˇ cnı´ pamˇ eti RAM (pozn. redakce: toto pravidlo platı´ zejme ´na pro linuxova ´
13
Linuxove ´ noviny ja ´ dra 2.4.x, ktera ´ se objevujı´ v novˇ ejsˇ´ch ı distribucı´ch — napˇr. Red Hat 7.x. Distribuce Red Hat 6.2 obsahuje ja ´ dro ˇrady 2.2, kde za pˇredpokladu, z ˇe je dostatek fyzicke ´ pamˇ eti, postaˇ c´ı na odkla ´ dacı´ oddı´l i polovina velikosti fyzicke ´ pamˇ eti.):
n p
(diskov´y odd´ıl vytvoˇr´ıme obvykl´ym zp˚usobem) (prim´arn´ı - jin´e nastaven´ı doporuˇcuji opravdu jen zkuˇsen´ym uˇzivatel˚um) 4 (vyuˇzijeme m´ısto na konci disku) +128M (velikost odd´ılu pro swap)
Vytvoˇrili jsme novy ´ diskovy ´ oddı´l, avs ˇak ten je zatı´m syste ´mem povaz ˇova ´ n za standardnı´ linuxovy ´ oddı´l („Linux Native“). Nynı´ je potˇreba syste ´mu ˇr´ci, ı aby tento oddı´l povaz ˇoval za odkla ´ dacı´:
t 4 82
(pˇr´ıkaz pro zmˇenu typu diskov´eho odd´ılu) (mˇen´ıme nastaven´ı ˇctvrt´eho odd´ılu) (ˇc´ıslo typu "Linux swap")
Nynı´ jsou na ´ lez ˇitosti nutne ´ pro Linux hotovy, zapı´s ˇeme tedy novou tabulku rozdˇ elenı´ na disk a souˇ casnˇ e ukonˇ c´me ı fdisk stiskem „w“. Instalaˇ cnı´ program Red Hat Linuxu na ´ m nynı´ zobrazı´ na ´stroj Disk Druid. Vybereme poloz ˇku na ´ lez ˇ´cı ı ´ k oddı´lu hda3. Po stisknutı´ tlaˇ c´tka ı upravit vloz ˇ´me ı jako na ´ zev mı´sta pˇriˇ´mz pojenı´ lomı´tko „/“ c ı ˇ ho ustanovı´me nadobro linuxovy ´m diskem. (Odkla ´ dacı´ oddı´l (swap) nenı´ tˇreba nijak nastavovat.) Po potvrzenı´ zaˇ cne samotna ´ instalace syste ´mu. V dialogu ˇ syste „kam uloz ˇit zavadˇ ec ´mu“ (LILO) potvrdı´me pˇredvolenou hodnotu „MBR“. Pote ´ se nainstaluje syste ´m Linux. Pˇri instalaci je d˚ ulez ˇite ´ nechat vytvoˇrit startovacı´ disketu syste ´mu Linux. Pak nasta ´ va ´ druha ´ fa ´ ze: 2) Instalace MS Windows 95 Nejdˇr´ve ı je potˇreba z diskety nebo CD nabootovat do DOSu (pˇr´kazove ı ´ho ˇra ´ dku Microsoft Windows 95) a spustit dosovsky ´ program FDISK ve ktere ´m zada ´ me tyto pˇr´kazy: ı
1 1 A/Y
(Vytvoˇr nov´y diskov´y odd´ıl) (ano, chceme aby byl prim´arn´ı) (Ano/Yes - chceme, aby mˇel maxim´aln´ı moˇznou velikost a spouˇstˇel se z nˇej syst´em)
Nynı´ jiz ˇ ma ´ me pˇripraven 2 GB velky ´ disk C:, kam je moz ˇno nainstalovat Windows, ale sta ´ le ma ´ me na disku 3 GB mı´sta, ktere ´ je nevyuz ˇito. Abychom i tento zbyly ´ prostor zpˇr´stupnili ı pro Windows, vytvoˇr´me ı diskovy ´ oddı´l typu extended, ktery ´z ˇto v sobˇ e m˚ uz ˇe obsahovat logicke ´ diskove ´ oddı´ly pro dals ˇ´ı disky D: a E: tˇ emito pˇr´kazy: ı
1 2 A/Y
(Vytvoˇr nov´y diskov´y odd´ıl) (nyn´ı potˇrebujeme rozˇs´ıˇren´y "EXTENDED" odd´ıl) (Ano/Yes - chceme aby mˇel maxim´aln´ı moˇznou velikost)
A nynı´ jiz ˇ jen vytvoˇrit logicke ´ disky D: a E:
1 3 A/Y
(Vytvoˇr nov´y diskov´y odd´ıl) (chceme logick´y disk v rozˇs´ıˇren´em odd´ılu) (Ano/Yes - chceme aby mˇel maxim´aln´ı moˇznou velikost)
Stejnou sekvenci (1,3,A) zopakujeme jes ˇtˇ e jednou, abychom pˇriˇradili disku E: i poslednı´ zbyly ´ 1 GB mı´sta.
14
07-08/2001 Pra ´ ce s dˇ elenı´m disku je hotova. Stiskem kla ´ vesy ESC ukonˇ c´te ı program FDISK a restartujeme poˇ c´taˇ ı c, aby se projevily nas ˇe zmˇ eny. Takz ˇe disk nakonec vypada ´ takto:
hda1 hda2 hda3 hda4
primary * extended primary primary
hda5 logical hda6 logical
FAT 16 "C:" 2GB FAT (D: + E:) 3GB) LINUX NATIVE "/" 4GB LINUX SWAP 128MB\ (pro 64MB RAM) FAT "D:" 2GB FAT "E:" 1GB
Po restartu je potˇreba nabootovat z diskety nebo CD znovu do DOSu. Jestli je vs ˇe v poˇra ´ dku, si m˚ uz ˇeme ovˇ eˇrit zada ´ nı´m pˇr´kazu ı pro zmˇ enu aktua ´ lnı´ jednotky disku:
C:
(pˇrejdi na disk C:)
ˇ mˇ elo objevit klasicke ´ Po stisku kla ´ vesy Enter by se jiz hla ´ sˇenı´ pˇr´kazove ı ´ ˇra ´ dky DOSu C:\>. Obdobnˇ e m˚ uz ˇeme vyzkous ˇet i existenci ostatnı´ch disk˚ u D: a E: Avs ˇak z tˇ echto ˇ´st, disk˚ u nenı´ zatı´m moz ˇne ´c ı ani na nˇ e zapisovat. Na tyto ˇinnosti je pˇripravı´me forma c ´ tova ´ nı´m pomocı´ pˇr´kazu ı FORMAT:
FORMAT C: /S FORMAT D: FORMAT E: Na dotazy ohlednˇ e ztra ´ ty vesˇkery ´ch dat odpovı´dejte ano, protoz ˇe tyto disky jsou zatı´m me ´nˇ e nez ˇ pra ´ zdne ´ a nenı´ na nich tudı´z ˇ co ztratit. Tuto fa ´ zi je moz ˇne ´ vynechat, protoz ˇe instalaˇ cnı´ program Microsoft Windows je schopen si disk pˇred instalacı´ zforma ´ tovat sa ´ m, eventua ´ lnˇ e ma ´ te ve sloz ˇce „Tento poˇ c´taˇ ı c“ v mı´stnı´ nabı´dce (prave ´ tlaˇ c´tko ı mys ˇi nad ikonou) kaz ˇde ´ho disku moz ˇnost „Naforma ´ tovat“. Pokud jste si vs ˇak disky zforma ´ tovali, jiz ˇ nynı´ m˚ uz ˇete si instalaci podle rychlosti vas ˇ´ı CD-ROM mechaniky vy ´raznˇ e urychlit kdyz ˇ si zkopı´rujete instalaˇ cnı´ soubory na pevny ´ disk pomocı´ na ´ sledujı´cı´ch pˇr´kaz˚ ı u. Nejprve vytvoˇr´me ı na disku novy ´ pra ´ zdny ´ adresa ´ˇr:
MD c:\win95 Zkopı´rujeme instalaˇ cnı´ soubory z F: (CD-ROM) pˇr´kaı zem:
COPY f:\win95\*.* c:\win95 A instalace Windows 95 m˚ uz ˇe zaˇ c´t: ı
C: CD win95 SETUP Doporuˇ cuji take ´ jes ˇtˇ e nechat si pomocı´ pˇr´kazu ı SETUP /? vypsat seznam pouzˇitelny´ch parametr˚u instalace, dı´ky ktery ´m na ´ s nebude instalace zdrz ˇovat napˇr´klad ı zbyteˇ cnou kontrolou nasˇich novy ´ch disk˚ u, nebo instalacı´ sı´t’ove ´ho software do poˇ c´taˇ ı ce bez sı´t’ove ´ karty. Windows 95 nainstalujeme pak jiz ˇ standardnı´m zp˚ usobem. 3) Startovacı´ nabı´dka pro Linux / Windows S nejvˇ ets ˇ´ı pravdˇ epodobnostı´ instalace Microsoft Windows zrus ˇila startovacı´ nabı´dku programu LILO a startujı´ rovnou Windows, nebo poˇ c´taˇ ı c pˇri sve ´m startu nabı´zı´ pouze moz ˇnost zavedenı´ syste ´mu Linux. Abychom to vs ˇe uvedli do spra ´ vne ´ho stavu potˇrebujeme zmˇ enit nastavenı´ souboru /etc/lilo.conf. Nejjednodus ˇs ˇ´ı to bude pomocı´ na ´-
Linuxove ´ noviny
07-08/2001
stroje linuxconf. Nabootujeme Linux (pokud je to nutne ´, tak z diskety), pˇrihla ´ sı´me se jako uz ˇivatel root a pˇr´kazem ı linuxconf spustı´me konfiguraˇcnı´ na´stroj Red Hat Linuxu. V nabı´dce nalezneme na ´ sledujı´cı´ dialog „startovacı´ mo ´ d/LILO/nastavit konfigurace ostatnı´ch OS v LILO“ zde zvolı´me volbu „pˇridej“ a vyplnı´me dvˇ e v dialogu obsaz ˇena ´ polı´ˇ cka: • jmenovka: na ´ zev syste ´mu zobrazovany ´ jako moz ˇnost pˇri ˇi „windows“; startu poˇ c´taˇ ı ce. Vˇ ets ˇinou „dos“, „win“ c • oddı´l pro start: tedy ze ktere ´ho oddı´lu se ma ´ bootovat (v nas ˇem pˇr´padˇ ı e je to /dev/hda1). Stiskem tlaˇ c´tka ı „akceptuj“ potvrdı´me zmˇ eny v konfiguˇ e LILO a stiskem tlaˇ raci zavadˇ ec c´tka ı „aktivovat zmˇ eny“ pak ukonˇ c´me ı linuxconf s provedenı´m zmˇen. Setkal jsem se s tı´m, z ˇe v nˇ ektery ´ ch pˇr´padech ı se vs ˇak zmˇ eny neaktivujı´, proto jesˇtˇ e pro jistotu spustı´me LILO ruˇ cnˇ e pˇr´kazem ı /sbin/lilo. Po spusˇtˇenı´ LILO vypı´sˇe zhruba na´sledujı´cı´:
Added linux Added dos * Po restartu na ´ m jiz ˇ poˇ c´taˇ ı c (po stisku kla ´ vesy nabı´zı´ moz ˇnost vy ´ bˇ eru syste ´mu.
TAB
)
(5), (6), (7), (8) ) umı´stˇ ene ´ na Internetu, ovsˇem tyto slovnı´ky vzhledem k pomalosti a cenˇ e pˇr´stupu ı (pokud dotyˇ cny ´ nemˇ el pˇr´stup ı k pevne ´ lince) pˇredstavujı´ pouze nouzove ´ ˇres ˇenı´. V te ´to pro uz ˇivatele Linuxu nemile ´ situaci nastal obrat ve chvı´li, kdy se firma Lingea (9) rozhodla portovat sve ´ slovnı´ky Lingea Lexicon na platformu Linux. Jako prvnı´ ˇesko-anglicky byly na trh uvedeny Velky ´ anglicko-ˇ cesky ´ac ´ ˇesko-nˇ slovnı´k a Velky ´ nˇ emecko-ˇ cesky ´ac emecky ´ slovnı´k. ˇesko-anglicky Lingea Lexicon — velky ´ anglicko-ˇ cesky ´ / c ´ slovnı´k Tento slovnı´k obsahuje 170000 hesel (250000 vy ´ znam˚ u). K dispozici je take ´ varianta „studijnı´“, ktera ´ se od velke ´ho slovnı´ku lis ˇ´ı mens ˇ´m ı rozsahem (75000 hesel) a absencı´ fulltextove ´ho vyhleda ´ va ´ nı´. Jinak slovnı´k k zadane ´mu heslu umı´ vyhledat slova nˇ ejaky ´ m zp˚ usobem pˇr´buzna ı ´ : synonyˇi slovnı´ ma, antonyma, slova s pˇr´ponami, ı fra ´ zova ´ slovesa c spojenı´. Slovnı´k take ´ obsahuje vy ´ ukove ´ prvky — je napˇr. moz ˇne ´ si prohlı´z ˇet a pˇritom poslouchat vy ´slovnost slovı´ˇ cek sdruz ˇeny ´ ch do te ´maticky ´ ch okruh˚ u a na ´ slednˇ e se nechat pˇrezkous ˇet.
4) Zpˇr´ıstupnˇ enı´ disk˚ u C:, D:, E: pro Linux Nejprve je potˇreba vytvoˇrit adresa ´ˇre, do ktery ´ch se budou jednotlive ´ disky pˇripojovat:
mkdir /mnt/c mkdir /mnt/d mkdir /mnt/e Nynı´ jes ˇtˇ e zby ´ va ´ poˇ c´taˇ ı ci ˇr´ci, ı aby tyto disky pˇripojil jiz ˇ pˇri startu Linuxu – coz ˇ je urˇ ceno v souboru /etc/fstab, do ktere ´ho pˇrida ´ me na ´ sledujı´cı´ ˇra ´ dky:
/dev/hda1 /dev/hda5 /dev/hda6
/mnt/c /mnt/d /mnt/e
vfat vfat vfat
defaults defaults defaults
0 0 0 0 0 0
Po uloz ˇenı´ jiz ˇ m˚ uz ˇeme disky pˇripojit pˇr´kazem ı
mount:
mount /mnt/c mount /mnt/d mount /mnt/e
Lingea Lexicon v akci
A to je vsˇe, nynı´ ma ´ me funkˇ cnı´ instalaci Red Hat Linuxu 6.2 a Microsoft Windows 95.
Linuxova ´ verze slovnı´ku ma ´ zatı´m oproti verzi pro Microsoft Windows nˇ ektera ´ omezenı´, ktere ´ by mˇ ely by ´ t v dalsˇ´ch ı verzı´ch postupnˇ e odboura ´ ny, napˇr. funkce „vz ˇdy navrchu“ nebo funkce „automaticke ´ pˇrebı´ra ´ nı´ schra ´ nky“. Take ´ absence na ´ povˇ edy nepotˇ esˇ´ı — k dispozici je pouze dokumentace v „papı´rove ´“ podobˇ e.
Lingea Lexicon 2000 pro Linux ˇervence 2001 David H¨ aring, 4. c
Dostupnost Slovnı´k je vˇ ec veskrze uz ˇiteˇ cna ´ — konec konc˚ u nˇ ejaky ´ ten slovnı´k – minima ´ lnˇ e v kniz ˇnı´ podobˇ e — by doma nas ˇel asi kaz ˇdy ´. Nˇ ejaky ´ ten pa ´ tek uz ˇ ovs ˇem klasicky ´ m „papı´rovy ´ m“ slovnı´k˚ um konkurujı´ slovnı´ky elektronicke ´ – zejme ´na lide ´ pouz ˇ´vajı ı ´cı´ hojnˇ e cizı´ jazyky si uz ˇ nedovedou pˇredstavit modernı´ desktop bez rozsa ´ hle ´ho slovnı´ku. Stejnˇ e tak jsou popula ´ rnı´ aplikace usnadˇ nujı´cı´ vy ´uku cizı´ch jazyk˚ u. Uz ˇivatele ´ linuxovy ´ch syste ´m˚ u ovsˇem v minulosti pˇr´lis ı ˇ na vy ´bˇ er nemˇ eli. S vy ´jimkou sta ´ hnutelne ´ verze slovnı´ku Xdict, ktery ´ jiz ˇ nynı´ ˇesko-anglicky zˇrejmˇ e nenı´ dostupny ´ (1), prakticky z ˇa ´ dny ´c ´/ anglicko-ˇ cesky ´ slovnı´k neexistoval. Jedinou moz ˇnostı´ z˚ usta ´valy „online“ slovnı´ky (nama ´ tkou uved’me napˇr. (2), (3), (4),
Prvnı´ verze slovnı´ku bezproble ´movˇ e fungovala jen na distribucı´ch postaveny ´ch na glibc verze 2.2 (napˇr. Red Hat 7.x), nebˇ ez ˇela tedy napˇr. na Red Hatu 6.x (aˇ ckoliv pˇr´padne ı ´ na ´ roky na verze software nebyly v dokumentaci nikde uvedeny). Take ´ jsem zaznamenal proble ´my v prostˇredı´ Gnome, pokud si uz ˇivatel vybral jine ´ nez ˇ vy ´ chozı´ nastavenı´ dekorace oken (te ´mat). Da ´ le chybˇ el font pouz ˇ´vany ı ´ pro foneticky ´ pˇrepis vy ´slovnosti, coz ˇ mohl by ´t proble ´m zejme ´na pro uz ˇivatele, kteˇr´ı nemajı´ poˇ c´taˇ ı c vybaveny ´ zvukovou kartou a nemohou si poslechnout vy ´slovnost slovı´ˇ cek namluvenou rodily ´m mluvˇ c´m. ı Lingea ovs ˇem na proble ´mech zapracovala, takz ˇe aktua ´ lnı´
15
Linuxove ´ noviny verze slovnı´ku uz ˇ vy ´sˇe popisovany ´ mi proble ´my (s vy ´ jimkou absence na ´ povˇ edy) netrpı´.
07-08/2001 6 On-line slovnı´k
http://www.dict.org/bin/Dict 7 On-line slovnı´k
http://www.slovnik.cz/bin/ecd Instalace
8 On-line slovnı´k
Je ˇresˇena pomocı´ instala ´ toru s graficky ´m rozhranı´m. Slovnı´k je moz ˇne ´ instalovat na loka ´ lnı´ disk, anebo jej spousˇtˇ et pˇr´mo ı z distribuˇ cnı´ho CD. Instalace je bezproble ´mova ´ . V pˇr´padˇ ı e jednouz ˇivatelske ´ instalace se vs ˇe instaluje do domovske ´ho adresa ´ˇre uz ˇivatele. V pˇr´padˇ ı e instalace pro vı´ce uz ˇivatel˚ u je potˇreba, aby instalaci provedl uz ˇivatel root, konfiguraˇ cnı´ soubor je pak uloz ˇen v souboru /etc/lex3.conf, datove ´ soubory se instalujı´ standardnˇ e do /usr/share/lex3. V domovske ´m adresa ´ˇri si pˇri prvnı´m spus ˇtˇ enı´ slovnı´k vytvoˇr´ı konfiguraˇ cnı´ soubor .lex3rc (tento soubor ale nenı´ potˇreba editovat ruˇ cnˇ e, nastavenı´ preferencı´ je dostupne ´ z menu aplikace) a adresa ´ˇr .lex3, ktery ´ slouz ˇ´ı k ukla ´ da ´ nı´ slovnı´k˚ u vytva ´ˇreny ´ch uz ˇivatelem.
9 Lingea
http://www.mtranslations.cz/30/en/dictionary/dictionary.htm http://www.lingea.cz
Apcupsd — free obsluz ˇny ´ software za ´ loz ˇnı´ch zdroj˚ u APC ˇervence 2001 David H¨ aring, 29. c
Proˇ c pouz ˇ´ıvat UPS Kaz ˇdy ´ uz ˇivatel, ktery ´ s poˇ c´taˇ ı ci pracuje delsˇ´ı dobu, jiz ˇ nepochybnˇ e zaz ˇil vy ´padek elektricke ´ho proudu. V lepsˇ´m ı pˇr´padˇ ı e ˇlovˇ c ek pˇrijde pouze o rozpracovana ´ data, v horsˇ´m ı pˇr´padˇ ı e m˚ uz ˇe dojı´t i k pos ˇkozenı´ souborove ´ho syste ´mu a ztraceny ´ ˇas i data pak mohou znamenat nezanedbatelnou finanˇ c cnı´ ztra ´ tu. Vy ´ padky napa ´ jenı´, ale i jeho kolı´sa ´ nı´ se take ´ v neposlednı´ ˇradˇ e podepisujı´ na z ˇivotnosti hardware poˇ c´taˇ ı ce. ˇ ˇenı´ pˇredstavujı´ za Res ´ loz ˇnı´ napa ´ jecı´ zdroje (UPS, z angl. „Uninterruptible Power Supply“), ktere ´ jsou schopny v pˇr´ı padˇ e vy ´ padku napa ´ jenı´ v rozvodne ´ sı´ti po urˇ citou dobu poskytovat napa ´ jenı´ z bateriı´. Typy za ´ loz ˇnı´ch zdroj˚ u
Vy ´bˇ er te ´mat pro vy ´ uku
Hodnocenı´ Slovnı´k je portacı´ jiz ˇ osvˇ edˇ cene ´ho produktu, takz ˇe z pohledu na ´ vrhu aplikace mu nelze nic vytknout, jedna ´ se o produkt velmi zdaˇrily ´. Pˇr´padna ı ´ omezenı´ sta ´ vajı´cı´ linuxove ´ verze by mˇ ela s pˇr´chodem ı dalsˇ´ch ı verzı´ odpadnout. Pokud jde o cenu, je stejna ´ jako u verze pro Microsoft Windows (ovsˇem ˇa vlastnı´ci licencı´ slovnı´ku pro jiny ´ OS zaplatı´ pouze c ´ st te ´to ceny — coz ˇ je jistˇ e potˇ esˇ´). ı Za ´ vˇ erem tedy mohu konstatovat, z ˇe pˇres poˇ ca ´ teˇ cnı´ vady na kra ´ se se jedna ´ o slusˇny ´ produkt, ˇesky ktery ´c ´m uz ˇivatel˚ um Linuxu dlouho chybˇ el a nezby ´ va ´ nez ˇ doufat, z ˇe nez˚ ustane jen u slovnı´ku anglicke ´ho a nˇ emecke ´ho. 1 Xdict
http://www.intersoft.cz/workroom/ 2 On-line slovnı´k
Pokud se rozhodneme za ´ loz ˇnı´ zdroj poˇr´dit, ı ma ´ me na vy ´bˇ er z nˇ ekolika druh˚ u. Nejjednodusˇsˇ´ı modely zajisˇt’ujı´ pouze za ´ kladnı´ ochranu pˇred vy ´padkem napa ´ jenı´ — v pˇr´padˇ ı e pˇrerus ˇenı´ doda ´ vky el. proudu pˇrepnou na napa ´ jenı´ z baterie. ˇi Lepsˇ´ı modely souˇ casnˇ e poskytujı´ ochranu pˇred podpˇ etı´m c pˇrepˇ etı´m v rozvodne ´ sı´ti. Da ´ le se jednotlive ´ typy lisˇ´ı moz ˇnostı´ komunikace s poˇ c´taˇ ı cem: levnˇ ejs ˇ´ı modely pouze signalizujı´ pˇrerusˇenı´ a obnovenı´ doda ´ vky napa ´ jenı´ v sı´ti, „chytˇrejsˇ´ı ˇ ujı´ mimo jine modely“ umoz ˇn ´ monitorovat stav baterie — takz ˇe je moz ˇne ´ pˇrizp˚ usobit spusˇtˇ enı´ shutdownu aktua ´ lnı´mu stavu baterie. Nˇ ektere ´ UPS komunikujı´ pouze pˇres se ´riovy ´ port, i kdyz ˇ v dnes ˇnı´ dobˇ e se uz ˇ pomalu pˇrecha ´ zı´ na USB, ˇi jine ´ mohou by ´t navı´c spravova ´ ny pˇres sı´t’ pomocı´ SNMP c pˇres modem. Za ´ loz ˇnı´ zdroje a software pro Linux Vˇ etsˇina vy ´robc˚ u za ´ loz ˇnı´ch zdroj˚ u dnes bud’ podporuje Linux pˇr´mo ı a doda ´ va ´ obsluz ˇny ´ software spolu s UPS nebo jej da ´ va ´ k dispozici prostˇrednictvı´m Internetu (pˇr´kladem ı budiz ˇ ˇ napˇr. APC, Victron, Best Power, Fenton). Rada UPS je pod Linuxem podporova ´ na take ´ „free“ softwarem tˇretı´ch stran (NUT, Apcupsd). V kaz ˇde ´m pˇr´padˇ ı e je zapotˇrebı´ se pˇred zakoupenı´m ujistit, zda je UPS a dany ´ typ komunikaˇ cnı´ho kabelu pod Linuxem skuteˇ cnˇ e plnˇ e podporova ´ n.
http://slovnik.nettown.cz/ 3 On-line slovnı´k
Apcupsd a podporovane ´ typy UPS
http://www.slovnik.cz/bin/ecd 4 On-line slovnı´k
http://melkor.dnp.fmph.uniba.sk/~garabik/slovnik/ 5 On-line slovnı´k
http://sweb.cz/freedict/freedict.htm 16
Firma American Power Conversion Corporation (1), zkra ´ cenˇ e APC, zpoˇ ca ´ tku dlouhou dobu nebyla ochotna poskytnout technicke ´ informace ty ´kajı´cı´ se popisu komunikaˇ cnı´ch protokol˚ u svy ´ ch UPS. Coz ˇ byla sˇkoda, zejme ´na vzhledem k to-
Linuxove ´ noviny mu, z ˇe za ´ loz ˇnı´ zdroje APC byly pomˇ ernˇ e rozsˇ´ˇ ırene ´ a i cenovˇ e patˇrily mezi pˇr´stupnˇ ı ejsˇ´ı kategorie. Proto vznikl projekt Apcupsd (2), jehoz ˇ autoˇri se rozhodli i za absence technicky ´ch specifikacı´ vytvoˇrit alternativnı´ obsluz ˇny ´ software pro tyto UPS. Apcupsd podporuje vs ˇechny bˇ ez ˇne ´ modely: napˇr. Back-UPS, Back-UPS Pro, Smart-UPS v/s, Smart-UPS a dals ˇ´. ı Kabel pro komunikaci s poˇ c´taˇ ı cem pˇres se ´riovy ´ port je zpravidla souˇ ca ´ stı´ doda ´ vky UPS. Apcupsd zatı´m nepodporuje komunikaci pˇres USB.
Webove ´ rozhranı´ Apcupsd
Alternativnı´ software Podı´vejme se nejprve na software, ktery ´ poskytuje pˇr´mo ı APC: APC Simple Signaling Daemon je software pro komunikaci s UPS v za ´ kladnı´m „simple“ nebo „basic signaling“ rez ˇimu pomocı´ kabelu 940-0020B. Uplatnˇ enı´ nalezne zejme ´na pro ovla ´ da ´ nı´ za ´ loz ˇnı´ch zdroj˚ u typu BackUPS, ktere ´ komunikujı´ pouze v rez ˇimu „basic signaling“. Souˇ ca ´ stı´ instalace je kromˇ e vlastnı´ho de ´mona ssd i skript apcssd, ktery ´ akceptuje volby start/stop a je urˇ cen pro instalaci do adresa ´ˇre /etc/rc.d/init.d v distribucı´ch Red Hat. Konfiguruje se pouze se ´riovy ´ port a doba po jejı´mz ˇ uplynutı´ se spustı´ shutdown v pˇr´padˇ ı e, z ˇe nedojde k obnovenı´ doda ´ vky el. proudu. Software je moz ˇne ´ zı´skat na serveru APC (3). APC take ´ vyvı´jı´ obsluz ˇny ´ software PowerChute a PowerChute Plus, ktery ´ je k dispozici i pro Linux. PowerChute je ve srovna ´ nı´ s apcupsd zbyteˇ cnˇ e rozsa ´ hly ´ a ma ´ take ´ vy ´ raznˇ e vˇ etsˇ´ı na ´ roky na syste ´move ´ prostˇredky. To je da ´ no mimo jine ´ tı´m, z ˇe na rozdı´l od apcupsd (ktery ´ se ovla ´ da ´ z pˇr´kaı zove ´ ˇra ´ dky nebo pˇres webove ´ rozhranı´) poskytuje graficke ´ rozhranı´ v prostˇredı´ X Window System. PowerChute network shutdown je software pro modely ˚ komuniUPS slouz ˇ´cı ı ´ pro napa ´ jenı´ vˇ ets ˇ´ho ı poˇ ctu poˇ c´taˇ ı cu kujı´cı´ pˇres sı´t’ pomocı´ protokolu SNMP. Pokud jde o software tˇretı´ch stran, kromˇ e Apcupsd za ´loz ˇnı´ zdroje APC komfortnˇ e podporuje take ´ NUT (4). Dalsˇ´ı software jako genpowerd (5) anebo upsd(6) podporujı´ za ´ loz ˇnı´ zdroje APC pouze v omezene ´ mı´ˇre (nepodporujı´ „smart“ rez ˇim a fungujı´ pouze s nˇ ektery ´ mi typy kabel˚ u).
07-08/2001 Jak apcupsd funguje? Apcupsd m˚ uz ˇe bˇ ez ˇet bud’ ve samostatne ´m („standalone“) nebo sı´t’ove ´m („net“) rez ˇimu. Pokud ma ´ me k UPS pˇripojen pouze jeden poˇ c´taˇ ı c, je situace jednoducha ´ . Apcupsd s UPS komunikuje pˇres se ´riovy ´ port a v pˇr´padˇ ı e potˇreby zajistı´ vˇ casne ´ spusˇtˇ enı´ shutdownu (a pˇr´padny ı ´ch dalsˇ´ch ı akcı´ definovany ´ch uz ˇivatelem). Ma ´ me-li silnˇ ejs ˇ´ı za ´ loz ˇnı´ zdroj, ˚ , pak jeden ke ktere ´mu je pˇripojeno napa ´ jenı´ vı´ce poˇ c´taˇ ı cu poˇ c´taˇ ı c funguje jako tzv. master — monitoruje stav UPS pˇres se ´riovy ´ port, pˇres sı´t’ pak komunikuje s ostatnı´mi poˇ´taˇ c ı ci a v pˇr´padˇ ı e potˇreby iniciuje ukonˇ cenı´ bˇ ehu syste ´mu (shutdown) nejen na syste ´mu, ke ktere ´mu je UPS pˇripojena, ale i na vs ˇech ostatnı´ch. Po startu se apcupsd nejprve pokusı´ zjistit, zda je k nakonfigurovane ´m portu skuteˇ cnˇ e pˇripojena UPS. Pokud se podaˇr´ı nava ´ zat komunikaci s UPS, spustı´ dals ˇ´ı proces, nebo vı´ce proces˚ u v za ´ vislosti na dane ´ konfiguraci. Pokud je UPS pˇripojena pˇres se ´riovy ´ port, spustı´ apcupsd proces apcser („apc serial“), ktery´ obstara´va´ vlastnı´ komunikaci s UPS. Je-li apcupsd konfigurova ´ n tak, aby sdı´lel informace o stavu UPS pˇres sı´t’, spustı´ apcser da ´ le proces apcnis („apc network information server“). Pokud je poˇ c´taˇ ı c napa ´ jen z UPS, ktera ´ je ovla ´ da ´ na z jine ´ho poˇ c´taˇ ı ce, spustı´ apcupsd mı´sto apcser proces apcslv („apc slave“). Ten pak komunikuje pˇres sı´t’ s procesem apcmst („apc master“), ktery ´ je spus ˇtˇ en na poˇ c´taˇ ı ci, ke ktere ´mu je UPS pˇripojena. Proces apcmst informuje o stavu UPS a pˇr´padny ı ´ ch vy ´padcı´ch napa ´ jenı´ ostatnı´ podˇr´zene ı ´ poˇ c´taˇ ı ce. Instalace Apcupsd je dostupny ´ jak formou zdrojovy ´ ch ko ´ d˚ u, tak pˇredkompilovany ´ ch verzı´ ve formˇ e RPM instalaˇ cnı´ch soubor˚ u. Pokud chceme instalovat ze zdrojovy ´ ch ko ´ d˚ u, je pouz ˇit autoconf, takz ˇe kompilace je pˇr´moˇ ı cara ´ (./configure; make; make install). Po instalaci je d˚ulez ˇite ´ se ujistit, zda-li byly spra ´ vnˇ e instalova ´ ny skripty v /etc/rc.d/init.d apod.
Komunikace mezi UPS a poˇ c´ıtaˇ cem Modely BackUPS a ShareUPS komunikujı´ s poˇ c´taˇ ı cem pomocı´ jiz ˇ kra ´ tce zmı´nˇ ene ´ho „simple signaling“ protokolu. U tˇ echto model˚ u se komunikace omezuje na nˇ ekolik signa ´ l˚ u (vy ´padek napa ´ jenı´, obnovenı´ napa ´ jenı´, vybitı´ baterie, vypnutı´ UPS). Modely BackUPS Pro, SmartUPS, MatrixUPS pouz ˇ´vajı ı ´ tzv. „subsmart signaling“ nebo „smart signaling“ ˇ uje monitorovat stav baterie, teploprotokol, ktery ´ umoz ˇn ˇi vlhkost uvnitˇr UPS, dotazovat se na nastavenı´ UPS tu c apod. Detailnı´ popis protokol˚ u je souˇ ca ´ stı´ dokumentace apcupsd.
Webove ´ rozhranı´ Apcupsd, detailnı´ statistika
Konfigurace Konfigurace
je
standardnˇ e
ukla ´ da ´ na v souboru Podı´vejme se na nejd˚ ulez ˇitˇ ejs ˇ´ı konfigurovatelne ´ parametry:
/etc/apcupsd/apcupsd.conf.
17
Linuxove ´ noviny •
07-08/2001
UPSCABLE — typ se´riove´ho kabelu je nutne´ zadat, zjistı´-
Sledova ´ nı´ stavu UPS
me bud’ z potisku na kabelu, nebo z popisky produktu. •
UPSTYPE — zada´me typ ups, platna´ klı´ˇcova´ slova jsou popsa ´ na v manua ´ love ´ stra ´ nce apcupsd.
•
LOCKFILE — cesta k souboru, ktery´ slouzˇ´ı jako za´mek, aby se vı´ce instancı´ aplikace nepokousˇelo souˇ casnˇ e pˇristupovat k se ´riove ´mu portu.
•
•
NETSERVER
— pokud je zapnuto, apcupsd bude poskytovat informace o stavu UPS pˇres sı´t’.
FACILITY
— apcupsd standardnˇ e zapisuje do syste ´move ´ho logu pod kategoriı´ zpra ´ v daemon, pokud chceme mı´t zpra ´ vy apcupsd ve zvla ´ sˇtnı´m souboru, m˚ uz ˇeme pouz ˇ´t ı nˇ ekterou z kategoriı´ local0 az ˇ local7.
•
BATTERYLEVEL — tato direktiva uda´va´ minima´lnı´ nabitı´ baterie (v procentech), pokud nabitı´ baterie klesne pod tuto mez, spustı´ se shutdown syste ´mu.
•
MINUTES — chytˇrejsˇ´ı modely za´lozˇnı´ch zdroj˚u umˇejı´ odhadnout, na jak dlouhou dobu jsou pˇri vy ´ padku rozvodne ´ sı´tˇ e jes ˇtˇ e schopny zajistit napa ´ jenı´. Pokud tato doba klesne pod mez zadanou parametrem MINUTES, iniciuje UPS shutdown syste ´mu.
•
TIMEOUT — tato direktiva se na rozdı´l od pˇredchozı´ch dvou pouz ˇ´va ı ´ u jednoduchy ´ch typ˚ u UPS, ktere ´ pr˚ ubˇ ez ˇˇas v sekunda nˇ e neinformujı´ o stavu baterie. Uda ´ va ´ c ´ ch, po jehoz ˇ vyprs ˇenı´ pˇri vy ´ padku napa ´ jenı´ bude spus ˇtˇ en shutdown syste ´mu. Direktivy BATTERYLEVEL, MINUTES a TIMEOUT mohou by´t nastaveny souˇcasnˇe, apcupsd pak inicializuje shutdown pˇri pˇrekroˇcenı´ libovolne ´ho z tˇ echto tˇr´ı krite ´riı´.
Direktivy UPSCLASS a UPSMODE slouz ˇ´ı k nastavenı´, zda se jedna ´ o UPS vyuz ˇ´vanou ı pouze jednı´m poˇ c´taˇ ı cem, nebo je z jedne ´ UPS napa ´ jeno vı´ce stroj˚ u a apcupsd pak bˇ ez ˇ´ı v sı´t’ove ´m rez ˇimu apod. Se sı´t’ovy ´ m rez ˇimem da ´ le souvisejı´ direktivy NETTIME, NETPORT, MASTER a SLAVE. Otestova ´ nı´ instalace
Souˇ ca ´ stı´ distribuce apcupsd je nˇ ekolik utilit pro monitorova ´ nı´ stavu UPS: •
ˇra apcaccess: je utilita pro pˇr´kazovou ı ´ dku, ktera ´ podrobnˇ e vypı´sˇe stav a konfiguraci UPS, pˇr´padnˇ ı e hodnoty parametr˚ u uloz ˇeny ´ch v pamˇ eti EEPROM UPS;
•
powerflute: je jednoducha´ termina´lova´ aplikace pro monitorova ´ nı´ stavu UPS;
ˇ uje monitoro• webove ´ rozhranı´ multimon.cgi: umoz ˇn ˇi vı´ce UPS. vat pˇres sı´t’ jednu c
Bezpeˇ cnost Pokud se rozhodneme zpˇr´stupnit ı informace o stavu UPS pˇres sı´t’, (coz ˇ je nezbytne ´ napˇr. pro funkˇ cnost CGI rozhranı´), tedy se zapnutou direktivou NETSERVER, je tˇreba poˇ c´tat ı s tı´m, z ˇe ve vy ´ chozı´m nastavenı´ m˚ uz ˇe stav ˇ´st UPS c ı kdokoliv. Apcupsd od verze 3.8.2 obsahuje podporu balı´ˇ cku tcp wrappers, takz ˇe m˚ uz ˇeme pˇr´stup ı omezit patˇriˇ cnou konfiguracı´ v souborech /etc/hosts.deny a /etc/hosts.allow. Dalsˇ´ı moz ˇnostı´ (dostupnou i ve starsˇ´ch ı verzı´ch apcuspd) je pouz ˇ´t ı mı´sto apcupsd pro publikaci stavu UPS samostatny ´ de ´mon apcnetd, ktery ´ m˚ uz ˇeme startovat pˇres inetd. (Tedy v konfiguraˇ cnı´m souboru apcupsd.conf uvedeme NETSERVER off a nakonfigurujeme inetd tak. aby po pˇr´chozı ı ´m poz ˇadavku spojenı´ na port 7000 spousˇtˇ el apcnetd. Opˇ et m˚ uz ˇeme vyuz ˇ´t ı tcp wrappers pro omezenı´ pˇr´stupu.) ı ˚ napa Pokud provozujeme vı´ce poˇ c´taˇ ı cu ´ jeny ´ ch pˇres jeden za ´ loz ˇnı´ zdroj a tyto poˇ c´taˇ ı ce apcupsd kontroluje pˇres sı´t’, je potˇreba zajistit, aby nebylo moz ˇne ´ simulovat fales ˇny ´ master apcupsd server, ktery ´ by pak mohl kontaktovat syste ´my, ktere ´ fungujı´ jako slave a iniciovat neopra ´ vnˇ enˇ e ˚ je moz shutdown. V konfiguraci slave poˇ c´taˇ ı cu ˇne ´ direktivou USERMAGIC nastavit heslo, ktere´ apcslv posˇle pˇri prvnı´m kontaktu master procesu apcupsd. Tı´mto heslem pak master proces prokazuje svou totoz ˇnost. Ani toto ˇresˇenı´ ovsˇem nenı´ idea ´ lnı´, protoz ˇe heslo po sı´ti putuje v nezas ˇifrovane ´ podobˇ e.
Testova ´ nı´ instalace je velmi d˚ ulez ˇite ´. Abychom se vyhnuli nepˇr´jemnostem ı pˇri chybne ´m nastavenı´, je vhodne ´ nejprve UPS pˇripojit k se ´riove ´mu portu, ale poˇ c´taˇ ı c nechat zapojeny ´ pˇr´mo ı do rozvodne ´ sı´tˇ e. Nejdˇr´ve ı se ujistı´me, z ˇe komunikace s UPS funguje podle nas ˇich pˇredstav: • ovˇ eˇr´me ı si vy ´pisem proces˚ u, z ˇe
apcupsd skuteˇcnˇe bˇezˇ´,ı
• v syste ´move ´m logu by mˇ elo by ´ t hla ´s ˇenı´ o u ´ spˇ es ˇne ´m startu, • utilita
apcaccess musı´ vypsat status za´lozˇnı´ho zdroje,
• pokud pˇrerus ˇ´me ı napa ´ jenı´ UPS ze sı´tˇ e, UPS se musı´ pˇrepnout na baterie a apcupsd to musı´ zaregistrovat. Teprve v pˇr´padˇ ı e, z ˇe vsˇe funguje tak jak ma ´ , m˚ uz ˇeme zapojit napa ´ jenı´ poˇ c´taˇ ı ce pˇres UPS a simulovat vy ´padek napa ´jenı´ naostro. Zpoˇ ca ´ tku je vhodne ´ volit krite ´ria opatrnˇ e tak, aby se inicializoval shutdown s rezervou. V opaˇ cne ´m pˇr´padˇ ı e by UPS vypnula napa ´ jenı´ dˇr´ve ı nez ˇ cela ´ shutdown sekvence stihne probˇ ehnout. Dodateˇ cnˇ e pak parametry m˚ uz ˇeme upravit.
18
Powerflute — na ´ stroj pro konzoli Shrnutı´ Za ´ loz ˇnı´ zdroje APC patˇr´ı mezi ty nejrozs ˇ´ˇ ırenˇ ejs ˇ´ı a cenovˇ e pˇr´stupne ı ´. Pod Linuxem jsou dobˇre podporova ´ ny — uz ˇivatel
Linuxove ´ noviny
07-08/2001
ma ´ na vy ´bˇ er mezi software od APC (PowerChute) a volnˇ e s ˇiˇritelny ´m sofware (zejme ´na Apcupsd a NUT). M˚ uz ˇe si tedy podle vlastnı´ch potˇreb vybrat takovy ´ software, ktery ´ mu svy ´ m ovla ´ da ´ nı´m nejvı´ce vyhovuje. Obsluz ˇny ´ software Apcupsd je co do moz ˇnostı´ konfigurace velmi flexibilnı´ a pro monitorova ´ nı´ stavu UPS poskytuje na ´ stroje jak pro pˇr´kaı zovou ˇra ´ dku / konzoli tak i webove ´ rozhranı´. Vy ´ hodou je i rozsa ´ hla ´ a velmi pˇrehledna ´ dokumentace ve formˇ e manua ´ˇla lu (7), c ´ nku v Linux Journalu (8), a dalsˇ´ch ı informacı´ (9).
1 American Power Conversion Corporation
http://www.apcc.com/ 2 Projekt Apcupsd
http://www.apcupsd.org/
Ma ´ te disky Western Digital? Zejme ´na nˇ ektere ´ se ´rie disk˚ u te ´to znaˇ cky byly problematicke ´, ovs ˇem nynı´ se zda ´, z ˇe proble ´m ma ´ velmi snadne ´ ˇres ˇenı´:
3 FTP server spoleˇ cnosti APC
ftp://ftp.apcc.com/ 4 NUT
http://www.exploits.org/nut/ 5 genpowerd
ftp://metalab.unc.edu/pub/Linux/system/ups/genpower-1.0.2.tar.gz 6 upsd
ftp://metalab.unc.edu/pub/Linux/system/ups/upsd-2.5.tgz 7 Manua ´ l k apcuspd
http://www.apcupsd.org/users_manual/index.html ˇ ´ nek z Linux Journal o Apcupsd 8 Cla
http://www.apcupsd.org/apcupsd_article_LJ_dec20 00/index.html 9 Dals ˇ´ı informace o Apcupsd
http://www.sibbald.com/apcupsd/
Zasma ´ li jsme se!
. . . Stalo se mi, z ˇe jsem pustil poˇ c´taˇ ı c, a mı´sto nabˇ ehnutı´ se ozy ´ valo hlasite ´ klepa ´ nı´ z HD . . . Znovu jsem provedl instalaci s kontrolou disku a az ˇ v pr˚ ubˇ ehu to klepa ´ nı´ pˇrestalo. Reklamovat ho uz ˇ nem˚ uz ˇu, uz ˇ ho ma ´ m asi 3 roky a bˇ ez ˇ´ı da ´l jako by nic. Vy ´ robce je myslı´m Western Digital. Nemyslı´m si, z ˇe je chyba v nˇ em. . . . Ma ´ m tu jeden stary ´ 2GB (ST32520A) a taky klepal. Jednou jsem ho vyndal z poˇ c´taˇ ı ce a chtˇ el levnˇ e prodat, ale spadl mi asi z metrove vy ´sˇky na zem. Tak jsem ho jen ze zvˇ edavosti dal zpa ´ tky do poˇ c´taˇ ı ce a on uz ˇ neklepal. Ten disk slouz ˇ´ı do dnes :-) Takz ˇe rada znı´: Nevyhazovat! Omla ´ tit o zed’ a zpa ´ tky do PC. :-)
David H¨ aring
Na za ´ vˇ er jsme pˇripravili opˇ et nˇ eco lehˇ c´ho ı pro pobavenı´ nejen ze stˇr´pk˚ ı u konference cz.comp.linux a vasˇich pˇr´spˇ ı evk˚ u :-) ˇasu se dˇr´ve ˇi pozdˇ S proble ´mem synchronizace c ı c eji setka ´ prakticky kaz ˇdy ´. Vs ˇimnˇ eme si, co vs ˇechno je tˇreba vzı´t v potaz: . . . poslednı´ dobou poˇra ´ d nara ´z ˇ´m ı na nˇ ejake ´ za ´ hady :), tentokra ´ t je to zajı´mavˇ e ˇas pomocı´ NTP. Pouz synchronizovany ´c ˇ´va ı ´m ntpd doda ´ vany ´ v RH7.1, ma ´ m 2 softwarovˇ e a az ˇ na videokarty i hardwarovˇ e stejne ´ stroje na jednom sı´t’ove ´m segmentu, synchronizovane ´ proti stejny ´ m server˚ um. Po celou dobu jejich ˇi sobˇ ˇas posunuty bˇ ehu majı´ v˚ uc ec ´ o 40,nˇ eco sekund. Ten rozdı´l je celou dobu poˇra ´ d stejny ´, s pˇresnostı´ ˇra ´ dovˇ e milisekund, takz ˇe nˇ ejaka ´ synchronizace tam je, ale jak to z ˇe ma ´ kaz ˇdy ´ ˇas? jiny ´c . . . pretoz ˇe jeden z nich je urˇ cite za ´ padnejs ˇie ako ten druhy ´, a tak ma ´ o 40 sekund menej :) . . . No jo, asi o 8 metr˚ u. ;)
O tom, z ˇe staˇriˇ cky ´ netscape mı´va ´ s interpretacı´ HTML obˇ cas vy ´ razne ´ proble ´my nenı´ pochyb. Nˇ ekdy je netscape zˇrejmˇ e natolik bezradny ´, z ˇe se sebekriticky doz ˇaduje instalace patˇriˇ cne ´ho pluginu:
Na ´ sleduje jednoduchy ´ na ´ vod jak zajistit v pˇr´padˇ ı e potˇreby vzda ´ lenˇ e reset serveru: . . .Da ´ vnejs ˇie tu prebehla debata o zariadenı´, ˇ uje kontrolovat PC a v prı´pade z ktore ´ umoz ˇn ˇe sa sekne ho resetnu ´ t’. Mˆ oz ˇete mi niekto poslat adresu prı´padne nejake ´ info o tom malom „za ´ zraku“ ? :)) . . .kedysi bol vo fide popis od nejake ´ho rusa, ktore ´mu sa nechcelo chodit’ cez cely ´ Petrohrad resetovat BBS ked’ sa mu ku ´ sla. Tak dal oproti ˇudlı´kom sebe dve mas ˇiny s predlz ˇeny ´m c na reset vz ˇdy smerovanom do u ´ rovne cd-mechaniky naprotivne ´ho stroja a ked’ sa ku ´ sol jeden, tak sa konektol na druhy ´ stroj a vyvolal eject prı´slusˇnej cd-mechaniky ktora ´ po vysunuti trafila reset ku ´ snute ´ho stroja.
ˇase administra Diskuze o tom, jak to vypada ´ , kdyz ˇ se po c ´tor rozhodne udˇ elat poˇra ´ dek na serveru a zaˇ cne pˇremy ´sˇlet, proˇ c je nˇ eco nastaveno tak a ne jinak, kdyz ˇ by to pˇrece sˇlo zaˇr´dit ı mnohem le ´pe:
19
Linuxove ´ noviny
07-08/2001
Hyperuz ˇivatel odhalen . . . I pokroˇ cily ´ ale obˇ cas m˚ uz ˇe mı´t proble ´m si vzpomenout, proˇ c je to nastavene ´ *zrovna takhle*. . . . Zase se tı´m cviˇ c´ı dlouhodoba ´ pamˇ et’ ;) ˇ ˇuˇ Clovˇ ek na to c c´, ı ˇr´ka ı ´ si ”sakra co to je za nesmysl”, uvede to do (podle nˇ ej) spra ´ vnˇ ejs ˇ´ho ı stavu, provede blablabla restart, zjistı´, z ˇe pˇrestalo fungovat 482 vˇ ecı´, VZPOMENE si, proˇ c to teda tak bylo, a zase to vra ´ tı´ zpa ´ tky ;) Nebo ne? :) . . .Pˇresnˇ e. Podruhe ´ to je stejne ´, potˇretı´ uz ˇ ne, protoz ˇe se to napı´s ˇe na papı´r, ktery ´ se dobˇre ˇlovˇ ukryje (nejle ´pe do kosˇe). Pak si to c ek napı´sˇe do $HOME, ktery ´ v kriticke ´ chvı´li smaz ˇe. A pak se ˇrekne: nesahej na to, co funguje — a je (doˇ casnˇ e) po proble ´mu :) Tros ˇku z jine ´ho soudku. Tento kresleny ´ vtip ve skuteˇ cnosti vlastnˇ e zase tak moc legraˇ cnı´ nenı´ — je spı´s ˇe k pla ´ˇi. O americke c ´m DMCA (Digital Millenium Copyright Act) a skanda ´ lech s nı´m spojeny ´ch asi lide ´ pohybujı´cı´ se ve svˇ etˇ e Linuxu vˇ edı´. Ovs ˇem ma ´ lo se vı´, z ˇe spravedlnost uz ˇ v USA da ´ vno nenı´ slepa ´ , ale sve ´ obˇ eti si peˇ clivˇ e vybı´ra ´:
Bylo odhaleno s ˇokujı´cı´ tajemstvı´ ty ´kajı´cı´ se UNIXovy ´ ch syste ´m˚ u: vs ˇichni jistˇ e vı´te, z ˇe superuz ˇivatel se jmenuje root podle sleˇ cny Ru ´ t, milenky Briana Kerninghana. Pr˚ uhledna ´ za ´ minka, z ˇe je to anglicky ”koˇren”, urˇ citˇ e neobstojı´. Co vs ˇak bylo odhaleno az ˇ nynı´, je existence hyperuz ˇivatele. Jme ´no hyperuz ˇivatele je pokraˇ cova ´ nı´m v tradici dı´vˇ c´ch ı hebrejsky ´ ch jmen: nazy ´va ´ se „rivka“. Jme ´no je napevno zakodova ´ no do kernelu a programu /bin/login. Samozˇrejmˇ e v zas ˇifrovane ´ podobˇ e, jak jinak. Heslo se nas ˇim reporte ´r˚ um bohuz ˇel nepodaˇrilo zjistit, ale pokud se nˇ ekdo pˇrihla ´ sı´ pod hyperuz ˇivatelskou identitou, zı´ska ´ tyto vy ´hody: • procesor se pˇrepne do specia ´ lnı´ho nedokumentovane ´ho rez ˇimu — na PC tomu odpovı´da ´ zvla ´s ˇtnı´ obdoba System Management Mode: program vidı´ celou pamˇ et’, m˚ uz ˇe ke vs ˇem port˚ um a m˚ uz ˇe pouz ˇ´vat ı nedokumentovane ´ instrukce jako HCF (Halt and Catch Fire) • program cat(1) ma ´ nynı´ novou volbu -undelete, pomocı´ ktere ´ je moz ˇno bezpeˇ cnˇ e obnovovat smazane ´ soubory • dı´ky aktivaci rezervovany ´ch oblastı´ disku se zvy ´s ˇ´ı u ´ loz ˇny ´ prostor • dd(1) ma ´ nynı´ novou volbu: dd -game spustı´ hru DoomDestroyer, coz ˇ je pˇredch˚ udce Doomu ze sedmdesa ´ ty ´ch let, bˇ ez ˇ´cı ı ´ v textove ´m rez ˇimu • pˇriˇ cemz ˇ hyperuz ˇivatel za ´ roveˇ n samozˇrejmˇ e m˚ uz ˇe vs ˇe co superuz ˇivatel.
A ted’ ke konkurenci. Linuxu by ´ va ´ zaˇ ca ´ teˇ cnı´ky vyˇ c´ta ı ´no, z ˇe ja ´ dro sice produkuje spoustu podrobny ´ch chybovy ´ch hla ´ sˇenı´, ale je proble ´m se v nich vyznat. To takove ´ MS Windows(TM) uz ˇivatele rozhodnˇ e z ˇa ´ dny ´ mi zbyteˇ cnˇ e podrobny ´ mi u ´ daji nezatˇ ez ˇujı´, nˇ ektere ´ chyby je prostˇ e dokonale pˇrekvapı´:
Historie UN*Xu je pomˇ ernˇ e nepˇrehledna ´ , a tak se obˇ cas stane, z ˇe az ˇ po uplynutı´ dlouhe ´ doby na povrch vyplavou zajı´mave ´ souvislosti. Na jednu takovou na ´ s upozornil Daniel Novotny ´:
20
Dı´ky konspiraˇ cnı´ domluvˇ e mezi Kerninghanem, Stallmanem a Torvaldsem je hyperuz ˇivatel skryt i v Linuxu: nˇ ekde v hloubi zdroja ´ k˚ u ja ´ dra a /bin/login, mezi vs ˇ´m ı tı´m assemblerem ˇkem. M˚ ˇtenı´m a ce ´c uz ˇete ho (vlastnˇ e ji) najı´t c zdrojovy ´ ch text˚ u. Pˇreji va ´ m hodnˇ es ˇtˇ estı´. Ovs ˇem to, z ˇe vznikne server www.rivka.cz je skuteˇ cnˇ e pouha ´ kachna, nevˇ eˇrte tomu. . .
Klasicky ´ „flame“, aneb co je lepsˇ´: ı Vim nebo Emacs? No, jak pro koho :)
Linuxove ´ noviny
07-08/2001
Linuxove ´ noviny a jejich s ˇ´ıˇrenı´ Pavel Janı´k
ˇ Linuxove ´ noviny vyda ´ va ´ Ceske ´ sdruz ˇenı´ uz ˇivatel˚ u operaˇ cnı´ho syste ´mu Linux (1) pro sve ´ pˇr´znivce ı a sympatizanty. Vlastnı´kem autorsky ´ ch pra ´ v k tomuto textu jako celku je Pavel Janı´k ml. (
[email protected]). Autorska ´ pra ´ va k jednotlivy ´m ˇla c ´ nk˚ um z˚ usta ´ vajı´ jejich autor˚ um. Tento text m˚ uz ˇe by ´t s ˇ´ˇ ıren a tis ˇtˇ en bez omezenı´. Pokud ˇa ˇ la pouz ˇijete c ´ st nˇ ektere ´ho c ´ nku zde uveˇrejnˇ ene ´ho v jiny ´ ch ˇ´slo, ˇla dı´lech, musı´te uve ´st jme ´no autora a c ı ve ktere ´m byl c ´ nek uveˇrejnˇ en. Linuxove ´ noviny jsou otevˇreny kaz ˇde ´mu, kdo by chtˇ el naˇtena ˚ m sdˇ s ˇim c ´ˇru elit nˇ eco zajı´mave ´ho. Pˇr´spˇ ı evky (ve forma ´ tu ˇiste c ´ho textu v ko ´ dova ´ nı´ ISO 8859-2) posı´lejte na adresu (2). Autor nema ´ na ´ rok na finanˇ cnı´ odmˇ enu a souhlası´ s podmı´nkami uvedeny ´mi v tomto odstavci. Vydavatele ´ si vyhrazujı´ pra ´ vo ˇi nikoli. rozhodnout, zda Va ´s ˇ pˇr´spˇ ı evek uveˇrejnı´, c Registrovane ´ zna ´ mky pouz ˇite ´ v tomto textu jsou majetkem jejich vlastnı´k˚ u. Chtˇ el bych podˇ ekovat spoleˇ cnosti SuSE CR, s.r.o (3), z ˇe podporuje redakci v pra ´ ci na Linuxovy ´ ch novina ´ ch. Linuxove ´ noviny jsou k dispozici take ´ ve forma ´ tu HTML na adrese (4). ˇ 1 Ceske ´ sdruz ˇenı´ uz ˇivatel˚ u operaˇ cnı´ho syste ´mu Linux
http://www.linux.cz/czlug 2 Adresa redakce
mailto:
[email protected] 3 SuSE CR, s.r.o.
http://www.suse.cz/ 4 Linuxove´ noviny ve forma ´ tu HTML
http://www.linux.cz/noviny
ˇe S ´fredaktor: Pavel Janı´k ml.
mailto:
[email protected] vy ´ konny ´ s ˇe ´fredaktor: David Ha ¨ ring
mailto:
[email protected] sazba: Ondˇrej Koala Va ´ cha
mailto:
[email protected]
21