Bevezetés
A mdadm
segédprogram a Linux szoftveres RAID képességeit használó tárolótömbök létrehozására és kezelésére használható. A rendszergazdák nagy rugalmasságot élveznek az egyes tárolóeszközök összehangolásában és a nagyobb teljesítményű vagy redundanciajellemzőkkel rendelkező logikai tárolóeszközök létrehozásában.
Ezzel az útmutatóval számos különböző RAID-konfigurációt tekintünk át, amelyeket az Ubuntu 16. sz.04 szerverre.
Előfeltételek
Az útmutató lépéseinek elvégzéséhez rendelkeznie kell:
- Nem root felhasználó
sudo
jogosultságokkal egy Ubuntu 16.04 szerveren: Az útmutató lépéseit egysudo
felhasználóval kell végrehajtani. Az ilyen jogosultságokkal rendelkező fiók beállításának megismeréséhez kövesse az Ubuntu 16.04 szerver kezdeti beállítási útmutatóját. - A RAID terminológia és fogalmak alapvető ismerete: Bár ez az útmutató futólag érint néhány RAID-terminológiát, a teljesebb megértés nagyon hasznos. Ha többet szeretne megtudni a RAID-ről, és jobban megérteni, hogy melyik RAID-szint a megfelelő az Ön számára, olvassa el a Bevezetés a RAID-ba című cikkünket.
- Több nyers tárolóeszköz áll rendelkezésre a szerveren: Bemutatjuk, hogyan lehet különböző típusú tömböket konfigurálni a kiszolgálón. Ennek megfelelően szüksége lesz néhány meghajtóra a konfiguráláshoz. Ha a DigitalOceant használja, akkor Block Storage köteteket használhat ennek a szerepnek a betöltésére. A tömb típusától függően legalább kettő-négy tárolóeszközre lesz szüksége.
Meglévő RAID-eszközök visszaállítása
Az útmutató során bemutatjuk a különböző RAID-szintek létrehozásának lépéseit. Ha követni szeretné, valószínűleg minden egyes szakasz után újra szeretné majd használni a tárolóeszközöket. Erre a szakaszra hivatkozhat, hogy megtanulja, hogyan lehet gyorsan visszaállítani a komponens tárolóeszközöket egy új RAID-szint tesztelése előtt. Ezt a szakaszt egyelőre hagyja ki, ha még nem állított be semmilyen tömböt.
Ez a folyamat teljesen megsemmisíti a tömböt és a ráírt adatokat. Győződjön meg róla, hogy a megfelelő tömbön dolgozik, és hogy a tömb megsemmisítése előtt lemásolt minden olyan adatot, amelyet meg kell őrizni.
Keresd meg az aktív tömböket a /proc/mdstat
fájlban a következő beírással:
- cat /proc/mdstat
OutputPersonalities : md0 : active raid0 sdc sdd 209584128 blocks super 1.2 512k chunks unused devices: <none>
Vegye le a tömböt a fájlrendszerről:
- sudo umount /dev/md0
Ezután állítsd le és távolítsd el a tömböt a következő beírással:
- sudo mdadm --stop /dev/md0
- sudo mdadm --remove /dev/md0
Keresd meg a tömb felépítéséhez használt eszközöket a következő paranccsal:
Ne feledd, hogy a/dev/sd*
nevek bármikor megváltozhatnak az újraindításkor! Ellenőrizze őket minden alkalommal, hogy megbizonyosodjon arról, hogy a megfelelő eszközökön dolgozik.
- 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
A tömb létrehozásához használt eszközök felfedezése után nullázza le a szuperblokkjukat, hogy visszaállítsa a normál állapotot:
- sudo mdadm --zero-superblock /dev/sdc
- sudo mdadm --zero-superblock /dev/sdd
El kell távolítania a tömbre vonatkozó tartós hivatkozásokat. Szerkessze a /etc/fstab
fájlt, és kommentálja ki vagy távolítsa el a tömbre való hivatkozást:
- sudo nano /etc/fstab
. . .# /dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0
Az /etc/mdadm/mdadm.conf
fájlból is kommentálja ki vagy távolítsa el a tömb definícióját:
- sudo nano /etc/mdadm/mdadm.conf
. . .# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=7261fb9c:976d0d97:30bc63ce:85e76e91
Végül frissítse újra a initramfs
fájlt:
- sudo update-initramfs -u
Ezzel a ponttal készen kell állnia arra, hogy a tárolóeszközöket egyenként vagy egy másik tömb összetevőiként újra felhasználja.
RAID 0 tömb létrehozása
A RAID 0 tömb úgy működik, hogy az adatokat darabokra bontja és a rendelkezésre álló lemezekre csíkozza. Ez azt jelenti, hogy minden lemez az adatok egy részét tartalmazza, és az információk lekérdezésekor több lemezre történik hivatkozás.
- Követelmények: legalább 2 tárolóeszköz
- Elsődleges előny: Teljesítmény
- Mit kell szem előtt tartani: Győződjön meg róla, hogy működőképes biztonsági mentésekkel rendelkezik. Egyetlen eszköz meghibásodása a tömb összes adatát megsemmisíti.
A komponenseszközök azonosítása
A kezdéshez keresse meg a használni kívánt nyers lemezek azonosítóit:
- 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
Amint fentebb látható, két, fájlrendszer nélküli, egyenként 100 G méretű lemezünk van. Ebben a példában ezek az eszközök a /dev/sda
és /dev/sdb
azonosítókat kapták a munkamenethez. Ezeket a nyers komponenseket fogjuk használni a tömb létrehozásához.
Create the Array
A RAID 0 tömb létrehozásához ezekből a komponensekből adja át őket a mdadm --create
parancsnak. Meg kell adnunk a létrehozni kívánt eszköz nevét (esetünkben /dev/md0
), a RAID-szintet és az eszközök számát:
- sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda /dev/sdb
Az /proc/mdstat
fájl ellenőrzésével megbizonyosodhatunk arról, hogy a RAID sikeresen létrejött:
- cat /proc/mdstat
OutputPersonalities : md0 : active raid0 sdb sda 209584128 blocks super 1.2 512k chunks unused devices: <none>
Amint a kiemelt sorban látható, a /dev/md0
eszköz a /dev/sda
és /dev/sdb
eszközök segítségével jött létre a RAID 0 konfigurációban.
Fájlrendszer létrehozása és csatolása
A következő lépésben hozzon létre egy fájlrendszert a tömbön:
- sudo mkfs.ext4 -F /dev/md0
Hozzon létre egy csatolási pontot az új fájlrendszer csatolásához:
- sudo mkdir -p /mnt/md0
A fájlrendszert a következő beírással mountolhatja:
- sudo mount /dev/md0 /mnt/md0
Az új fájlrendszer elérhetőségét a következő beírással ellenőrizheti:
- 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
Az új fájlrendszer mountolva van és elérhető.
A tömb elrendezés mentése
Azért, hogy a tömb automatikusan újra összeálljon a rendszerindításkor, a /etc/mdadm/mdadm.conf
fájlt kell módosítanunk. Automatikusan beolvashatjuk az aktív tömböt, és hozzáilleszthetjük a fájlt a következő beírással:
- sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
Ezután frissíthetjük az initramfs, vagyis a kezdeti RAM fájlrendszert, hogy a tömb elérhető legyen a korai indítási folyamat során:
- sudo update-initramfs -u
Adjuk hozzá a /etc/fstab
fájlhoz az új fájlrendszer csatolási beállításokat a rendszerindításkor történő automatikus csatoláshoz:
- echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
A RAID 0 tömbünknek most már automatikusan össze kell állnia, és minden indításkor csatolva kell lennie.
RAID 1 tömb létrehozása
A RAID 1 tömbtípus az adatok tükrözésével valósul meg az összes rendelkezésre álló lemezen. A RAID 1 tömb minden lemeze az adatok egy teljes másolatát kapja, így biztosítva a redundanciát egy eszköz meghibásodása esetén.
- Követelmények: legalább 2 tárolóeszköz
- Elsődleges előny: Redundancia
- Mit kell szem előtt tartani:
A komponenseszközök azonosítása
A kezdéshez keresse meg a használni kívánt nyers lemezek azonosítóit:
- 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
Amint fentebb látható, két lemezünk van fájlrendszer nélkül, mindkettő 100 G méretű. Ebben a példában ezek az eszközök a /dev/sda
és /dev/sdb
azonosítókat kapták a munkamenethez. Ezeket a nyers komponenseket fogjuk használni a tömb létrehozásához.
Create the Array
A RAID 1 tömb létrehozásához ezeket a komponenseket adjuk át a mdadm --create
parancsnak. Meg kell adnunk a létrehozni kívánt eszköz nevét (esetünkben /dev/md0
), a RAID-szintet és az eszközök számát:
- sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb
Ha az általunk használt komponenseszközök nem olyan partíciók, amelyeknél engedélyezve van a boot
jelző, valószínűleg a következő figyelmeztetést kapjuk. A folytatáshoz nyugodtan írjon be y-t:
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
A mdadm
eszköz elkezdi a meghajtók tükrözését. Ez eltarthat egy ideig, de a tömb ez idő alatt használható. A tükrözés előrehaladását a /proc/mdstat
fájl ellenőrzésével ellenőrizheti:
- 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>
Amint az első kiemelt sorban látható, a /dev/md0
eszköz a /dev/sda
és /dev/sdb
eszközökkel RAID 1 konfigurációban jött létre. A második kiemelt sor a tükrözés előrehaladását mutatja. Amíg ez a folyamat befejeződik, folytathatja az útmutatót.
Fájlrendszer létrehozása és csatolása
A következő lépésben hozzon létre egy fájlrendszert a tömbön:
- sudo mkfs.ext4 -F /dev/md0
Készítsen egy csatolási pontot az új fájlrendszer csatolásához:
- sudo mkdir -p /mnt/md0
A fájlrendszert a következő beírással mountolhatja:
- sudo mount /dev/md0 /mnt/md0
Az új fájlrendszer elérhetőségét a következő beírással ellenőrizheti:
- 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
Az új fájlrendszer mountolva van és elérhető.
A tömb elrendezés mentése
Azért, hogy a tömb automatikusan újra összeálljon a rendszerindításkor, a /etc/mdadm/mdadm.conf
fájlt kell módosítanunk. Automatikusan beolvashatjuk az aktív tömböt, és hozzáilleszthetjük a fájlt a következő beírással:
- sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
Ezután frissíthetjük az initramfs, vagyis a kezdeti RAM fájlrendszert, hogy a tömb elérhető legyen a korai indítási folyamat során:
- sudo update-initramfs -u
Adjuk hozzá a /etc/fstab
fájlhoz az új fájlrendszer csatolási beállításokat a rendszerindításkor történő automatikus csatoláshoz:
- echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
A RAID 1 tömbünknek most már automatikusan össze kell állnia, és minden indításkor csatolva kell lennie.
RAID 5 tömb létrehozása
A RAID 5 tömbtípus az adatoknak a rendelkezésre álló eszközökön történő csíkozásával valósul meg. Minden csík egyik összetevője egy kiszámított paritásblokk. Ha egy eszköz meghibásodik, a paritásblokk és a fennmaradó blokkok felhasználhatók a hiányzó adatok kiszámításához. A paritásblokkot fogadó eszköz elfordul, így minden eszköz kiegyensúlyozott mennyiségű paritásinformációval rendelkezik.
- Követelmények: legalább 3 tárolóeszköz
- Elődleges előny: Redundancia nagyobb használható kapacitással.
- Mit kell szem előtt tartani: Miközben a paritásinformáció szétosztásra kerül, egy lemez kapacitásának egy részét használja fel a paritás. A RAID 5 degradált állapotban nagyon gyenge teljesítményt mutathat.
A komponenseszközök azonosítása
A kezdéshez keresse meg a használni kívánt nyers lemezek azonosítóit:
- 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
Amint fentebb látható, három lemezünk van fájlrendszer nélkül, mindegyik 100 G méretű. Ebben a példában ezek az eszközök a /dev/sda
, /dev/sdb
és /dev/sdc
azonosítókat kapták a munkamenethez. Ezek lesznek a nyers komponensek, amelyeket a tömb létrehozásához fogunk használni.
Create the Array
A RAID 5 tömb létrehozásához ezekből a komponensekből adja át őket a mdadm --create
parancsnak. Meg kell adnunk a létrehozni kívánt eszköz nevét (esetünkben /dev/md0
), a RAID-szintet és az eszközök számát:
- sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc
A mdadm
eszköz elkezdi a tömb konfigurálását (teljesítmény okokból valójában a helyreállítási folyamatot használja a tömb felépítéséhez). Ez eltarthat egy ideig, de a tömb ez idő alatt használható. A tükrözés előrehaladását a /proc/mdstat
fájl ellenőrzésével ellenőrizheti:
- 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>
Amint az első kiemelt sorban látható, a /dev/md0
eszköz a RAID 5 konfigurációban a /dev/sda
, /dev/sdb
és /dev/sdc
eszközök felhasználásával jött létre. A második kiemelt sor a létrehozás előrehaladását mutatja. Amíg ez a folyamat befejeződik, folytathatja az útmutatót.
Fájlrendszer létrehozása és csatolása
A következő lépésben hozzon létre egy fájlrendszert a tömbön:
- sudo mkfs.ext4 -F /dev/md0
Hozzon létre egy csatolási pontot az új fájlrendszer csatolásához:
- sudo mkdir -p /mnt/md0
A fájlrendszert a következő beírással mountolhatja:
- sudo mount /dev/md0 /mnt/md0
Az új fájlrendszer elérhetőségét a következő beírással ellenőrizheti:
- 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
Az új fájlrendszer mountolva van és elérhető.
A tömb elrendezés mentése
Azért, hogy a tömb automatikusan újra összeálljon a rendszerindításkor, a /etc/mdadm/mdadm.conf
fájlt kell beállítanunk.
A konfiguráció beállítása előtt még egyszer ellenőrizzük, hogy a tömb befejezte-e az összerakást. A mdadm
RAID 5 tömbök felépítésének módja miatt, ha a tömb még mindig épül, a tartalékok számát a tömbben pontatlanul fogja jelenteni:
- cat /proc/mdstat
OutputPersonalities : md0 : active raid5 sdc sdb sda 209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 unused devices: <none>
A fenti kimenet azt mutatja, hogy az újraépítés befejeződött. Most már automatikusan beolvashatjuk az aktív tömböt és csatolhatjuk a fájlt:
- sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
Ezután frissíthetjük az initramfs, vagyis a kezdeti RAM fájlrendszert, hogy a tömb elérhető legyen a korai indítási folyamat során:
- sudo update-initramfs -u
Adjuk hozzá az új fájlrendszer csatolási beállításokat a /etc/fstab
fájlhoz a rendszerindításkor történő automatikus csatoláshoz:
- echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
A RAID 5 tömbnek most már automatikusan össze kell állnia és minden indításkor csatolnia kell.
RAID 6 tömb létrehozása
A RAID 6 tömbtípus az adatoknak a rendelkezésre álló eszközökön történő csíkozásával valósul meg. Minden csík két összetevője kiszámított paritásblokk. Ha egy vagy két eszköz meghibásodik, a paritásblokkok és a fennmaradó blokkok felhasználhatók a hiányzó adatok kiszámításához. A paritásblokkokat fogadó eszközök úgy vannak elforgatva, hogy minden eszköz kiegyensúlyozott mennyiségű paritásinformációval rendelkezzen. Ez hasonló a RAID 5 tömbhöz, de lehetővé teszi két meghajtó meghibásodását.
- Követelmények: legalább 4 tárolóeszköz
- Első előnye: Kettős redundancia nagyobb használható kapacitással.
- Mit kell szem előtt tartani: Miközben a paritásinformáció elosztásra kerül, két lemez kapacitását használják fel a paritáshoz. A RAID 6 degradált állapotban nagyon gyenge teljesítményt mutathat.
A komponenseszközök azonosítása
A kezdéshez keresse meg a használni kívánt nyers lemezek azonosítóit:
- 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
Amint fentebb látható, négy lemezünk van fájlrendszer nélkül, mindegyik 100 G méretű. Ebben a példában ezek az eszközök a /dev/sda
, /dev/sdb
, /dev/sdc
és /dev/sdd
azonosítókat kapták a munkamenethez. Ezeket a nyers komponenseket fogjuk használni a tömb létrehozásához.
Create the Array
A RAID 6 tömb létrehozásához ezeket a komponenseket adja át a mdadm --create
parancsnak. Meg kell adnunk a létrehozni kívánt eszköz nevét (esetünkben /dev/md0
), a RAID-szintet és az eszközök számát:
- sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
A mdadm
eszköz elkezdi a tömb konfigurálását (teljesítmény okokból valójában a helyreállítási folyamatot használja a tömb felépítéséhez). Ez eltarthat egy ideig, de a tömb ez idő alatt használható. A tükrözés előrehaladását a /proc/mdstat
fájl ellenőrzésével követheti nyomon:
- 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>
Amint az első kiemelt sorban látható, a /dev/md0
eszköz a RAID 6 konfigurációban a /dev/sda
, /dev/sdb
, /dev/sdc
és /dev/sdd
eszközök felhasználásával jött létre. A második kiemelt sor a felépítés előrehaladását mutatja. Amíg ez a folyamat befejeződik, folytathatja az útmutatót.
Fájlrendszer létrehozása és csatolása
A következő lépésben hozzon létre egy fájlrendszert a tömbön:
- sudo mkfs.ext4 -F /dev/md0
Készítsen egy csatolási pontot az új fájlrendszer csatolásához:
- sudo mkdir -p /mnt/md0
A fájlrendszert a következő beírással mountolhatja:
- sudo mount /dev/md0 /mnt/md0
Az új fájlrendszer elérhetőségét a következő beírással ellenőrizheti:
- 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
Az új fájlrendszer mountolva van és elérhető.
A tömb elrendezés mentése
Azért, hogy a tömb automatikusan újra összeálljon a rendszerindításkor, a /etc/mdadm/mdadm.conf
fájlt kell módosítanunk. Automatikusan beolvashatjuk az aktív tömböt, és hozzáilleszthetjük a fájlt a következő beírással:
- sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
Ezután frissíthetjük az initramfs, vagyis a kezdeti RAM fájlrendszert, hogy a tömb elérhető legyen a korai indítási folyamat során:
- sudo update-initramfs -u
Adjuk hozzá a /etc/fstab
fájlhoz az új fájlrendszer csatolási beállításokat a rendszerindításkor történő automatikus csatoláshoz:
- echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
A RAID 6 tömbünknek most már automatikusan össze kell állnia, és minden indításkor csatolva kell lennie.
Bonyolult RAID 10 tömb létrehozása
A RAID 10 tömbtípust hagyományosan RAID 1 tömbökből álló csíkozott RAID 0 tömb létrehozásával valósítják meg. Ez az egymásba ágyazott tömbtípus redundanciát és nagy teljesítményt biztosít, nagy mennyiségű lemezterület rovására. A mdadm
segédprogram saját RAID 10 típussal rendelkezik, amely ugyanilyen típusú előnyöket biztosít nagyobb rugalmassággal. Nem a tömbök egymásba ágyazásával jön létre, de számos azonos tulajdonsággal és garanciával rendelkezik. Mi itt a mdadm
RAID 10-et fogjuk használni.
- Követelmények: legalább 3 tárolóeszköz
- Fő előny: Teljesítmény és redundancia
- Mit kell szem előtt tartani: A tömb kapacitáscsökkentésének mértékét a megtartani kívánt adatkópiák száma határozza meg. A
mdadm
stílusú RAID 10 esetén a tárolt másolatok száma konfigurálható.
Alapértelmezés szerint minden adatblokk két másolata kerül tárolásra az úgynevezett “közeli” elrendezésben. Az egyes adatblokkok tárolásának módját meghatározó lehetséges elrendezések a következők:
- near: Az alapértelmezett elrendezés. Csíkozáskor az egyes adatblokkok másolatai egymás után kerülnek kiírásra, ami azt jelenti, hogy az adatblokkok másolatai több lemez ugyanazon része körül lesznek kiírva.
- távol: Az első és az azt követő másolatok a tömbben lévő tárolóeszközök különböző részeire íródnak. Például előfordulhat, hogy az első darabot egy lemez elejéhez közel írják ki, míg a második darabot egy másik lemezen félúton írják ki. Ez a hagyományos forgó lemezek esetében némi olvasási teljesítménynövekedést eredményezhet az írási teljesítmény rovására.
- offset: Minden csíkot egy meghajtóval eltolva másolnak. Ez azt jelenti, hogy a másolatok eltolódnak egymástól, de még mindig közel vannak egymáshoz a lemezen. Ez segít minimalizálni a túlzott keresést bizonyos munkaterhelések során.
Ezekről az elrendezésekről többet megtudhat, ha megnézi ennek a man
oldalnak a “RAID10” részét:
- man 4 md
Ez a man
oldal online is megtalálható itt.
A komponenseszközök azonosítása
A kezdéshez keresse meg a használni kívánt nyers lemezek azonosítóit:
- 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
Amint fentebb látható, négy, egyenként 100 G méretű, fájlrendszer nélküli lemezünk van. Ebben a példában ezek az eszközök a /dev/sda
, /dev/sdb
, /dev/sdc
és /dev/sdd
azonosítókat kapták a munkamenethez. Ezeket a nyers komponenseket fogjuk használni a tömb létrehozásához.
Create the Array
A RAID 10 tömb létrehozásához ezeket a komponenseket adja át a mdadm --create
parancsnak. Meg kell adnunk a létrehozni kívánt eszköz nevét (esetünkben /dev/md0
), a RAID-szintet és az eszközök számát.
Két példányt állíthatunk be a közeli elrendezéssel, ha nem adunk meg elrendezést és példányszámot:
- sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
Ha más elrendezést szeretnénk használni, vagy a példányok számát megváltoztatni, akkor a --layout=
opciót kell használnunk, amely egy elrendezés és példányazonosítót vesz fel. Az elrendezések a következők: n a közeli, f a távoli és o az eltolás. A tárolni kívánt másolatok számát a parancs utána csatolja.
Egy olyan tömb létrehozásához például, amely 3 másolatot tartalmaz az offset elrendezésben, a parancs így nézne ki:
- sudo mdadm --create --verbose /dev/md0 --level=10 --layout=o3 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
A mdadm
eszköz elkezdi a tömb konfigurálását (teljesítmény okokból valójában a helyreállítási folyamatot használja a tömb létrehozásához). Ez eltarthat egy ideig, de a tömb ez idő alatt használható. A tükrözés előrehaladását a /proc/mdstat
fájl ellenőrzésével követheti nyomon:
- 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>
Amint az első kiemelt sorban látható, a /dev/md0
eszköz a RAID 10 konfigurációban a /dev/sda
, /dev/sdb
, /dev/sdc
és /dev/sdd
eszközök felhasználásával jött létre. A második kiemelt terület a példához használt elrendezést mutatja (2 példány a közeli konfigurációban). A harmadik kiemelt terület a felépítés előrehaladását mutatja. Amíg ez a folyamat befejeződik, folytathatja az útmutatót.
Fájlrendszer létrehozása és csatolása
A következő lépésben hozzon létre egy fájlrendszert a tömbön:
- sudo mkfs.ext4 -F /dev/md0
Hozzon létre egy csatolási pontot az új fájlrendszer csatolásához:
- sudo mkdir -p /mnt/md0
A fájlrendszert a következő beírással mountolhatja:
- sudo mount /dev/md0 /mnt/md0
Az új fájlrendszer elérhetőségét a következő beírással ellenőrizheti:
- 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
Az új fájlrendszer mountolva van és elérhető.
A tömb elrendezés mentése
Azért, hogy a tömb automatikusan újra összeálljon a rendszerindításkor, a /etc/mdadm/mdadm.conf
fájlt kell módosítanunk. Automatikusan beolvashatjuk az aktív tömböt, és hozzáilleszthetjük a fájlt a következő beírással:
- sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
Ezután frissíthetjük az initramfs, vagyis a kezdeti RAM fájlrendszert, hogy a tömb elérhető legyen a korai indítási folyamat során:
- sudo update-initramfs -u
Adjuk hozzá a /etc/fstab
fájlhoz az új fájlrendszer csatolási beállításokat a rendszerindításkor történő automatikus csatoláshoz:
- echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
A RAID 10 tömbünknek most már automatikusan össze kell állnia, és minden indításkor csatolva kell lennie.
Következtetés
Ezzel az útmutatóval bemutattuk, hogyan hozhatunk létre különböző típusú tömböket a Linux mdadm
szoftveres RAID segédprogramjának segítségével. A RAID tömbök meggyőző redundanciát és teljesítménynövekedést kínálnak a több lemez egyenkénti használatával szemben.
Mihelyt eldöntötte, hogy milyen típusú tömbre van szüksége a környezetéhez, és létrehozta az eszközt, meg kell tanulnia, hogyan végezze a mindennapi kezelést a mdadm
segítségével. A RAID tömbök mdadm
-val történő kezeléséről szóló útmutatónk az Ubuntu 16.04 rendszeren segíthet a kezdésben.