Esittely

mdadm-apuohjelmaa voidaan käyttää tallennusjoukkojen luomiseen ja hallintaan Linux-ohjelmiston RAID-ominaisuuksien avulla. Järjestelmänvalvojilla on suuri joustavuus yksittäisten tallennuslaitteiden koordinoinnissa ja sellaisten loogisten tallennuslaitteiden luomisessa, joilla on suuremmat suorituskyky- tai redundanssiominaisuudet.

Tässä oppaassa käymme läpi useita erilaisia RAID-konfiguraatioita, jotka voidaan määrittää Ubuntu 16.04-palvelimella.

Edellytykset

Voidaksesi suorittaa tämän oppaan vaiheet, sinulla tulee olla:

  • Muu kuin root-käyttäjä, jolla on sudo-oikeudet Ubuntu 16.04-palvelimella: Tämän oppaan vaiheet suoritetaan sudo-käyttäjällä. Jos haluat oppia, miten näillä oikeuksilla varustettu tili perustetaan, seuraa Ubuntu 16.04 -palvelimen alkuasennusoppaita.
  • RAID-terminologian ja -käsitteiden peruskäsitteistön ymmärtäminen: Tässä oppaassa käsitellään ohimennen RAID-terminologiaa, mutta kattavampi ymmärrys on erittäin hyödyllinen. Jos haluat lisätietoja RAIDista ja saada paremman käsityksen siitä, mikä RAID-taso sopii sinulle, lue RAID-artikkelimme Johdatus RAIDiin.
  • Palvelimessasi on käytettävissä useita raakamuistilaitteita: Esittelemme, miten palvelimelle voidaan määrittää erityyppisiä matriiseja. Näin ollen tarvitset joitakin asemia konfiguroitavaksi. Jos käytät DigitalOceania, voit käyttää Block Storage -volyymiä täyttämään tämän roolin. Riippuen array-tyypistä tarvitset vähintään kahdesta neljään tallennuslaitetta.

Olemassa olevien RAID-laitteiden palauttaminen

Tässä oppaassa esittelemme vaiheet, joilla luodaan useita eri RAID-tasoja. Jos haluat seurata mukana, haluat todennäköisesti käyttää tallennuslaitteesi uudelleen jokaisen osion jälkeen. Tähän osioon voi viitata, kun haluat oppia, miten voit nopeasti nollata komponenttitallennuslaitteesi ennen uuden RAID-tason testaamista. Ohita tämä osio toistaiseksi, jos et ole vielä määrittänyt yhtään arraya.

Varoitus

Tämä prosessi tuhoaa kokonaan arrayn ja kaikki siihen kirjoitetut tiedot. Varmista, että käytät oikeaa arraya ja että olet kopioinut kaikki säilytettävät tiedot ennen arrayn tuhoamista.

Löydä aktiiviset arrayt /proc/mdstat-tiedostosta kirjoittamalla:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid0 sdc sdd 209584128 blocks super 1.2 512k chunks unused devices: <none>

Poista array tiedostojärjestelmästä:

  • sudo umount /dev/md0

Pysäytä ja poista sitten array kirjoittamalla:

  • sudo mdadm --stop /dev/md0
  • sudo mdadm --remove /dev/md0

Etsikää laitteet, joita käytettiin joukon rakentamiseen, seuraavalla komennolla:

Huomautus

Muista, että/dev/sd*-nimet voivat muuttua milloin tahansa uudelleenkäynnistyksen yhteydessä! Tarkista ne joka kerta varmistaaksesi, että käytät oikeita laitteita.

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disk sdb 100G disk sdc 100G linux_raid_member disk sdd 100G linux_raid_member disk vda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Kun olet löytänyt joukon luomiseen käytetyt laitteet, nollaa niiden superlohkot nollataksesi ne normaaliksi:

  • sudo mdadm --zero-superblock /dev/sdc
  • sudo mdadm --zero-superblock /dev/sdd

Poista kaikki pysyvät viittaukset joukkoon. Muokkaa /etc/fstab-tiedostoa ja kommentoi pois tai poista viittaus joukkoosi:

  • sudo nano /etc/fstab
