Tarkvaralise RAID massiivi kasutamine Linuxiga
Tarkvaraline RAID
RAID (Redundant Arrays of Inexpensive Disks) tähistab mitmetest iseseisvatest füüsilistest blokkseadmetest (kõvaketastest) tervikliku loogilise blokkseadme moodustamist. Kui loogilise seadme moodustamiseks kasutatakse spetsiaalselt RAID kontrollerit, siis on tegu riistvaralise RAID lahendusega. Mitmetest iseseisvatest füüsilistest kõvaketastest saab loogilise blokkseadme moodustada ka ilma riistvaralise kontrollerita, sel juhul nimetatakse lahendust tarkvaraliseks RAID'iks.
Kuigi tihtipeale kõneldakse ja kasutatakse RAID ja LVM (Logical Volume Management) teemat koos on sisuliselt tegu kahe erineva küsimusega. Materjali esituse selguse mõttes esitatakse nad Kuutõrvajas erinevates punktides.
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üüsiliselt 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 sisu saab genereerida sama mdadm programmiga
aix~# mdadm --detail --scan >> /etc/mdadm/mdadm.conf
mille tulemusena lisatakse mdadm.conf faili rida
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=0f549edf:66839bd6:e2188e78:0f4ec762
Moodustatus RAID skeemi kasutuselevõtmiseks tuleb skeem aktiviseerida andes käsu
aix~# mdadm --assemble /dev/md0 mdadm: /dev/md0 has been started with 2 drives.
Huvitav on näha, et kerneli ring puhvrisse väljastati teaded
md: md0: raid array is not clean -- starting background reconstruction raid1: raid set md0 active with 2 out of 2 mirrors md: syncing RAID array md0 md: minimum _guaranteed_ reconstruction speed: 1000 KB/sec/disc. md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for reconstruction. md: using 128k window, over a total of 244198464 blocks. md: resuming recovery of md0 from checkpoint.
Ning edasi võib moodustatud blockseadet /dev/md0 käsitleda nagu tavalist kõvaketast, näiteks fdisk või parted abil moodustada partitsioonid ning failisüstemid
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 kõvakettad võtta muul moel kasutusele ning eemaldada ka mdadm.conf failist ning kävitusskriptidest vastavad read.
Monitooring
mdadm programmi abil saab jälgida RAID skeemi tööd ning vajadusel korraldada näiteks eposti aadressile või syslogi teadete saatmist.