Tarkvaralise RAID massiivi kasutamine Linuxiga

Allikas: Kuutõrvaja
Redaktsioon seisuga 29. jaanuar 2008, kell 22:19 kasutajalt Imre (arutelu | kaastöö)

Sissejuhatus

Üldiselt tähistatakse järgnevusega RAID (Redundant Arrays of Inexpensive Disks) mitmetest iseseisvatest füüsilistest blokk-seadmetest (kõvaketastest) moodustatud terviklikku loogilist blokk-seadet. RAID'il on üksiku füüsilise seadme kasutamise ees järgmised eelised

  • saab moodusta ühe suurema loogilise seadme kui kasutada olevad üksikud füüsilised kõvakettad
  • sõltuvalt RAID skeemi valikust saab korraldada kas suuremat kiirust ja või paremat redundantsust

Kui loogilise seadme moodustamiseks kasutatakse nt arvuti PCI-E siinile ühendatud spetsiaalselt riistvaralist RAID kontrollerit, mille külge omakorda on ühendatud kõvakettad, siis on tegu riistvaralise RAID lahendusega. Ostub aga, et kuigi kõvakettad ühendada nt otse SATA kontrolleri külge, saab siiski korraldada nende RAID lülituse, sel juhul tegeleb RAIDi pidamiseks vajalike tegevustega operatsioonisüsteemi tuum. Sellisel moel korraldatud RAID lülitust nimetatakse tarkvaraliseks RAID'iks ning tal on riistvaralise ees järgmised eelised

  • RAID skeemi kuuluvaid kettaid saab hõlpsasti liigutada arvutite vahel
  • RAID skeemi tööks kasutada olevat arvutusjõudlust saab muuta arvuti protsessori ja mälu skaleerimise teel

Kuigi tihtipeale kõneldakse ja kasutatakse RAID ja LVM (Logical Volume Management) teemat koos ja teatud lahendusi saab moodustada praktiliselt mõlemiga on sisuliselt tegu kahe erineva küsimusega:

  • RAID tegeleb peaasjalikult füüsilistest blokk-seadmetest loogiliste blokk-seadmete moodustamisega ja selle tulemusena moodustunud süsteemi haldamisega, nt asendab automaatselt riknenud kõvaketta hot-spare'ga.
  • LVM tegeleb peaasjalikult blokk-seadmele nn voluumide (millele tavaliselt moodustatakse kas failisüsteem või swap) moodustamise ja haldamisega, nt võimaldab voluumi suurust muuta ning teha snapshot'te.

Seega loogilises mõttes asub RAID LVM'ist kihit allpool, materjali esituse selguse mõttes esitatakse nad Kuutõrvajas erinevates punktides. Käesolev pala kõneleb tarkvaralise RAIDi kasutmisest Linuxiga, aga ka nt operatsioonisüsteem Solarisega on tarkvaralise RAIDi kasutamine äärmiselt populaarne.


Linuxi tuuma seadistamine

Linuxi 2.6 tuuma puhul on oluline lisaks füüsiliste ketaste draiveritele valida

Device Drivers -> Multi-device support (RAID and LVM) -> valida kõik


RAID'i seadistamine

Tarkvaralise RAID lahenduse seadistamiseks sobib kasutada tarkvara mdadm http://cgi.cse.unsw.edu.au/~neilb/SoftRaid. Põhiliselt on tegu ühe programmiga mdadm ning ühe seadistusfailiga /etc/mdadm/mdadm.conf, distributsioonides sisaldub see reeglina pakendatud kujul.

Näite varal on kirjeldatud kuidas moodustada kahest füüsilisest kõvakettast /dev/sda ja /dev/sdb üks RAID0 blokkseade.

aix:~# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb

ning vaadates tulemust

aix:~# mdadm --query /dev/md0
/dev/md0: 232.89GiB raid1 2 devices, 0 spares. Use mdadm --detail for more detail.

ja ka detailsemalt

aix:~# mdadm --detail /dev/md0
/dev/md0:
       Version : 00.90.03
 Creation Time : Mon Dec 25 19:33:34 2006
    Raid Level : raid1
    Array Size : 244198464 (232.89 GiB 250.06 GB)
   Device Size : 244198464 (232.89 GiB 250.06 GB)
  Raid Devices : 2
 Total Devices : 2
Preferred Minor : 0
   Persistence : Superblock is persistent

   Update Time : Mon Dec 25 19:33:34 2006
         State : clean, resyncing 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

Rebuild Status : 0% complete

          UUID : 0f549edf:66839bd6:e2188e78:0f4ec762
        Events : 0.1aix~# mdadm --assemble 

   Number   Major   Minor   RaidDevice State
      0       8        0        0      active sync   /dev/sda
      1       8       16        1      active sync   /dev/sdb

Seadistusfaili /etc/mdadm/mdadm.conf sisu võiks olla selline

ARRAY /dev/md0 devices=/dev/sda,/dev/sdb level=raid1 num-devices=2

Moodustatud RAID skeemi kasutuselevõtmiseks tuleb üldiselt skeem aktiviseerida, kuid skeemi moodustamisel tehakse see automaatselt

aix~# mdadm --assemble /dev/md0
mdadm: /dev/md0 has been started with 2 drives.

ning edasi võib moodustatud blokkseadet /dev/md0 käsitleda nagu tavalist kõvaketast, näiteks fdisk või parted abil moodustada partitsioonid ning seejärel failisüsteemid. Samuti võib RAID seadet kasutada LVM juures füüsilise seadmena

aix:~# parted /dev/md0 p

Disk /dev/md0: 250GB 
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start  End  Size  Type  File system  Flags

Information: Don't forget to update /etc/fstab, if necessary.

RAID skeemi deaktiviseerimiseks tuleb öelda

aix:~# mdadm --stop -scan
mdadm: stopped /dev/md0


Arvuti käivitamine ja seiskamine

Arvuti käivitamisel tuleb seadistusfailis kirjeldatud kõigi RAID skeemide aktiviseerimiseks öelda

aix~# mdadm --assemble --scan

Arvuti seiskamisel

aix~# mdadm --stop --scan

Need käsud tuleks ära näidata startup ja stop skriptide juures.


RAID skeemi eemaldamine

RAID skeemi eemdaldamiseks tuleb eemaldada mdadm.conf failist ning kävitusskriptidest vastavad read ning seejärel kõvakettad võtta muul moel kasutusele.


Monitooring

mdadm programmi abil saab jälgida RAID skeemi tööd ning vajadusel korraldada näiteks e-posti aadressile või syslogi teadete saatmist. Lisaks on taastestsenaariumide läbimängimiseks võimalik loogiliselt märkida RAIDi komponente katkisteks.