/etc/fstab
. . .# /dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0

Kommentoi tai poista myös joukkomäärittely /etc/mdadm/mdadm.conf-tiedostosta:

  • sudo nano /etc/mdadm/mdadm.conf
/etc/mdadm/mdadm.conf
. . .# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=7261fb9c:976d0d97:30bc63ce:85e76e91

Päivitä lopuksi initramfs-tiedosto uudelleen:

  • sudo update-initramfs -u

Tässä vaiheessa sinun pitäisi olla valmis käyttämään tallennuslaitteita uudelleen joko yksitellen tai toisen joukon komponentteina.

RAID 0 -joukon luominen

RAID 0 -joukko toimii pilkkomalla datan palasiksi ja raidoittamalla sen käytettävissä oleville levyille. Tämä tarkoittaa, että kukin levy sisältää osan tiedoista ja että tietoja haettaessa viitataan useisiin levyihin.

  • Tarpeet: Vähintään 2 tallennuslaitetta
  • Primäärinen hyöty: Suorituskyky
  • Muistettavaa: Varmista, että sinulla on toimivat varmuuskopiot. Yksittäisen laitteen vikaantuminen tuhoaa kaikki tiedot joukosta.

Komponenttilaitteiden tunnistaminen

Aloittaaksesi etsi käyttämiesi raakalevyjen tunnukset:

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Kuten yllä näkyy, meillä on kaksi levyä ilman tiedostojärjestelmää, joista kumpikin on kooltaan 100G. Tässä esimerkissä näille laitteille on annettu tunnukset /dev/sda ja /dev/sdb tätä istuntoa varten. Nämä ovat raakakomponentteja, joita käytämme joukon rakentamiseen.

Create the Array

Luoaksemme RAID 0 -joukon näillä komponenteilla, anna ne komennolle mdadm --create. Sinun on määritettävä laitteen nimi, jonka haluat luoda (meidän tapauksessamme /dev/md0), RAID-taso ja laitteiden määrä:

  • sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda /dev/sdb

Voit varmistaa, että RAID on luotu onnistuneesti, tarkistamalla /proc/mdstat-tiedoston:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid0 sdb sda 209584128 blocks super 1.2 512k chunks unused devices: <none>

Kuten korostetusta rivistä näkyy, /dev/md0-laite on luotu RAID 0 -konfiguraatiossa käyttäen /dev/sda– ja /dev/sdb-laitteita.

Luo ja kiinnitä tiedostojärjestelmä

Luo seuraavaksi tiedostojärjestelmä arrayyn:

  • sudo mkfs.ext4 -F /dev/md0

Luo kiinnityspiste uuden tiedostojärjestelmän liittämistä varten:

  • sudo mkdir -p /mnt/md0

Voit liittää tiedostojärjestelmän kirjoittamalla:

  • sudo mount /dev/md0 /mnt/md0

Tarkista, onko uusi tila käytettävissä kirjoittamalla:

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0

Uusi tiedostojärjestelmä on liitetty ja käytettävissä.

Tallenna asetelman asettelu

Voidaksemme varmistaa, että asetelma kootaan uudelleen automaattisesti käynnistyksen yhteydessä, meidän on säädettävä /etc/mdadm/mdadm.conf-tiedostoa. Voit skannata aktiivisen joukon automaattisesti ja liittää tiedoston kirjoittamalla:

  • sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Tämän jälkeen voit päivittää initramfs- eli alustavan RAM-tiedostojärjestelmän, jotta joukon saa käyttöönsä varhaisen käynnistyksen aikana:

  • sudo update-initramfs -u

Lisää uudet tiedostojärjestelmän kiinnitysvaihtoehdot tiedostoon /etc/fstab automaattista kiinnitystä varten käynnistyksen yhteydessä:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

RAID 0 -joukkosi pitäisi nyt olla automaattisesti koottu ja kiinnitetty jokaisella käynnistyksellä.

RAID 1 -matriisin luominen

