Riippumatta siitä, onko sinulla aiempaa kokemusta RAID-matriiseista ja oletko seurannut kaikkia tämän RAID-sarjan oppitunteja vai et, ohjelmisto-RAID:ien hallitseminen Linuxissa ei ole kovinkaan monimutkainen tehtävä, kunhan olet ensin oppinut käyttämään komentoa mdadm --manage
.
Tässä opetusohjelmassa käymme läpi tämän työkalun tarjoamat toiminnot, jotta sinulla on se käsilläsi, kun tarvitset sitä.
- RAID-testausskenaario
- Mdadm-optioiden ja käytön ymmärtäminen
- RAID-laitteiden hallinta mdadm-työkalulla
- Esimerkki 1: Laitteen lisääminen RAID-määritykseen
- Esimerkki 2: Laitteen lisääminen RAID-määritykseen: RAID-laitteen merkitseminen vialliseksi ja sen poistaminen joukosta
- Esimerkki 3: Joukkoon kuuluneen, aiemmin poistetun laitteen lisääminen uudelleen
- Esimerkki 4: Raid-laitteen korvaaminen tietyllä levyllä
- Esimerkki 5: Raid-määrityksen merkitseminen ro- tai rw-määritykseksi
- Yhteenveto
RAID-testausskenaario
Kuten tämän sarjan edellisessä artikkelissa, käytämme yksinkertaisuuden vuoksi havainnollistamaan RAID 1 (peili)-matriisia, joka koostuu kahdesta 8 GB:n levystä (/dev/sdb ja /dev/sdc) ja alustavasta varalaitteesta (/dev/sdd), mutta tässä lueteltuja komentoja ja käsitteitä voidaan soveltaa muunkin tyyppisiin asetuksiin. Siitä huolimatta voit rohkeasti lisätä tämän sivun selaimesi kirjanmerkkeihin, ja aloitetaan.
Mdadm-optioiden ja käytön ymmärtäminen
Onneksi mdadm tarjoaa built-in --help
-lipun, joka tarjoaa selitykset ja dokumentaation jokaisesta tärkeimmästä optiosta.
Aloitetaan siis kirjoittamalla:
# mdadm --manage --help
ja katsotaan, mitä tehtäviä mdadm --manage
avulla voimme suorittaa ja miten:
Kuten yllä olevasta kuvasta näemme, RAID-määrityksen hallintaan kuuluu seuraavien tehtävien suorittaminen jossakin vaiheessa:
- (Uudelleen)laitteen lisääminen ryhmään.
- Laitteen merkitseminen vialliseksi.
- Virheellisen laitteen poistaminen joukosta.
- Virheellisen laitteen korvaaminen varalaitteella.
- Osittain rakennetun joukon käynnistäminen.
- Joukon pysäyttäminen.
- Merkitse array ro:ksi (read-only) tai rw:ksi (read-write).
RAID-laitteiden hallinta mdadm-työkalulla
Huomaa, että jos jätät pois --manage
-vaihtoehdon --manage
, mdadm ottaa joka tapauksessa hallintatilan käyttöön. Pidä tämä tosiasia mielessä, jotta vältyt ongelmilta myöhemmin.
Edellisen kuvan korostettu teksti näyttää RAIDien hallinnan perussyntaksin:
# mdadm --manage RAID options devices
Kuvitellaanpa muutamalla esimerkillä.
Esimerkki 1: Laitteen lisääminen RAID-määritykseen
Tyypillisesti lisäät uuden laitteen, kun vaihdat viallisen laitteen tilalle tai kun sinulla on varaosa, jonka haluat pitää käsillä vian varalta:
# mdadm --manage /dev/md0 --add /dev/sdd1
Esimerkki 2: Laitteen lisääminen RAID-määritykseen: RAID-laitteen merkitseminen vialliseksi ja sen poistaminen joukosta
Tämä on pakollinen vaihe ennen laitteen loogista poistamista joukosta ja myöhemmin sen fyysistä irrottamista koneesta – tässä järjestyksessä (jos jätät yhden näistä vaiheista väliin, saatat päätyä aiheuttamaan varsinaista vahinkoa laitteelle):
# mdadm --manage /dev/md0 --fail /dev/sdb1
Huomaa, miten edellisessä esimerkissä lisättyä varalaitetta käytetään automaattisesti korvaamaan vikaantunut levy. Sen lisäksi myös raid-tietojen palauttaminen ja uudelleenrakentaminen alkaa välittömästi:
Kun laite on merkitty manuaalisesti vikaantuneeksi, se voidaan turvallisesti poistaa joukosta:
# mdadm --manage /dev/md0 --remove /dev/sdb1
Esimerkki 3: Joukkoon kuuluneen, aiemmin poistetun laitteen lisääminen uudelleen
Tässä vaiheessa meillä on toimiva RAID 1 -joukko, joka koostuu kahdesta aktiivisesta laitteesta: /dev/sdc1 ja /dev/sdd1. Jos yritämme lisätä /dev/sdb1:n uudelleen /dev/md0:een juuri nyt:
# mdadm --manage /dev/md0 --re-add /dev/sdb1
törmäämme virheeseen:
mdadm: --re-add for /dev/sdb1 to /dev/md0 is not possible
koska array koostuu jo suurimmasta mahdollisesta määrästä asemia. Meillä on siis kaksi vaihtoehtoa: a) lisätä /dev/sdb1 vara-asemaksi, kuten esimerkissä 1 on esitetty, tai b) poistaa /dev/sdd1 joukosta ja lisätä sitten uudelleen /dev/sdb1.
Valitsemme vaihtoehdon b) ja aloitamme pysäyttämällä joukon, jotta voimme myöhemmin koota sen uudelleen:
# mdadm --stop /dev/md0# mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1
Jos yllä oleva komento ei onnistu lisäämään /dev/sdb1:tä takaisin joukkoon, käytä esimerkin #1 komentoa.
Vaikka mdadm tunnistaa juuri lisätyn laitteen aluksi varalaitteeksi, se aloittaa tietojen uudelleenrakentamisen, ja kun se on tehnyt sen, sen pitäisi tunnistaa laite RAIDin aktiiviseksi osaksi:
Esimerkki 4: Raid-laitteen korvaaminen tietyllä levyllä
Raid-aseman korvaaminen varalaitteella on yhtä helppoa kuin:
# mdadm --manage /dev/md0 --replace /dev/sdb1 --with /dev/sdd1
Tällöin --with
-kytkennän jälkeinen laite lisätään RAIDiin, kun taas --replace
-kytkennän kautta ilmoitettu levy merkitään vialliseksi:
Esimerkki 5: Raid-määrityksen merkitseminen ro- tai rw-määritykseksi
Määrityksen luomisen jälkeen sinun on luotava sen päälle tiedostojärjestelmä ja asennettava se hakemistoon, jotta voit käyttää sitä. Et luultavasti tiennyt silloin, että voit merkitä RAID-määrityksen ro:ksi, jolloin siihen voidaan suorittaa vain lukutoimintoja, tai rw:ksi, jotta laitteeseen voidaan kirjoittaa myös.
Merkitäksesi laitteen ro:ksi se on ensin irrotettava:
# umount /mnt/raid1# mdadm --manage /dev/md0 --readonly# mount /mnt/raid1# touch /mnt/raid1/test1
Käyttämällä --readwrite
-vaihtoehtoa --readwrite
voit määrittää, sallitaanko laitteeseen kirjoitusoperaatioita myös. Huomaa, että laite on irrotettava ja pysäytettävä ennen rw-lipun asettamista:
# umount /mnt/raid1# mdadm --manage /dev/md0 --stop# mdadm --assemble /dev/md0 /dev/sdc1 /dev/sdd1# mdadm --manage /dev/md0 --readwrite# touch /mnt/raid1/test2
Yhteenveto
Tässä sarjassa olemme selittäneet, miten erilaisia yritysympäristöissä käytettäviä ohjelmisto-RAID-matriiseja asetetaan. Jos olet seurannut artikkeleita ja niissä annettuja esimerkkejä, olet valmis hyödyntämään ohjelmisto-RAIDien tehoa Linuxissa.
Mikäli sinulla sattuu olemaan kysyttävää tai ehdotuksia, ota rohkeasti yhteyttä alla olevalla lomakkeella.