Softi RAID Ubuntu baasil.
Autor
Taavo Siimer (AK41)
TÖÖ ON POOLELI !!!!
Versioon
Versioon 0.1 - Softi RAIDi - RAID1 taseme installeerimise / konfigureerimise näide (19.11.2011a.)
Versioon 0.2 - Softi RAIDi haldamine. RAIDi taseme katkitegemise ja taastamise näide (21.11.2011a.)
Sissejuhatus
Loodan, et selle artikli lugeja on juba eelnevalt installeerinud Ubuntu serverit ja selles osas ei ole vajadust kogu installatsiooni protsessi kirjeldada vaid piirdume olulisema – Softi RAIDi kettasüsteemi konfigureerimisega.
Juhul, kui tekib küsimusi Ubuntu serveri installeerimise osas, siis loodetavasti leiab vastused näiteks sellest juhendist:
https://help.ubuntu.com/11.10/installation-guide/i386/index.html
Antud RAID süsteemi juhend on tehtud võimalikult illustratiivne ja "puust ette ja punaseks", et ei tekiks ülearuseid küsimusi ning arusaamatusi.
Softi RAIDi installeerimise juhend (RAID1, mirror näitega)
Teen läbi graafilise kasutajaliidesega installeerimis ja konfigureerimis läbides partitsioneerimise RAID protseduurid Ubuntu installatsiooni osas.
2. Installeerime Ubuntu serveri, valisin selleks viimase Ubuntu 11.10 x86 (32bit) versiooni (kui arvutil on mälu üle 4GB ja riistvara toetab 64bit OS’i, siis vali 64bit versioon).
Installeerimisel tuleb algul tuttav Ubuntu menüü allpool.
Vali "Install Ubuntu Server" ning tee läbi valikud - keel -> regioon -> klaviatuur -> võrgukaart(did) -> ajavöönd.
2.1. Kuni jõuad menüüni - "Partitioning method“. Vali selle alt "Manual"
2.2. Järgmisena kuvatakse kõvakettad, mis on süsteemis kasutusel.
Allpool menüüs on näha, et on kaks 1TB ketast mida Linux kuvab kui SCSIx ja ATA (kuigi sda ja sdb ütleb, et tegu on SATA ketastega).
Vali ühe SCSIx ketta allpool olevast menüü valikust "pri/log xxGB/TB FREE SPACE" ja pressi enterit.
2.3 Nüüd vali järgmisest menüüst "Automatically partiton the free space":
2.4 Tulemus peaks olema selline nagu allpool toodud pildil.
Tekkisid Primary ja ja Swap partitsioonid.
2.5 Mine "#1 primary xxxGB" kettajao peale ning järgneva´tuleb allpool menüü „Partition settings“.
Siit vali "Bootable flag: on" ja vali alt "Done setting up the partition"
2.6 Tulemus on järgmine, nagu näha ilmus "#1 primary xxxGB" lõppu B, mis tähendab boot partitioni:
2.7 Tee täpselt sama läbi ka allpool toodud teise SCSIx tähistusega kettaga, antud pildil on see SCSI4.
Tee läbi ennem näidatud protseduurid - "Automatically partiton the free space" + "Bootable flag: on" -> "Done setting up the partition".
Tulemus peaks olema selline:
2.8 Nagu eelmist pilti vaadat on näha, et on kadunud esimesel kettal root mounting!
Linux kaotab selle automatselt ära, kuna ei saa olla, et kaks kõvaketast korraga boodivad. Kuid RAID süsteemis juures võib see olla kasulik, et mõlemad kettad on all root mountinguga, kuna kui üks RAIDis olevatest ketastest läheb rikki, siis sisuliselt RAID süsteem lakkab olemas ning booditakse tervelt kettalt süsteem ülesse. Kui aga tervel kettal pole ennem defineeritud bootingut root mounti, siis see ketas ei suuda bootida ka!
Ehk läheme veel esimese kette peale, antud juhul on see meil SCSI3 ja valime allpool toodud valikust "pri/log xxGB/TB FREE SPACE"
Järgnevaga pressi „Use as: do not use“ valikut.
2.9 Valime Ext4 faili süsteemi:
2.10 Ning lõpetame selle ketta partitsioneerimise „Done setting up the partition“
2.11 Järgnevaga on vaja valida "Configure software RAID" ja valida sobiv RAID tase mida teha:
2.12 Nüüd tuleb hoiatus menüü, et kas sa soovid ikka teha muudatusi jne, vali alt "Yes":
2.13 Peale seda tuleb menüü kus vali "Create MD Device":
2.14 Vali sobiv RAID tase, kuna antud juhul oli meil kasutusel 2 kõvaketast, siis nendega on võimalik valida kas RAID1 (mirror) või RAID0 (stripe) RAIDi tasemete vahel!
Meeldetuletuseks - RAID5 nõuaks väheamalt 3 kõvaketast ja RAID10 taseme juures oleks vaja minimaalselt 4 ketast (kaks mirrorit stripetuna).
Valime RAID1 (mirrori):
2.15 Järgnevaga küsitakse, et mitu ketast me soovime RAIDi panna (kuna on mirror, siis kahest piisab) ja valime etteantud 2:
2.16 Edasi küsitakse kas soovime nn varuketast ehk "spare" kasutada.
See oleks väga mõistlik valik, kui on tegu kriitilise tähtsusega serveriga, kuna sellega võimalusega on lihtne võtta kasutusele uus "spare" varuketas kui üks RAID süsteemi osa, mis on ootel, et kui juhul üks peamistest RAID süsteemi ketastest rikneb, siis saab „spare“ võtta kiirelt kasutusse ei pea selleks arvutit välja lülitama ega uut ketast poodi ostma minema...
Meil seda ketast kahjuks ei ole ja selle oleksime pidanud ka ennem partitsioneerima, kui see meil oleks olnud!
Ehk see väärtus jääb 0!
2.17 Edasi küsitakse missugused on "active devices" üldjuhul, kui on kahe kettaga tegu antakse valida sda1 ja sdb1 vahel. Tähistame sda1 ja sdb1 tärniga ja läheme edasi „continue“.
2.18 Nüüd tuleb hoiatus menüü, kas taha ikka partitsiooni tabelit muuta - jah tahame, valime "yes":
2.19 Ja lõpetame RAIDi konfimise "Finish":
2.20 Näeme järgnevaga, et on moodustatud RAID1 tase kahe kettad #0 ja #1.
Samuti on näha, et SCSI3 (sda) ja SCSI4 (sdb) füüsiliste ketaste juures on primary kettajao taga märge „raid“.
2.21 Vaja on RAID muuta booditavaks, siseneme RAID device #1 jao alt sisse ning siseneme „use as: do not use“ menüüsse:
2.22 Liidame RAID taseme ext4 failisüsteemiga.
2.23 Ja mount point peab olema root / ehk valime selle ja lõpetame siin konfimise "Done setting up the partition"
2.24 Lõpptulemus on allpool näha.
Lõpetame partitsioneerimise ja pressime "Finish partitioning and write changes to disk"
2.25 Järgmisena küsitakse kas soovid bootida süsteemi, kui RAID läheb "degraded" olekusse. Vali "Yes".
See tähendab seda, et kui üks füüsiline ketas läheb rikki, siis Ubuntu softi RAID süsteem läheb "initramfs" olekusse ja 30 sekundi pärast antakse valik kas bootida süsteem ülesse või käsitsi taastada (manual recovery):
2.26 Küsitaksse, et kas soovid minna tagasi partitsioneerima? Vali „No“.
Järgmisena küsitakse (allpool) kas muutused kirjutatakse kettale, vali "Yes":
Sellega on partitsioneerimise ja Softi RAIDi osa läbitud Ubuntu Server installatsiooni osas.
Softi RAID - RAID5 taseme konfigureerimine
3. Tee läbi Ubuntu installatsioon ja konfigureerimine eelmise peatüki näidete varal punktide 2 - 2.2 osas.
Kolme kõvaketta puhul on pilt analoogne nagu allpool toodud:
3.1 Tee läbi ketaste konfigureerimine p 2.2 - 2.11 näidetel, kuid seda kolme ketta osas.
Tulemus peaks olema analoogne allpool tooduga:
3.2
Softi RAIDi monitooring ja haldamine
4.1 Jälgime äsja RAID1 tasemesse liidetud ketaste staatust allpool toodud käsuga:
cat /proc/mdstat
Allpool pildil on näha selle käsu väljund.
Näeme, et veel käib RAID süsteemi liidetud ketaste sünkroniseerimine (allpool pildilt võib välja lugeda, et sünkroniseeritud on 37,9% kogu kettamahust, kiirusel ca 126Mbit/s ja töö lõpetamiseni on jäänud 79 min).
Analüüsime saadud infot:
" md0 : active raid1 sdb1[1] sda1[0] ", siit saame teada, et on moodustatud "meta device" nimega "md0".
Ning kasutusel on füüsiline ketas sdb1 /dev/sdb partitsiooniga 1 ja ketas sda1 /dev/sda partitsiooniga 0 .
4.2 Järgneva käsuga saab täpsema info md0 RAID massiivi kohta:
sudo mdadm --query --detail /dev/md0
Analüüsime saadud infot:
Näha on millal RAIDi tase on tehtud, mis RAIDi tase on kasutusel (antud juhul RAID1 tase), mitu ketast on RAIDi massiivis, mis seisus on RAID (antud juhul sünkroniseeritakse massiive), ning kas RAID kettad on elus või, mis on nende staatus.
Softi RAIDi katki tegemine ja taastamine
5. Lasedme punktis 2 tehtud RAIDi taseme õhku - tõmbame ühel kettal toite tagant ja püüame uuelt kettalt RAID süsteemi taastada.
5.1 Algne Softi RAIDi olek (RAID1 tasemes, mirror) käsuga "sudo mdadm --query --detail /dev/md0":
Nagu näha kõik on ok, RAID tase on sünkroniseeritud, probleeme ei ole!
5.2 Tegime RAIDi katki, tõmbasin ühelt kettalt toite tagant.
Kuna algselt oli Softi RAID konfigureeritud "degraded" oleku toega, siis ca 30 sekundi jooksul mängiti RAID tase ümber ja allpool on näha tulemus:
5.3 Teen reboodi katsetamaks, kas süsteem boodib ka ühelt kettalt mis nüüd enam RAIDi tasemes ei ole, allpool on näha, et kõik töötab ilusti ühe kettaga.
Ehk tänu sellel, et ketastele sai tehtud root mount boooditavateks, saab ühe kettaga teha edasi tööd seniks, kui on kuskilt leitud asendusketas!
5.4 Teen shutdowni ja ühendan ketta tagasi. Üles bootides on sama info mis eelmisel pildil, ehk on raid1 tasemes ainult sda1 füüsiline ketas.
Lisan RAID tasemesse md0 füüsilise ketta sdb1, käsuga:
sudo mdadm --add /dev/md0 /dev/sdb1
5.5 Nagu allpool on näha võete pärast käsku "sudo mdadm --add /dev/md0 /dev/sdb1" uus füüsiline ketas sbd1 kasutusele kui varuketas "spare" ja sünkroniseeritakse see RAID1 tasemsse - seda on näha allpool "spare rebuilding /dev/sdb1" all!
5.6 Vaadates RAID taseme seisu käsuga:
cat /proc/mdstat
Näeme täpsemalt kaua läheb RAID taseme taastamiseks ja mis toimub (antud juhul on taastatud 6,2%, taastamise lõpuni on jäänud ca 120min).
5.7 RAID1 tase on taastatud, vaatame eelpool tutvustatud käskudega, mis seis on:
Näeme, et kasutusel on uus füüsiline ketas /dev/sdb1 partitsiooniga 2.
Kui vaatame tagasi punkti 4.1, kus vaatlesime äsja moodustatud RAID1 taset, siis on näha, et praegu lisatud uuele sdb1 kettale on tekitatud ka uus partitsioon numbriga 2 (ennem 1).
Käsklusega "sudo mdadm --query --detail /dev/md0" näeme, et uus sdb1 ketas on võetud RAID1 tasemesse juurde, on aktiivne ja sünkroniseerimis protseduur on lõpetatud.
RAID massivi kiiruse test
Järgneva käsuga on võimalik testida RAID massiivi kiirust:
sudo hdparm -tT /dev/md0
Käsk lahtiseletatuna:
-t :perform device read timings
-T : perform cache read timings
/dev/md0 : meta device
Tulemus võiks olla järgnev (tänapäevaste SATA-2 ketastega on lugemiskiirus ca 100Mbit/s ja üle selle, kui numbrid on alla selle, siis on miskit mäda...)
Nagu on näha on kahe 1TB ketta lugemise kiirus ca 122Mbit/s.
Antud testi võiks korrata mitu korda, et saada adekvaatsem tulemus, selleks võib ka kasutada allpool toodud tsüklit (tsükkel käiakse läbi 5x):
for i in 1 2 3 4 5; do hdparm -tT /dev/md0; done
Lisaks on võimalik kasutada dd käsku RAID massiivi kuuruse hindamiseks:
dd if=/dev/zero of=/tmp/output.img bs=8k count=256k
Väljund on alljärgnev:
Peale testi tegemist võiks kustutada /tmp/output.img ajutiselt tekitatud faili:
rm /tmp/output.img
Lingid
- Ubuntu saidist põhjalik Soft RAID õpetus [1]
- Ubuntu saidist veel üks hea Soft RAID õpetus [2]
- Ubuntu wiki RAID artikkel [3]
- Debian Soft RAID installeerimise juhend [4]