RAID 1 -matriisityyppi toteutetaan peilaamalla tiedot kaikille käytettävissä oleville levyille. RAID 1 -matriisin jokainen levy saa täydellisen kopion tiedoista, mikä tarjoaa redundanssia laitevian sattuessa.

  • Tarpeet: Vähintään 2 tallennuslaitetta
  • Primäärihyöty: Redundanssi
  • Muistettavaa: Koska tiedoista ylläpidetään kahta kopiota, vain puolet levytilasta on käyttökelpoista

Komponenttilaitteiden tunnistaminen

Aloittaaksesi etsi käyttämiesi raakalevyjen tunnukset:

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Kuten yllä näet, meillä on kaksi levyä ilman tiedostojärjestelmää, joista kumpikin on kooltaan 100G. Tässä esimerkissä näille laitteille on annettu tunnukset /dev/sda ja /dev/sdb tätä istuntoa varten. Nämä ovat raakakomponentteja, joita käytämme joukon rakentamiseen.

Create the Array

Luoaksemme RAID 1 -joukon näillä komponenteilla, anna ne komennolle mdadm --create. Sinun on määritettävä laitteen nimi, jonka haluat luoda (meidän tapauksessamme /dev/md0), RAID-taso ja laitteiden määrä:

  • sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb

Jos käyttämäsi komponenttilaitteet eivät ole osioita, joissa on käytössä boot-lippu, saat todennäköisesti seuraavan varoituksen. On turvallista kirjoittaa y jatkaaksesi:

Output
mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90mdadm: size set to 104792064KContinue creating array? y

Työkalu mdadm alkaa peilata asemia. Tämä voi kestää jonkin aikaa, mutta arraya voi käyttää tänä aikana. Voit seurata peilauksen edistymistä tarkistamalla /proc/mdstat-tiedoston:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid1 sdb sda 104792064 blocks super 1.2 resync = 20.2% (21233216/104792064) finish=6.9min speed=199507K/secunused devices: <none>

Kuten näet ensimmäisestä korostetusta rivistä, /dev/md0-laite on luotu RAID 1 -konfiguraatioon käyttäen /dev/sda– ja /dev/sdb-laitteita. Toisella korostetulla rivillä näkyy peilauksen edistyminen. Voit jatkaa opasta, kun tämä prosessi valmistuu.

Luo ja kiinnitä tiedostojärjestelmä

Luo seuraavaksi tiedostojärjestelmä arrayyn:

  • sudo mkfs.ext4 -F /dev/md0

Luo kiinnityspiste uuden tiedostojärjestelmän liittämistä varten:

  • sudo mkdir -p /mnt/md0

Voit liittää tiedostojärjestelmän kirjoittamalla:

  • sudo mount /dev/md0 /mnt/md0

Tarkista, onko uusi tila käytettävissä kirjoittamalla:

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 99G 60M 94G 1% /mnt/md0

Uusi tiedostojärjestelmä on liitetty ja käytettävissä.

Tallenna asetelman asettelu

Voidaksemme varmistaa, että asetelma kootaan uudelleen automaattisesti käynnistyksen yhteydessä, meidän on säädettävä /etc/mdadm/mdadm.conf-tiedostoa. Voit skannata aktiivisen joukon automaattisesti ja liittää tiedoston kirjoittamalla:

  • sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Tämän jälkeen voit päivittää initramfs- eli alustavan RAM-tiedostojärjestelmän niin, että joukon saa käyttöönsä varhaisen käynnistyksen aikana:

  • sudo update-initramfs -u

Lisää uudet tiedostojärjestelmän kiinnitysvaihtoehdot tiedostoon /etc/fstab automaattista kiinnitystä varten käynnistyksen yhteydessä:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

RAID 1 -joukkosi pitäisi nyt olla automaattisesti koottu ja kiinnitetty jokaisella käynnistyksellä.

RAID 5 -matriisin luominen

