ot Nick Angelow(6-10-2004)

reiting (16)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

ZA PROGRAMNITE RAID MASIVI

http://unix.ginras.ru/linux/base009.html

Aleksei Fedorchuk


Za kakvo e neobhodim programen RAID na potrebitelska mashina? Razumniiat chovek shte otgovori – zashtoto niama aparaten RAID. I dazhe da ima, ne e zadulzhitelno, proizvolno iadro na Linux da raboti izpravno sus sushto tolkova proizvolen ATA RAID kontroler – moiat opit pokazva, che poddruzhkata im (dazhe i ot suvremennite iadra, meko kazano, e dalech ot ideala (za razlika ot FreeBSD, kudeto vsichki popadali mi ustroistva ot tozi rod se razpoznavaha bezpogreshno ot operatsionnata sistema ot 5-tiia klon). Taka che, ako imate osobeno goliamo zhelanie da izpolzvate RAID, napulno e vuzmozhno da se okazhe, che negovata programna realizatsiia (t. nar. Soft RAID) shte se okazhe edinstveno vuzmozhnata.


EDNO DRUGO ZA RAID IZOBSHTO

Nezavisimo ot tova dali e realiziran aparatno ili programno, RAID masiva e prednaznachen za predstavianeto na niakolko fizicheski diska (pri programniiat podhod, sushto i na dialove) vuv vid na edno obshto ustroistvo. Razlichavat se RAID masivi s izlishuk i bez izlishuk. Kum purvite se otnasiat RAID level 0 i programniiat lineen rezhim. TSelta na takiva masivi e povishavaneto na burzodeistvieto na diskovite operatsii ili poveche udobstvo pri rabota.

Masivite s izlishuk sa prednaznacheni nai-veche za povishavane nadezhdnostta na suhranenie na dannite, a ako pri tova postignem i uvelichavane na burzodeistvieto na diskovite operatsii, mozhe da go razglezhdame kato bezplaten bonus.

Na praktika, v Linux (i FreeBSD) se izpolzvat samo dve niva na RAID s izlishuk – nivo 1 i nivo 5 (v The Software-RAID HOWTO e opisana i konfiguratsiia na programnoto nivo 4, no tova ne e nishto poveche ot dogadka na avtora, spored sobstvenoto mu priznanie).

RAID level 1 (narichan oshte ogledalen rezhim, mirroring) e prosto ogledalo ot dva diska, toest tozi masiv pritezhava 100% izlishuk – pri izlizane ot stroia na ediniia disk, tsialata informatsiia se zapazva na dublirashtiia disk (makar, che v protsesa na rabota te sa ravnopravni). Razbira se, ne mozhe da govorim za nikakvo uvelichenie na proizvoditelnostta v tozi sluchai. No e vuzmozhno kombiniraneto na level 0 s level 1 (tazi kombinatsiia se naricha level 0+1 ili poniakoga level 10), kogato edna dvoika diskove v paralelen rezhim se kombinira s druga dvoika, sushto raboteshta v paralelen rezhim. Ne e trudno da presmetnem, che v tozi sluchai e zhelatelno da imame 4 otdelni IDE kontrolera.

Pri RAID level 5 dannite se razpredeliat vurhu vsichki diskove, koito obrazuvat masiva i se dopulvat s kontrolni sumi, po koito se osushtestviava vuzstanoviavaneto na dannite v sluchai na otkaz na ednoto ustroistvo. Minimalnoto kolichestvo diskove v tozi masiv e tri i negoviiat obsht obem e raven na proizvedenieto na obema na nai-malkiiat ot tiah po tehniia broi minus edinitsa, tui kato za suhranenie na kontrolnite sumi se izpolzva chast ot prostranstvoto na vseki disk, kato sumata ot tezi prostranstva e ravna na obema na edinichno ustroistvo. Masivite ot 5 nivo se smiatat za izklyuchitelno nadezhdni i teoretichno dazhe obeshtavat uvelichenie na burzodeistvieto1


NQKOLKO DUMI ZA APARATNIQT ATA RAID

Do neotdavna aparatnite kontroleri ATA RAID, realizirani na otdelni PCI karti ili razhvurliani po dunnata platka se osnovavaha na chipovete, proizvezhdani ot tri firmi – Promise, HighPoint i Silicon Image. Teoretichno, i trite chipa se poddurzhat ot kanonichnoto iadro na Linux, za koeto pri negovoto konfiguriran (v menyuto ATA/IDE/MFM/RLL support) triabva da se vklyuchi obshtata poddruzhka na ATA RAID (Support for IDE Raid controllers) i poddruzhkata na suotvetniiat chip.

Poddruzhkata na ATA RAID mozhe da bude modulna ili, ako se predpolaga nachalno zarezhdane ot diskoviia masiv, vgradena v iadroto. V posledniiat sluchai se predpolaga vklyuchvane na oshte edna vuzmozhnost – zarezhdane ot ustroistvo na vunshen kontroler (Boot off-board chipsets first support), a sushto i izpolzvaneto na niakoi trikove, ako za zarezhdane na operatsionnata sistema izpolzvame GRUB.

No na praktika se okazva, che neshtata ne sa tolkova dobre i rabotata s ATA RAID ne mozhe da se otnese kum silnite strani na Linux2. Ot tri preminali prez men dunni platki s vgradeni RAID kontroleri, na dve ot tiah vgradeniiat RAID kontroler ne se otkri po nikakuv nachin ot sistemata. Viarno, che sled suotvetnata nastroika na iadroto, samite kontroleri se poznavaha ot sistemata, no vklyuchenite kum tiah diskove – ne. Neshto poveche – poiavi se edin paradoks – v kachestvoto na RAID masiv se predstaviashe normalniiat Master disk na purviia kanala na obiknoveniia IDE kontroler.

V niakoi sluchai mogat da pomognat draiverite ot proizvoditelia na chipa, no triabva da pomnim, che tezi draiveri (vsushtnost, dopulnitelni moduli kum iadrata) sa dostupni izklyuchitelno v dvoichen vid i sa kompilirani ne samo za opredelena versiia na iadroto, no i za konkretna versiia (po pravilo ne nai-novata) na konkretna distributsiia (pri men sa popadali obiknoveno za Red Hat i Suse). Taka, che ne moga da garantiram tiahnata rabotosposobnost v proizvolna Linux sistema.

Dosega podobno sustoianie na neshtata mozheshe, ako ne da se opravdae, to pone da se obiasni s fakta, che ATA RAID se vuzpriemashe ne tolkova kato ekzotichno ustroistvo, a po-skoro kato pozhelatelno (vupreki, che moi nablyudeniia, pone edna treta ot dunnite platki, proizvedeni prez poslednite dve godini se komplektovaha s RAID kontroler ot niakoia firma). V momenta takiva problemi veche niama – s poiavata na chipseta i875/865 i negoviiat yuzhen most vuv variant ICH5R, aparatnite RAID kontroleri stanaha standartno ustroistvo na suvremennite mashini. Nadiavame se, che tova shte podobri situatsiiata s poddurzhaneto na takiva ustroistva ot iadroto na Linux. Oshte poveche, che 5-iat klon na FreeBSD, v koito niama nikakvi problemi s tiah, e pred ochite ni.


NUZHEN LI E RAID NA HORATA?

Ostava vse pak da reshim, zashto vuobshte e nuzhen RAID na nastolna mashina. Sushtiiat tozi razumen chovek3 shte kazhe, che e neobhodim:

    • ili za uvelichavane na proizvoditelnostta (RAID level 0);

    • ili za uvelichavane na nadezhdnostta na suhranenie na dannite (RAID level 1);

    • ili za shtastlivoto suchetavane na gornite dve (RAID level 5, vsichki ostanali niva na RAID za nastolna mashina niamat nikakvo praktichesko znachenie).

Na vsichki tezi otgovori, mozhe da privedem ne po malko razumni vuzrazheniia, takiva kato:

  • obiknoveno proizvoditelnostta na diskovata podsistema na nastolna mashina4 nito pri FreeBSD, nito osobeno pri Linux, ne e kritichna;

  • RAID level 1 za povecheto potrebiteli ne e opravdan ikonomicheski;

  • RAID level 5 garantira zashtitata na danni ot zagubi samo pri uslovie, che izlezliiat ot stroia disk mozhe da se zameni sus sushtiia takuv, stoial v shkafa na masata5;

  • vseki RAID s izlishuk (a tova oznachava ot nivo 1 nagore) v nikakva stepen ne e zastrahovan ot greshki na potrebitelia – prichini, poradi koito sa bili zagubeni poveche danni, otkolkoto ot vsichki problemi s harduera, vzeti zaedno i shte otbelezha v skobi, che toi po nikakuv nachin ne otmenia rezervnoto kopirane na dannite.

Po tozi nachin, edva li ne edinstvenata prichina za izpolzvaneto na RAID sa suobrazheniiata za udobstvo – diskovite dialove na dva ili poveche fizicheski diska se slivat i na tiah se suzdava edinna failova sistema, naprimer za direktoriiata /home s vsichki potrebitelski danni (razbira se, teoretichno RAID masiv mozhe da se suzdade ot dialovete na edin disk, no v tova ima sushto tolkova smisul, kolkoto i v tova da cheshem diasnoto si uho s paletsa na leviia si krak).

Razbira se, sushtestvuva i drug nachin za svurzvane dialovete na razlichni diskove – tehnologiiata LVM (Linux Volume Manager), podrobno opisana v predishnata statiia, koiato mezhdu drugoto predostavia takiva polezni vuzmozhnosti kato izmenenie razmera na failovata sistema, vklyuchvaneto kum neia “v dvizhenie” na dopulnitelni dialove i t. n. Samo che, nuzhno li e tova na nastolna mashina? Moeto mnenie e (a az izpolzvah LVM produlzhitelno vreme imenno na svoiata BNM – boina nastolna mashina), che ne e mnogo neobhodimo. Za edna godina nito vednuzh ne se nalozhi da prerazpredelia diskovoto prostranstvo. A ako izvednuzh se poiaviavaha novi diskove – niamashe nuzhda te da se dobaviat kum sushtestvuvashtata failova sistema, oshte poveche, che veche niama miasto kude da gi slagam v mashinata.

Taka, che ako programniiat RAID e po-lesen nachin za svurzvane na diskovo prostranstvo, otkolkoto e tehnologiiata LVM, zashto da ne se vuzpolzvame ot nego? Eto che reshih i da razucha tozi vupros pri porednata prekonfiguratsiia na moiata mashina, na osnovata na Linux. Oshte poveche, che predi tova natrupah opit pri suzdavane na programen RAID pod upravlenieto na FreeBSD (kudeto tehnologiiata LVM ne se poddurzha).

Neka se razberem vednaga – nashiiat programen RAID shte se izpolzva samo za failovata sistema, montirana v direktoriiata /home – niama da stava duma nito za glavnata direktoriia, nito za zarezhdane s RAID. I poradi tova ima smisul da razglezhdame samo dve raznovidnosti na RAID – taka narecheniiat lineen rezhim i RAID level 0. I pri dvete raznovidnosti diskovite dialove chisto mehanicheski se suediniavat i za operatsionnata sistema (i neinite potrebiteli) izglezhdat kato edin dial. Razlikata mezhdu tiah e v tova, che pri lineiniia rezhim, dannite fizicheski se zapisvat purvo na ediniia disk, sled tova na vtoriia, toest te ne osiguriavat nishto poveche osven udobstvo pri rabotata s diskovete.

V masiva ot nulevo nivo (narichan sushto striple rezhim, koito v sluchaia mozhe da se prieme kato paralelen) e obratno – vsiaka portsiia ot zapisvanite danni se razdelia na dve ravni chasti, ednata ot koito po edno i sushto vreme se zapisva na ediniia diskov dial, a drugata – na drugiia, koeto teoretichno triabva da vodi do povishavane na burzodeistvieto na diskovite operatsii. Na praktika sushto se postiga uvelichavane na burzodeistvieto, no samo v sluchaite, kogato diskovete sa razpolozheni na razlichni IDE kanali (SCSI diskove sushto niama da obsuzhdame). V protivniiat sluchai ne samo niama da imame povishavane na burzodeistvieto, no e mnogo veroiatno to da spadne (sudeiki po sobstveniia si opit v sluchaia s LVM, pri koiato diskoviiat obmen se izvurshva po podoben nachin, kudeto burzodeistvieto spadna prosto katastrofalno)

Osven tova, RAID level 0 ne spomaga za povishavane nadezhdnostta na suhraniavane na dannite – pri otkaz dazhe na edin disk, shte propadnat vsichkite (dokato pri lineiniia rezhim informatsiiata shte se zapazi pone priblizitelno). Oshte poveche, che upotrebata na paralelniia rezhim mozhe da bude opravdana – kolkoto i da prikazvam za nekritichnostta na burzodeistvieto na diskovite operatsii pri nastolnite mashini, vse pak e priiatno, kogato dva-tri gigabaita se kopirat ako ne dvoino, to pone 1,5 puti po-burzo (viarno e, che ne moga da garantiram za tochnostta na kolichestvenata otsenka).


PODGOTVITELEN ETAP

Kakto e obichaino za Linux, programniiat RAID ot proizvolno nivo mozhe da bude suzdaden po poveche ot edin nachin – v tozi sluchai po dva (mezhdu drugoto i pri FreeBSD ima dva nachina za organizirane na RAID). No nezavisimo ot tova, na koi ot nachinite shte se sprem i kakvo nivo na RAID sme izbrali, vuv vseki edin ot sluchaite shte iziskva izpulnenieto na niakolko usloviia i opredelen kompleks ot deistviia.

Purvoto uslovie, estestveno e nalichieto na poveche ot edin fizicheski disk. Pri tova e ochevidno, che ako shte suzdavame RAID s lineen rezhim na rabota, broiat im niama znachenie, dokato ako shte suzdavame RAID level 0 za predpochitane e tehniiat broi da bude cheten (makar, che dokolkoto razbiram, za razlika ot aparatniiat RAID, tova ne e zadulzhitelno). I pak shte se povtoria – pri lineiniia rezhim na vklyuchvane, niama znachenie kakuv e reda na vklyuchvane na diskovete kum kontrolera, dokato pri izbor na RAID level 0 e zhelatelno da razpolozhim diskovete na razlichni kontroleri6.

Sled tova e neobhodimo da suzdadem vurhu diskovete (s pomoshtta na fdisk, cfdisk, parted ili s drugi, spetsifichni za distributsiiata spetsializirani programi) dva diala. I pak, ako shte izpolzvame lineen rezhim, goleminata na dialovete e bez znachenie, dokato pri paralelniia rezhim e zhelatelno te da budat ravni (ili pone priblizitelno ravni) po obem. V protiven sluchai, goleminata na obshtiia masiv shte bude namalena s razlikata mezhdu negovite sustaviashti go chasti.7

Nakraia, na dialovete, prednaznacheni za obediniavane v masiv e dobre da bude prisvoen suotvetniiat identifikator za tip failova sistema – fd (v shestnadesetichna notatsiia), koito taka i se naricha – RAID auto detection. Po printsip, tova ne e zadulzhitelno, no kakto shte stane iasno po-natatuk, seriozno oprostiava neshtata.

Ako razdelianeto na diska se izvurshva s programata cfdisk, v neiniia spisuk s identifikatori niama RAID auto detection, koeto ne oznachava, che ne mozhe da go prisvoim s neia – triabva prosto sled izbora na menyuto za smiana na tipa na diala, naglo da vuvedem fd i vsichko shte bude nared.

Sega e red na iadroto na sistemata – za izpolzvane na programen RAID, v negovata konfiguratsiia triabva da budat vklyucheni suotvetnite optsii ot razdela Multidevice support (RAID and LVM) na glavnoto menyu, generirano s komandata

$ make menuconfig

A imenno:

  • obshta poddruzhka na mnozhestveni ustroistva (Multiple devices driver support(RAID and LVM));

  • obshta poddruzhka na RAID;

  • poddruzhka na predpochitaniia rezhim – lineen (Linear (append) mode) ili paralelen (RAID-0 (striping) mode).

Obshtata poddruzhka na „mnozhestveni“ ustroistva mozhe da bude samo vgradena v iadroto, a ostanalite optsii mogat da budat ili vgradeni, ili vklyucheni kato moduli (tova e prieto po podrazbirane v povecheto paketni distributsii ot tipa na Red Hat). V razglezhdaniia ot nas sluchai, tova e bez znachenie. Vgrazhdaneto na poddruzhkata na RAID v iadroto e zadulzhitelna samo v tezi sluchai, kogato na masiva se razpolaga korennata failova sistema i/ili toi shte izpulniava roliata na zarezhdashto8 ustroistvo – no nie se razbrahme da ne pravim nito ednoto, nito drugoto. A i pri napravena suotvetna konfiguratsiia na virtualen zarezhdasht disk (initrd), dazhe i pri tezi sluchai mozhe da minem s moduli kum iadroto. Oshte poveche, che vinagi vgrazhdam poddruzhkata na neobhodimite mi ustroistva – neka iadroto stane po-goliamo, no zatova shte imam po-malko grizhi s nastroivaneto na modulite (a i vuobshte mi se struva, che taka stava po-burzo, a koi se interesuva veche ot razmera na iadroto?).

Ot optsiite za konfigurirane na iadroto, koito ne sa direktno svurzani s RAID, e dobre da vklyuchim poddurzhaneto na failovata sistema na protsesite (procfs), koeto shte ni pozvoli da imame informatsiia za tekushtoto sustoianie na masiva. Tova se izvurshva v menyuto File systems na glavnoto menyu (/proc file system support). Razbira se, tazi failova sistema triabva da bude opisana vuv faila /etc/fstab sus suotvetniiat red:

proc /proc proc defaults 0 0

za avtomatichno montirane pri startiraneto na sistemata. Mezhdu drugoto, poddurzhaneto na procfs nikoga ne e izlishna ...


PROTSESUT NA SUZDAVANE

Veche mozhe da pristupim kum suzdavaneto na RAID masiva, za koeto shte ni e neobhodim suotvetniiat programen instrumentarium. I tuk se poiaviava tazi alternativa, za koiato spomenah po-rano – traditsionniiat raidtools i po-noviia mdadm. V kraina smetka, vuv vsiaka pulnofunktsionalna distributsiia shte se nameri pone ediniiat ot tiah (i neshto mi podskazva, che tozi edin shte se okazhe raidtools).

No imenno za nego ne mi se iska da govoria tuk. Purvo, zashtoto toi e mnogokratno opisan. Sushtestvuva fundamentalniiat The Software-RAID HOWTO, napisan ot Qkob Ostergaard (Jacob Ostergaard) i preveden na ruski ezik ot Maksim Dzyumanenko9 (koito mozhe da bude nameren i na http://linux.yaroslavl.ru10). Nemalko vnimanie na RAID masivite e otdelil suzdatelia na Gentoo Linux, Daniel Robins v svoiata seriia ot publikatsii na saita na IBM-Linux (chast 1, chast 2). I vsichki tezi dokumenti sa posveteni izklyuchitelno na izpolzvaneto na raidtools (na koito rodnoto miasto e http://people.redhat.com/mingo/raidtools).

A za mdadm svedeniia mozhe da se poluchat samo ot negovata dokumentatsiia, kato prevodi na ruski ezik ne sum sreshtal11. Nai-vazhnoto e, che mdadm prevuzhozhda raidtools ot gledna tochna na udobstvoto na izpolzvane (za poreden put triabva da podchertaia, che razsuzhdavam ot pozitsiiata na potrebitel, a ne na administrator).

I taka – mdadm. Fakt e, che ne vinagi mozhe da go namerite vuv vashata distributsiia, koeto ne e goliam problem – vinagi mozhete da go izteglite ili ot avtorskiiat sait, ili ot saita na kanonichniiat Linux vuv vid na izhoden kod (za tekushtata versiia – mdadm-1.3.0.tgz), rabotata s koito, sled obichainoto (tar -xzvf mdamd-1.X.X.tgz) razopakovane, e sushto tolkova obichainata posledovatelnost ot komandi make i make install (neka oburnem vnimanie na fakta, che programata e tolkova prosta, che ne se nuzhdae ot predvaritelno konfigurirane s komandata ./configure).

Sled zavurshvane na instalatsiiata, nie namirame edinstveniiat izpulnim fail v direktoriiata /sbin/mdadm (koiato mozhe da promenim, ako redaktirame na ruka ~/mdamd_src_dir/Makefile, no dali tova e neobhodimo? Na takiva programi miastoto im e tochno v direktoriiata /sbin), kakto i niakolko man-stranitsi, imashti otnoshenie po temata (/usr/share/man/man5/mdadm.conf.5 i /usr/share/man/man8/mdadm.8), koito sudurzhat napulno dostatuchna informatsiia za da mozhem da pristupim na praktika kum suzdavane na sobstven RAID masiv. Kum koeto shte pristupim i nie.

Ne e trudno da se dosetim, che shtom ot tseliiat paket v kraina smetka se e poluchil samo edin izpulnim fail, triabva da go startirame imenno nego za da suzdadem masiva. Kak – shte nauchim ot man -8 mdadm (niakakvi svedeniia mozhe da poluchim i ot mdadm –help). I ediniiat, i drugiiat iztochnik pokazvat, che za obrazuvaneto na RAID masiv, komandata mdadm iziskva ednata ot dvete vuzmozhni optsii – -C (ekvivalentno e --create) ili -B (ekvivalent --build) – oburnete vnimanie i v dvata sluchaia na registura na kratkata forma na vuvezhdane na optsiiata. Kakva e razlikata mezhdu tiah?

Optsiiata -B suzdava masiv bez sobstven superblok, koeto, kakto shte stane iasno po-natatuk, za potrebitelia premahva chast ot predimstvata na mdadm i zatova poveche kum neia niama da se vrushtame. A izpolzvaneto na optsiiata -C suzdava sushtiia tozi superblok i v koiato optsiia e tsialata sila na programata mdadm.

I taka – optsiiata -C. Elementarnata logika ni podskazva, che kato osnovna optsiia, tia iziskva argument – imeto na faila na ustroistvoto, otgovariashto na suzdavaniia masiv (naprimer /dev/md0 ili pri zadeistvana failova sistema na ustroistvata devfs - /dev/md/0), a sushto i ukazvaneto na niakoi dopulnitelni danni kato: nivo na masiva (rezhim), kolichestvo ustroistva v nego, i nakraia – imenata na failovete na ustroistvata, obrazuvashti masiva. Tova se postiga s izpolzvane na optsiiata --level=# (ili sukrateno -l #) i --raid-devices=## (v sukratena forma - -n ##), sled koeto se izbroiavat imenata na failovete, neshto podobno na /dev/hda3, /dev/hdb3). V kraina smetka, nai-prostiiat sluchai na suzdavane na RAID s paralelen rezhim izglezhda po sledniia nachin:

$ mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/hd[a,b]3

Za masiv ot nivo 0, dopustimite stoinosti na optsiiata --level sa raid0 ili stripe, a za masiv s lineen rezhim, tia mozhe da priema stoinost linear (toest -l linear).

Dopulnitelno, pri paralelen rezhim, mozhe da zadadem oshte edin parametur – razmera na bloka “razpredeleni”danni, taka narecheniiat chunk, vuv vida chunk=razmer_v_kilobaitove (v sukratena forma -c ##). Razsuzhdavaiki teoretichno, kolkoto e po-goliama stoinostta na chunk (daite da ne podbirame za neia ruski ekvivalent), tolkova po-goliamo triabva da bude burzodeistvieto na masiva. No tazi teoriia ne se potvurzhdava ot prakticheskite izmereniia, poradi koeto suvsem spokoino mozhe da ia propusnem – stoinostta i po podrazbirane e 64 kilobaita. Mezhdu drugoto, ako niakoi uspee chrez kolichestveni testove da oprovergae tova moe tvurdenie, shte mu buda osobeno blagodaren. Ochevidno e, che za masiv s lineen rezhim na rabota, optsiiata -c niama fizicheski smisul

Vuv vseki sluchai, sled izpulnenieto na posochenata po-gore komanda, RAID masiva shte bude suzdaden, koeto lesno mozhe da proverim s komandata

$ less /proc/mdstat

Vednaga sled suzdavaneto si, masiva e gotov za izpolzvane – s komanda ot vida mkefs (ili v zavisimost ot predpochitaniiata mkreiserfs, mkxfs i t. n.) na nego mozhe da se suzdade edna ili druga failova sistema. Makar, che nikoi ne ni zabraniava da go razdelim na dialove s programata fdisk12. No pak shte povtoria, ako nie sme suzdavame RAID za edna edinstvena sistema ot tipa /home, ne sa neobhodimi nikakvi dopulnitelni deistviia za razdeliane na diska.

Sled kato suzdadem failovata sistema na novoobrazuvaniia masiv, nie triabva da ia montirame v zhelanata direktoriia s pomoshtta na red, podoben na tozi, vuv faila /etc/fstab

/dev/md/0 /home reiserfs noatime,notail 0 0

Ne triabva da zabraviame, razbira se, da prenesem sudurzhanieto na starata direktoriia /home v niakakvo vremenno hranilishte do premestvaneto mu na novoto miasto, sled koeto mozhe da restartirame sistemata i da se ubedim v tova, che nashata /home direktoriia se e ugolemila po vulsheben nachin.

Vnimatelniiat chitatel, koito e dobre zapoznat s dokumentatsiiata za raidtools mozhe da popita kude e konfiguratsionniiat fail, koito opisva RAID masiva. Otgovorut e, che pri izpolzvane na mdadm, nastroika na suotvetnite identifikatori na obrazuvashtite masiva dialove (tuk e miastoto da spomenete s dobra duma RAID Auto detection) i posledno, suzdavaneto na masiva sus sobstven superblok, niama nuzhda ot nikakuv konfiguratsionen fail.

No pri nalichie na zhelanie e vuzmozhno suzdavaneto i na konfiguratsionen fail za masiva – v niakoi sluchai tova mozhe da oprosti negovoto upravlenie, za koeto pak se vrushtame kum komandata mdadm. Osven spomenatite po-gore osnovni optsii, tia ima oshte niakolko dopulnitelni. I vuv formata

$ mdadm --detail --scan

e sposobna da izvede informatsiia za sushtestvuvashtiia masiv. Dostatuchno e da prenasochim neiniiat izhod vuv fail (a takuv traditsionno e /etc/mdadm.conf) i suotvetniiat konfiguratsionen fail shte bude suzdaden (neka da izvursha tazi operatsiia, dokato ne sum zabravil i sled restartiraneto na sistemata shte produlzha po-natatuk)..


DOPULNITELNI ZABELEZHKI

Ot tova, che produlzhavam svoeto suchinenie, mozhete da se ubedite, che restartiraneto na sistemata e minalo uspeshno. Taka che sega e tochniiat moment da si spomnim za drugite komandi na mdadm. S edna ot tiah se zapoznahme oshte predi – tova e –help za izvezhdane na pomoshtna informatsiia. Kakva, mozhe da konkretizirame, ako ukazhem tazi optsiia s niakoia ot ostanalite vuzmozhni optsii. Naprimer, komandata

$ mdadm --create --help

shte izvede s podrobnosti protsesa na suzdavane na masiva.

S druga optsiia (--detail ili -D – vsichki osnovni optsii, v sukratenata si forma se izpisvat s glavni bukvi) nie se sbluskahme v predishniia razdel – tia izvezhda informatsiia za sushtestvuvashtite masivi. Podobno prednaznachenie imat i optsiite –query i –examine (v sukratena forma suotvetno -Q i -E) – za podrobnosti mozhe da poglednete v man stranitsite im.

A optsiite –assemble (-A) i -monitor, ili –follow (-F) sa prednaznacheni za upravlenie na sushtestvuvashtite masivi. V chastnost, te pozvoliavat da dobaviate novi ustroistva kum nego ili da otstranite veche sushtestvuvashto pri opredeleni usloviia. Mezhdu drugoto i za tova chicho Mancho13 shte vi razkazhe podrobno, ako go pomolite po suotvetniia nachin.

Nai-obshto kazano, suzdavaneto na RAID masiv s vuzmozhnostite na mdadm e mnogo prost protses (a upravlenie na masiva ot redovi potrebitel na nastolna mashina, nai-veroiatno niama da e neobhodimo). Taka, che ako niama nuzhda ot dopulnitelnite vuzmozhnosti, predlagani ot tehnologiiata LVM, pri nalichie na dva diska ima razumna prichina da se ogranichim s tiah, oshte poveche, che i logicheskite tomove nikoi ne ni e zabranil da razpolozhim vurhu programen RAID masiv.


ALTERNATIVA

V imeto na spravedlivostta triabva da kazhem i niakolko dumi za nabora ot programi raidtools i nachinite za rabota s tiah. Za razlika ot mdadm, toi iziskva nepremeno nalichie na konfiguratsionen fail – /etc/raidtab, kato e neobhodimo toi da bude suzdaden (ruchno, v tekstov redaktor) predi izpulnenieto na kakvito i da sa komandi za suzdavane na RAID.

Mezhdu drugoto, strukturata na /etc/raidtab e mnogo prosta. Triabva samo da pomnim, che vsiaka ot izbroenite po-dolu tochki triabva da bude na otdelen red, stoinostite v koito se otdeliat ili s interval, ili s tabulatsiia – vse pak tova e baza danni (makar i prosta), a ne kucheshka opashka. I taka:

  • otnachalo se posochva imeto na faila na raid ustroistvoto – naprimer
    raiddev /dev/md0;

  • sled tova se pooschva nivoto na masiva ili negoviia rezhim – raid-level 0 za paralelen rezhim ili raid level linear za lineen rezhim;

  • sled tova se posochva kolichestvoto ustroistva v masiva – nr-raid-disks 2;

  • sled tova se posochva razmera na bloka za „razpredeleni danni“ (chunk) v kilobaitove – naprimer chunk-size 32. Ochevidno e, che pri lineen rezhim tazi velichina e bezsmislena, poradi koeto, pri lineen rezhim, tuk mozhe da se slozhi proizvolna stoinost;

  • sled vsichko tova e vuzmozhno (a po-skoro e neobhodimo) da se posochi, che masiva e dluzhen da ima sobstven superblok – persistent-superblock 1.

I nai-nakraia se izbroiavat imenata na vsichki obediniavani ustroistva, s tehnite poredni nomera, zapochvaiki ot nula:

device /dev/hda3 raid-disk 0 device /dev/hdb3 raid-disk 1

Zavurshvaiki redaktiraneto na faila /etc/raidtab (shte riskuvam da povtoria, che tova e obiknoven tekstov fail, suzdavan s tekstov redaktor), aktivirame RAID s komandata mkraid /dev/md0 i preglezhdame faila /proc/mdstat za da se ubedim, che vsichko e stanalo taka, kakto sme go zamislili.

Po-slozhno e, otkolkoto upotrebata na mdadm, no ne tolkova mnogo, ne e li taka? Oshte poveche, che tseliiat protses za suzdavane na RAID s izpolzvane na nabora programi ot raidtools e detailno opisan v suotvetnoto HOWTO, kakto i v reditsa spetsialni statii.


KOMENTARI NA VLADIMIR HOLMANOV
Za vzaimodeistvieto mezhdu programniiat RAID i LVM

Po moi nablyudeniia, vzaimodeistvie e vuzmozhno samo mezhdu soft-RAID 1 i LVM (ostanalite niva sa nedostupni, no tova ne e nishto poveche ot „praktichesko nablyudenie“). Imenno za tova e neobhodima optsiiata -B na komandata mdadm. V protiven sluchai, v nachaloto se suzdava raid ogledalo v star stil, toest bez deskriptor (a ne sus superblok, kakto e v statiiata) – deskriptora e neobhodim za LVM. Superbloka prisustva nezavisimo ot stila i se suhraniava niakude v poslednite 4 kb na diskoviia dial, a miastoto na deskriptora e sred purvite 512 baita. Kato osnova se vzimat purvite dva diala, koito ne triabva da sa ot tip 83 (kato za „klasicheskiiat star stil“), a ot tip 8e. Razbira se, che konfiguratsionniiat fail v direktoriiata /etc stava zadulzhitelen (mezhdu drugoto, predpochitam da izpolzvam raidtools, no tova ne triabva da okazva vliianie).

Za nadezhdnostta na RAID

Na men edin ot diskovete ot raid ogledaloto se razhlopa, koeto ne go zabeliazah vednaga i v rezultat na tova, niakoi ot loshite sektori se prehvurliha vurhu izpravniia disk. No RAID mozhe da se izpolzva s nadezhden „backup“. Ako niakude v opashkata na diskovete se suzdade otdelen RAID, „demontiran i deaktiviran“ v protsesa na rabota i montiran samo za „backup“ tseli – tova e dostatuchno nadezhdno14.

Mdadm vs raidtools

Paketa mdadm sudurzha edna goliama universalna dvoichna programa, koeto e udobno za interaktivna rabota s RAID. Paketa raidtools sudurzha niakolko spetsializirani, negolemi dvoichni programi. A razmera na faila e vazhen parametur pri izpolzvaneto za nachalno zarezhdane na initrd15.

Po traditsiia, v skriptovete za initsializatsiia se izpolzvat komandi ot raidtools. Dazhe ako masiva se suzdava s pomoshtta na mdadm, sled restartiraneto ne triabva da ima problemi – za dialove ot tip fd. No ako masiva e suzdaden na dial ot drug tip, e vuzmozhna situatsiia, kogato diasnata ruka niama da znae kakvo pravi liavata. Prichinata za tova e, che avtomatichnoto opredeliane ne raboti, a konfiguratsionnite failove na raidtools i mdadm da razlichni. Izbora ostava na potrebitelite.


Prevod: Nikolai Angelov


1Podrobno i razbrano opisanie na diskovete i RAID masivite, kakto i na algoritmite, po koito se izvurshva suhraniavaneto i cheteneto na informatsiiata ot tiah e dadeno v knigata ...

2Kum momenta na napisvaneto na statiiata. Opisanite problemi mozhe da se otnasiat za 2.4.h iadrata. S izlizaneto na 2.6.h iadrata, neshtata mozhe da sa se promenili. Za poveche informatsiia triabva da se izpolzva obichainiiat metod.

3Spomenavan veche niakolko puti v statiite.

4Gospoda administratori, molia vi, ne me ritaite – ne govorim za survuri – (A.F.)

5A vseki edin potrebitel bi mu nameril po-interesno prilozhenie – (A.F.)

6Taka de, na razlichni IDE kontroleri – purvi, vtori, kolkoto se namirat na dunnata platka.

7Naprimer obshtata golemina na masiv, suzdaden ot dva diala s golemina 10 i 15 GB, niama da bude 25 GB, a shte e (samo) 20 GB.

8Operatsionnata sistema

9Ako niakoi znae da ima bulgarski prevod na tozi dokument – neka me informira, za da go otrazia v prevoda.

10Posledniiat put, kogato se opitah da stigna do nego, saita veche ne beshe aktiven

11A az ne sum tursil na bulgarski ezik.

12Po moi nablyudeniia cfdisk ne e sposoben na tova (A.F.).

13Za nerazbralite – pak ni suvetvat da poglednem v man stranitsite za poveche informatsiia ili s drugi dumi – RTFM.

14CHestno kazano, tuk misulta na avtora malko mi se razmiva, no iziasniavaneto na situatsiiata shte ostavia za komentatorite na statiiata.

15V sluchai, ako poddruzhkata na Soft RAID se vklyuchva kato modul [kum iadroto – N.A.] – (A.F.).



<< Vuzmozhnosti za sertifikatnata izmama v X.509 | Izpolzvane na Bluetooth pod Linux za dostup do Nokia 6230 >>