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 suoritetaansudo
-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.
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
OutputPersonalities : 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:
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
OutputNAME 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
. . .# /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
. . .# 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
OutputNAME 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
OutputPersonalities : 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
OutputFilesystem 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
OutputNAME 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:
Outputmdadm: 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
OutputPersonalities : 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
OutputFilesystem 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
OutputNAME 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
OutputPersonalities : 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
OutputFilesystem 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
OutputPersonalities : 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
OutputNAME 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
OutputPersonalities : 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
OutputFilesystem 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
OutputNAME 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
OutputPersonalities : 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
OutputFilesystem 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.