RAID 5 -matriisityyppi on toteutettu raidoittamalla tiedot käytettävissä olevien laitteiden kesken. Jokaisen raidan yksi komponentti on laskettu pariteettilohko. Jos jokin laite vikaantuu, pariteettilohkoa ja jäljelle jääviä lohkoja voidaan käyttää puuttuvien tietojen laskemiseen. Pariteettilohkon vastaanottavaa laitetta kierretään siten, että kullakin laitteella on tasapainoinen määrä pariteettitietoja.

  • Tarpeet: Vähintään 3 tallennuslaitetta
  • Primary benefit: Redundanssi, jolla on enemmän käyttökelpoista kapasiteettia.
  • Muistettavaa: Vaikka pariteettitiedot jaetaan, yhden levyn kapasiteetti käytetään pariteettiin. RAID 5 voi kärsiä erittäin huonosta suorituskyvystä, kun se on heikentyneessä tilassa.

Komponenttilaitteiden tunnistaminen

Aloittaaksesi etsi käyttämiesi raakalevyjen tunnukset:

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G disksdc 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Kuten yllä näkyy, meillä on kolme levyä ilman tiedostojärjestelmää, jotka ovat kukin kooltaan 100G. Tässä esimerkissä näille laitteille on annettu tunnukset /dev/sda, /dev/sdb ja /dev/sdc tätä istuntoa varten. Nämä ovat raakakomponentteja, joita käytämme joukon rakentamiseen.

Create the Array

Luoaksemme RAID 5 -joukon näillä komponenteilla, anna ne komennolle mdadm --create. Sinun on määritettävä laitteen nimi, jonka haluat luoda (meidän tapauksessamme /dev/md0), RAID-taso ja laitteiden määrä:

  • sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc

Työkalu mdadm alkaa konfiguroida joukkoa (se käyttää itse asiassa palautusprosessia joukkueen rakentamiseen suorituskykysyistä). Tämä voi kestää jonkin aikaa, mutta arraya voidaan käyttää tänä aikana. Voit seurata peilauksen edistymistä tarkistamalla /proc/mdstat-tiedoston:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid5 sdc sdb sda 209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 recovery = 15.6% (16362536/104792064) finish=7.3min speed=200808K/secunused devices: <none>

Kuten näet ensimmäisestä korostetusta rivistä, /dev/md0-laite on luotu RAID 5 -konfiguraatioon käyttämällä /dev/sda-, /dev/sdb– ja /dev/sdc-laitteita. Toisella korostetulla rivillä näkyy rakentamisen edistyminen. Voit jatkaa opasta, kun tämä prosessi valmistuu.

Luo ja kiinnitä tiedostojärjestelmä

Luo seuraavaksi tiedostojärjestelmä arrayyn:

  • sudo mkfs.ext4 -F /dev/md0

Luo kiinnityspiste uuden tiedostojärjestelmän liittämistä varten:

  • sudo mkdir -p /mnt/md0

Voit liittää tiedostojärjestelmän kirjoittamalla:

  • sudo mount /dev/md0 /mnt/md0

Tarkista, onko uusi tila käytettävissä kirjoittamalla:

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0

Uusi tiedostojärjestelmä on liitetty ja käytettävissä.

Tallenna asetelman asettelu

Voidaksemme varmistaa, että asetelma kootaan uudelleen automaattisesti käynnistyksen yhteydessä, meidän on säädettävä /etc/mdadm/mdadm.conf-tiedostoa.

Ennen asetelman säätämistä tarkista uudelleen, että asetelman kokoaminen on päättynyt. Koska mdadm rakentaa RAID 5 -matriisit, jos matriisin kokoaminen on vielä kesken, matriisin varaosien määrä ilmoitetaan epätarkasti:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid5 sdc sdb sda 209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 unused devices: <none>

Yllä olevasta tulosteesta näkyy, että uudelleenrakennus on valmis. Nyt voimme automaattisesti skannata aktiivisen joukon ja liittää tiedoston kirjoittamalla:

  • sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Sen jälkeen voit päivittää initramfs- eli alustavan RAM-tiedostojärjestelmän niin, että joukon saa käyttöönsä varhaisen käynnistysprosessin aikana:

  • sudo update-initramfs -u

