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.

Raid-laitteiden hallinta Mdadm:llä Linuxissa – Osa 9

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

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:

RAID:n hallinta mdadm-työkalulla

Kuten yllä olevasta kuvasta näemme, RAID-määrityksen hallintaan kuuluu seuraavien tehtävien suorittaminen jossakin vaiheessa:

  1. (Uudelleen)laitteen lisääminen ryhmään.
  2. Laitteen merkitseminen vialliseksi.
  3. Virheellisen laitteen poistaminen joukosta.
  4. Virheellisen laitteen korvaaminen varalaitteella.
  5. Osittain rakennetun joukon käynnistäminen.
  6. Joukon pysäyttäminen.
  7. 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
Add Device to Raid Array
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:

Raid-tietojen palauttaminen ja uudelleenrakentaminen

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:

Raidin uudelleenrakentamisen tila
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
Replace Raid Device

Tällöin --with-kytkennän jälkeinen laite lisätään RAIDiin, kun taas --replace-kytkennän kautta ilmoitettu levy merkitään vialliseksi:

Check Raid Rebuild Status
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
Set Permissions on Raid Array

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
Allow Read Write Permission on Raid

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.

Vastaa

Sähköpostiosoitettasi ei julkaista.