Ohjelmisto-RAID:ien hallinta Linuxissa Mdadm-työkalulla - Osa 9


Huolimatta aikaisemmasta kokemuksestasi RAID-ryhmistä ja seurasitko kaikkia tämän RAID-sarjan opetusohjelmia vai et, ohjelmisto-RAID:ien hallinta Linuxissa ei ole kovin monimutkainen tehtävä, kun olet tutustunut toimintoon mdadm --manage komento.

Tässä opetusohjelmassa käymme läpi tämän työkalun toimintoja, jotta voit käyttää sitä tarvittaessa.

RAID-testausskenaario

Kuten tämän sarjan viimeisessä artikkelissa, käytämme yksinkertaisuuden vuoksi RAID 1 (peili) -taulukkoa, joka koostuu kahdesta 8 Gt -levystä (/dev/sdb ja /dev/sdc) ja alkuperäisen varalaitteen (/dev/sdd) havainnollistamiseksi, mutta tässä luetellut komennot ja käsitteet koskevat muun tyyppisiä myös asetukset. Voit kuitenkin jatkaa ja lisätä tämän sivun selaimesi kirjanmerkkeihin, niin aloitetaan.

Mdadm-asetusten ja -käytön ymmärtäminen

Onneksi mdadm sisältää sisäänrakennetun --help-lipun, joka tarjoaa selitykset ja ohjeet jokaiselle päävaihtoehdolle.

Joten aloitetaan kirjoittamalla:


mdadm --manage --help

nähdäksesi mitä tehtäviä mdadm --manage antaa meille mahdollisuuden suorittaa ja miten:

Kuten yllä olevasta kuvasta näemme, RAID-ryhmän hallintaan sisältyy seuraavien tehtävien suorittaminen kerralla tai toisella:

  1. (Uudelleen)Laitteen lisääminen taulukkoon.
  2. Merkitse laite vialliseksi.
  3. Viallisen laitteen poistaminen ryhmästä.
  4. Viallisen laitteen vaihtaminen varalaitteeseen.
  5. Aloita taulukko, joka on osittain rakennettu.
  6. Pysäytä joukko.
  7. Merkitse taulukko muotoon ro (vain luku) tai rw (luku-kirjoitus).

RAID-laitteiden hallinta mdadm-työkalulla

Huomaa, että jos jätät valinnan --manage pois, mdadm ottaa hallintatilan joka tapauksessa. Pidä tämä seikka mielessä, jotta et joudu vaikeuksiin kauempana tiellä.

Edellisen kuvan korostettu teksti näyttää perussyntaksin RAID-hallintaan:


mdadm --manage RAID options devices

Havainnollistetaan muutamalla esimerkillä.

Esimerkki 1: Lisää laite RAID-ryhmään

Yleensä lisäät uuden laitteen, kun vaihdat viallisen laitteen tai kun sinulla on varaosa, jonka haluat pitää mukanasi vian sattuessa:


mdadm --manage /dev/md0 --add /dev/sdd1

Esimerkki 2: RAID-laitteen merkitseminen vialliseksi ja sen poistaminen ryhmästä

Tämä on pakollinen vaihe ennen laitteen loogista poistamista ryhmästä ja sen myöhemmin fyysistä poistamista koneesta – tässä järjestyksessä (jos unohdat jonkin näistä vaiheista, saatat aiheuttaa todellista vahinkoa laitteelle):


mdadm --manage /dev/md0 --fail /dev/sdb1

Huomaa, kuinka edellisessä esimerkissä lisättyä varalaitetta käytetään viallisen levyn automaattiseen korvaamiseen. Ei vain, vaan myös raiddatan palautus ja uudelleenrakentaminen alkaa välittömästi:

Kun laite on ilmoitettu vialliseksi manuaalisesti, se voidaan turvallisesti poistaa ryhmästä:


mdadm --manage /dev/md0 --remove /dev/sdb1
Esimerkki 3: Aiemmin poistettuun ryhmään kuuluneen laitteen lisääminen uudelleen

Tähän asti meillä on toimiva RAID 1 -ryhmä, joka koostuu kahdesta aktiivisesta laitteesta: /dev/sdc1 ja /dev/sdd1. Jos yritämme lisätä /dev/sdb1 uudelleen kohtaan /dev/md0 juuri nyt:


mdadm --manage /dev/md0 --re-add /dev/sdb1

kohtaamme virheen:


mdadm: --re-add for /dev/sdb1 to /dev/md0 is not possible

koska matriisi koostuu jo suurimmasta mahdollisesta määrästä asemia. Meillä on siis kaksi vaihtoehtoa: a) lisätä /dev/sdb1 varaosaan, kuten esimerkissä 1 näkyy, tai b) poistaa /dev/sdd1 taulukosta ja lisää sitten uudelleen /dev/sdb1.

Valitsemme vaihtoehdon b) ja aloitamme pysäyttämällä taulukon kootaksesi sen myöhemmin uudelleen:


mdadm --stop /dev/md0
mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1

Jos yllä oleva komento ei onnistu lisäämään /dev/sdb1-osoitetta takaisin taulukkoon, käytä komentoa Esimerkki #1.

Vaikka mdadm havaitsee aluksi uuden lisälaitteen varalaitteena, se alkaa rakentaa tietoja uudelleen ja kun se on tehty, sen pitäisi tunnistaa laite aktiiviseksi osaksi RAID:ia:

Esimerkki 4: Korvaa Raid-laite tietyllä levyllä

Ryhmässä olevan levyn vaihtaminen varalevyyn on yhtä helppoa kuin:


mdadm --manage /dev/md0 --replace /dev/sdb1 --with /dev/sdd1

Tämä johtaa siihen, että --with-kytkintä seuraava laite lisätään RAIDiin, kun taas --replace-painikkeella merkitty levy merkitään vialliseksi:

Esimerkki 5: Raid-taulukon merkitseminen ro- tai rw-muodossa

Kun olet luonut taulukon, sinun on luotu sen päälle tiedostojärjestelmä ja liitetty se hakemistoon, jotta voit käyttää sitä. Et luultavasti tiennyt silloin, että voit merkitä RAIDin roksi, jolloin sille voidaan suorittaa vain lukutoimintoja, tai rw kirjoittamista varten. myös laitteeseen.

Jotta laite voidaan merkitä roksi, se on ensin irrotettava:


umount /mnt/raid1
mdadm --manage /dev/md0 --readonly
mount /mnt/raid1
touch /mnt/raid1/test1

Jos haluat määrittää taulukon sallimaan myös kirjoitustoiminnot, käytä --readwrite-vaihtoehtoa. Huomaa, että sinun on irrotettava laite ja pysäytettävä se ennen kuin asetat rw-lipun:


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ämän sarjan aikana olemme selittäneet, kuinka luodaan erilaisia ohjelmisto-RAID-ryhmiä, joita käytetään yritysympäristöissä. Jos noudatit näissä artikkeleissa olevia artikkeleita ja esimerkkejä, olet valmis hyödyntämään ohjelmisto-RAID:ien tehoa Linuxissa.

Jos sinulla on kysyttävää tai ehdotuksia, ota meihin yhteyttä alla olevalla lomakkeella.