Lisää uudet tiedostojärjestelmän kiinnitysvaihtoehdot tiedostoon /etc/fstab automaattista kiinnitystä varten käynnistyksen yhteydessä:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

RAID 5 -joukkosi pitäisi nyt olla automaattisesti koottu ja kiinnitetty jokaisessa käynnistyksessä.

RAID 6 -matriisin luominen

RAID 6 -matriisityyppi on toteutettu raidoittamalla tiedot käytettävissä olevien laitteiden kesken. Kunkin raidan kaksi komponenttia ovat laskettuja pariteettilohkoja. Jos yksi tai kaksi laitetta vikaantuu, pariteettilohkoja ja jäljelle jääviä lohkoja voidaan käyttää puuttuvien tietojen laskemiseen. Pariteettilohkoja vastaanottavia laitteita kierrätetään siten, että kullakin laitteella on tasapainoinen määrä pariteettitietoja. Tämä on samanlainen kuin RAID 5 -matriisi, mutta mahdollistaa kahden aseman vikaantumisen.

  • Tarpeet: Vähintään 4 tallennuslaitetta
  • Primäärihyöty: Kaksinkertainen redundanssi ja enemmän käyttökelpoista kapasiteettia.
  • Muistettavaa: Vaikka pariteettitiedot jaetaan, pariteettiin käytetään kahden levyn kapasiteettia. RAID 6 voi kärsiä erittäin huonosta suorituskyvystä, kun se on heikentyneessä tilassa.

Komponenttilaitteiden tunnistaminen

Aloittaaksesi etsi käyttämiesi raakalevyjen tunnukset:

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G disksdc 100G disksdd 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Kuten yllä näkyy, meillä on neljä levyä ilman tiedostojärjestelmää, joista jokainen on kooltaan 100G. Tässä esimerkissä näille laitteille on annettu tunnukset /dev/sda, /dev/sdb, /dev/sdc ja /dev/sdd tätä istuntoa varten. Nämä ovat raakakomponentteja, joita käytämme joukon rakentamiseen.

Create the Array

Luodaksesi RAID 6 -joukon näillä komponenteilla, anna ne komennolle mdadm --create. Sinun on määritettävä laitteen nimi, jonka haluat luoda (meidän tapauksessamme /dev/md0), RAID-taso ja laitteiden määrä:

  • sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Työkalu mdadm alkaa konfiguroida joukkoa (se käyttää itse asiassa palautusprosessia joukkueen rakentamiseen suorituskykysyistä). Tämä voi kestää jonkin aikaa, mutta arraya voidaan käyttää tänä aikana. Voit seurata peilauksen edistymistä tarkistamalla /proc/mdstat-tiedoston:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid6 sdd sdc sdb sda 209584128 blocks super 1.2 level 6, 512k chunk, algorithm 2 resync = 0.6% (668572/104792064) finish=10.3min speed=167143K/secunused devices: <none>

Kuten näet ensimmäisestä korostetusta rivistä, /dev/md0-laite on luotu RAID 6 -konfiguraatioon käyttäen /dev/sda-, /dev/sdb-, /dev/sdc– ja /dev/sdd-laitteita. Toisella korostetulla rivillä näkyy rakentamisen edistyminen. Voit jatkaa opasta, kun tämä prosessi valmistuu.

Luo ja kiinnitä tiedostojärjestelmä

Luo seuraavaksi tiedostojärjestelmä arrayyn:

  • sudo mkfs.ext4 -F /dev/md0

Luo kiinnityspiste uuden tiedostojärjestelmän liittämistä varten:

  • sudo mkdir -p /mnt/md0

Voit liittää tiedostojärjestelmän kirjoittamalla:

  • sudo mount /dev/md0 /mnt/md0

Tarkista, onko uusi tila käytettävissä kirjoittamalla:

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0

Uusi tiedostojärjestelmä on liitetty ja käytettävissä.

Tallenna asetelman asettelu

Voidaksemme varmistaa, että asetelma kootaan uudelleen automaattisesti käynnistyksen yhteydessä, meidän on säädettävä /etc/mdadm/mdadm.conf-tiedostoa. Voimme skannata aktiivisen joukon automaattisesti ja lisätä tiedoston kirjoittamalla:

  • sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Tämän jälkeen voit päivittää initramfs- eli alustavan RAM-tiedostojärjestelmän niin, että joukon saa käyttöönsä varhaisen käynnistyksen aikana:

  • sudo update-initramfs -u

Lisää uudet tiedostojärjestelmän kiinnitysvaihtoehdot tiedostoon /etc/fstab automaattista kiinnitystä varten käynnistyksen yhteydessä:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

RAID 6 -joukkojesi pitäisi nyt koota ja kiinnittää automaattisesti jokaisella käynnistyksellä.

Kompleksisen RAID 10 -matriisin luominen

RAID 10 -matriisityyppi on perinteisesti toteutettu luomalla RAID 1 -matriisien sarjoista koostuva raidallinen RAID 0 -matriisi. Tämä sisäkkäinen matriisityyppi antaa sekä redundanssin että korkean suorituskyvyn suuren levytilamäärän kustannuksella. mdadm-apuohjelmalla on oma RAID 10 -tyyppinsä, joka tarjoaa samantyyppisiä etuja suuremmalla joustavuudella. Sitä ei luoda pesäkemääritysten avulla, mutta sillä on monia samoja ominaisuuksia ja takuita. Käytämme tässä mdadm RAID 10:tä.

  • Tarpeet: Vähintään 3 tallennuslaitetta
  • Primäärihyöty: Suorituskyky ja redundanssi
  • Muistettavaa: Joukon kapasiteetin vähennyksen määrä määräytyy sen mukaan, kuinka monta datakopiota haluat säilyttää. mdadm-tyylillä RAID 10 tallennettavien kopioiden määrä on konfiguroitavissa.

Oletusarvoisesti kustakin tietolohkosta tallennetaan kaksi kopiota niin sanotussa ”lähellä”-asettelussa. Mahdolliset asettelut, jotka määräävät, miten kukin datalohko tallennetaan, ovat:

  • near: Oletusasettelu. Kunkin lohkon kopiot kirjoitetaan peräkkäin strippauksen yhteydessä, mikä tarkoittaa sitä, että datalohkojen kopiot kirjoitetaan usean levyn samaan osaan.
  • kaukana: Ensimmäinen ja sitä seuraavat kopiot kirjoitetaan eri osiin joukon tallennuslaitteita. Esimerkiksi ensimmäinen lohko saatetaan kirjoittaa lähelle levyn alkupäätä, kun taas toinen lohko kirjoitetaan puoliväliin eri levylle. Tämä voi lisätä lukusuorituskykyä perinteisillä pyörivillä levyillä kirjoitussuorituskyvyn kustannuksella.
  • offset: Jokainen raita kopioidaan yhden aseman verran siirtyneenä. Tämä tarkoittaa, että kopiot ovat etäällä toisistaan, mutta silti lähellä toisiaan levyllä. Tämä auttaa minimoimaan liiallista hakua joidenkin työkuormien aikana.

Voit lukea lisää näistä asetteluista tutustumalla tämän man-sivun ”RAID10”-osioon:

  • man 4 md

Tämän man-sivun löydät myös verkossa täältä.

Tunnista komponenttilaitteet

Aloittaaksesi etsi käyttämiesi raakalevyjen tunnukset:

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G disksdc 100G disksdd 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Kuten näet yllä, meillä on neljä levyä ilman tiedostojärjestelmää, joista jokainen on kooltaan 100G. Tässä esimerkissä näille laitteille on annettu tunnukset /dev/sda, /dev/sdb, /dev/sdc ja /dev/sdd tätä istuntoa varten. Nämä ovat raakakomponentteja, joita käytämme joukon rakentamiseen.

Create the Array

Luodaksesi RAID 10 -joukon näillä komponenteilla, anna ne komennolle mdadm --create. Sinun on määritettävä laitteen nimi, jonka haluat luoda (meidän tapauksessamme /dev/md0), RAID-taso ja laitteiden lukumäärä.

Voit luoda kaksi kopiota käyttämällä lähintä asettelua, kun et määritä asettelua ja kopion numeroa:

  • sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Jos haluat käyttää eri asettelua tai muuttaa kopioiden lukumäärää, sinun on käytettävä --layout=-vaihtoehtoa, joka ottaa vastaan asettelun ja kopion tunnuksen. Asettelut ovat n tarkoittaa lähellä, f kaukana ja o offset. Tallennettavien kopioiden määrä liitetään sen jälkeen.

Luoaksesi esimerkiksi joukon, jossa on kolme kopiota offset-asettelussa, komento näyttäisi seuraavalta:

  • sudo mdadm --create --verbose /dev/md0 --level=10 --layout=o3 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Työkalu mdadm alkaa konfiguroida joukon (se itse asiassa käyttää palautusprosessia joukon rakentamiseen suorituskykysyistä). Tämä voi kestää jonkin aikaa, mutta arraya voidaan käyttää tänä aikana. Voit seurata peilauksen edistymistä tarkistamalla /proc/mdstat-tiedoston:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid10 sdd sdc sdb sda 209584128 blocks super 1.2 512K chunks 2 near-copies resync = 18.1% (37959424/209584128) finish=13.8min speed=206120K/secunused devices: <none>

Kuten näet ensimmäisestä korostetusta rivistä, /dev/md0-laite on luotu RAID 10 -konfiguraatioon käyttäen /dev/sda-, /dev/sdb-, /dev/sdc– ja /dev/sdd-laitteita. Toinen korostettu alue näyttää tässä esimerkissä käytetyn asettelun (2 kopiota lähikokoonpanossa). Kolmas korostettu alue näyttää rakentamisen edistymisen. Voit jatkaa opasta, kun tämä prosessi valmistuu.

Luo ja kiinnitä tiedostojärjestelmä

Luo seuraavaksi tiedostojärjestelmä asetelmaan:

  • sudo mkfs.ext4 -F /dev/md0

Luo kiinnityspiste uuden tiedostojärjestelmän liittämistä varten:

  • sudo mkdir -p /mnt/md0

Voit liittää tiedostojärjestelmän kirjoittamalla:

  • sudo mount /dev/md0 /mnt/md0

Tarkista, onko uusi tila käytettävissä kirjoittamalla:

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0

Uusi tiedostojärjestelmä on liitetty ja käytettävissä.

Tallenna asetelman asettelu

Voidaksemme varmistaa, että asetelma kootaan uudelleen automaattisesti käynnistyksen yhteydessä, meidän on säädettävä /etc/mdadm/mdadm.conf-tiedostoa. Voimme skannata aktiivisen joukon automaattisesti ja lisätä tiedoston kirjoittamalla:

  • sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Tämän jälkeen voit päivittää initramfs- eli alustavan RAM-tiedostojärjestelmän niin, että joukon saa käyttöönsä varhaisen käynnistyksen aikana:

  • sudo update-initramfs -u

Lisää uudet tiedostojärjestelmän kiinnitysvaihtoehdot tiedostoon /etc/fstab automaattista kiinnitystä varten käynnistyksen yhteydessä:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

RAID 10 -joukkosi pitäisi nyt koota ja kiinnittää automaattisesti jokaisella käynnistyksellä.

Yhteenveto

Tässä oppaassa näytimme, miten luodaan erityyppisiä arrayjä Linuxin mdadm ohjelmisto-RAID-apuohjelman avulla. RAID-matriisit tarjoavat joitakin vakuuttavia redundanssi- ja suorituskykyparannuksia verrattuna useiden levyjen käyttämiseen yksitellen.

Kun olet päättänyt ympäristösi tarvitseman matriisityypin ja luonut laitteen, sinun on opittava suorittamaan päivittäistä hallintaa mdadm:n avulla. Oppaamme RAID-massojen hallinnasta mdadm:n avulla Ubuntu 16.04:ssä voi auttaa sinua alkuun.

Vastaa

Sähköpostiosoitettasi ei julkaista.