Linuxový software RAID používající mdadm

madadm - obslužný program pro práci se softwarem RAID-pole v systému Linux. V článku se podíváme na to, jak pracovat s obslužným programem madadm (správce více disků) k vytvoření pole, přidání disků, správa disků, přidání náhradních dílů a mnohem užitečnějších informací.

Obsah:

  • Nainstalujte software RAID Management Utility - mdadm
  • Vytvoření RAID ze 2 disků
  • Vytvoření systému souborů na RAID, připojení
  • Zobrazit stav, zkontrolovat integritu pole RAID
  • Obnova RAID při selhání, výměna disku
  • Přidání a odebrání disků v poli RAID v systému Linux
  • Přidání hot-náhradního disku do pole RAID
  • Odstranit pole
  • Mdmonitor: Sledování stavu RAID a upozornění e-mailem
  • Pole RAID neaktivní

Nainstalujte software RAID Management Utility - mdadm

Chcete-li nainstalovat obslužný program mdadm, spusťte instalační příkaz:

  • Pro Centos / Red Hat se používá yum / dnf: yum install mdadm
  • Pro Ubuntu / Debian: apt-get install mdadm

Ve výsledku bude na systém nainstalován obslužný program mdadm a potřebné knihovny:

Probíhající transakce Instalace: libreport-filesystem-2.1.11-43.el7.centos.x86_64 1/2 Instalace: mdadm-4.1-1.el7.x86_64 2/2 Ověření: mdadm-4.1-1.el7.x86_64 1/2 Ověření: libreport-filesystem-2.1.11-43.el7.centos.x86_64 2/2 Installed: mdadm.x86_64 0: 4.1-1.el7 Nainstalovaná závislost: libreport-filesystem.x86_64 0: 2.1.11-43.el7. centos Complete!

Vytvoření RAID ze 2 disků

Na serveru mám nainstalované dva další disky a chci downgrade softwarového zrcadla (RAID1). Disky jsou prázdné, data na ně nebyla zapsána. Chcete-li začít, musíte vynulovat všechny superbloky na discích, které přidáme do pole RAID:

# mdadm --zero-superblock --force / dev / vd b, c

Mám dva dva prázdné disky vdb a vdc.

mdadm: Nerozpoznané zařízení md - / dev / vdb mdadm: Nerozpoznané zařízení md - / dev / vdc

Tento seznam znamená, že žádný z jednotek nebyl dříve přidán do pole..

Sestavení softwaru RAID1 ze dvou disků v zařízení / dev / md0 použijte příkaz:

# mdadm --create --verbose / dev / md0 -l 1 -n 2 / dev / vd b, c

Kde "-l 1"Je typ pole, v našem případě RAID1

"-n 2„Je počet disků přidaných do pole.

Pokud potřebujete vytvořit RAID0 v pruhovém režimu pro zvýšení rychlosti čtení / zápisu dat paralelizací příkazů mezi několika fyzickými disky, použijte příkaz:

# mdadm --create --verbose / dev / md0 --level = 0 --raid-devices = 2 / dev / vdb / dev / vdc

RAID 5 ze tří nebo více jednotek:

# mdadm --create --verbose / dev / md0 --level = 5 --raid-devices = 3 / dev / vdb / dev / vdc / dev / vdd

Po spuštění příkazu je třeba akce potvrdit a pole se vytvoří:

Nyní při prohlížení informací o disku vidíme naše pole:

# lsblk

JMÉNO MAJ: MIN RM SIZE RO TYP MOUNTPOINT vda 253: 0 0 20G 0 disk ├─vda1 253: 1 0 512M 0 část / boot └─vda2 253: 2 0 19,5G 0 část / vdb 253: 16 0 20G 0 disk └ ─md0 9: 0 0 20G 0 raid1 vdc 253: 32 0 20G 0 disk └─md0 9: 0 0 20G 0 raid1

Vytvoření systému souborů na RAID, připojení

Vytvoření systému souborů ext4 na našem poli RAID1 dvou disků použijte příkaz:

# mkfs.ext4 / dev / md0

Vytvořte záložní adresář a připojte k němu zařízení RAID:

# mkdir / backup
# mount / dev / md0 / backup /

# df -h

Použitý souborový systém Využití% Nasazeno na devtmpfs 485M 0 485M 0% / dev tmpfs 496M 0 496M 0% / dev / shm tmpfs 496M 44M 452M 9% / run tmpfs 496M 0 496M 0% / sys / fs / cgroup / dev / vda2 20G 1,4G 19G 7% / / dev / vda1 488M 100M 353M 23% / spouštěcí tmpfs 100M 0 100M 0% / běh / uživatel / 0 / dev / md0 20G 45M 19G 1% / záloha 

Pole bylo připojeno bez chyb. Abychom zařízení nepřipojili pokaždé ručně, provedeme změny fstab:

# nano / etc / fstab

Výchozí nastavení / dev / md0 / backup ext4 1 2

Zobrazit stav, zkontrolovat integritu pole RAID

Chcete-li zkontrolovat integritu dat v poli, použijte příkaz:

#echo 'check'> / sys / block / md0 / md / sync_action

Poté musíte vidět výstup souboru:

#cat / sys / block / md0 / md / mismatch_cnt

Pokud jako výsledek dostanete 0, pak je vše v pořádku s vaším polem:

Chcete-li zastavit ověřování, použijte příkaz:

#echo 'nečinný'> / sys / block / md0 / md / sync_action

Chcete-li zkontrolovat stav všech polí RAID dostupných na serveru, použijte příkaz:

# cat / proc / mdstat

Osobnosti: [raid1] md0: aktivní raid1 vdc [1] vdb [0] 20954112 blokuje super 1,2 [2/2] [UU]

V seznamu týmů vidíme informace o našem dříve vytvořeném náletu.

Další informace o konkrétním poli nájezdu naleznete v příkazu:

# mdadm -D / dev / md0

Pojďme analyzovat hlavní body seznamu týmů:

  • Verze - verze metadat;
  • Čas vytvoření - datum a čas vytvoření raidového pole;
  • Úroveň nájezdu - úroveň pole nájezdu;
  • Velikost pole - místo na disku pro nájezdové pole;
  • Used Dev Size - použitý objem pro zařízení;
  • Raid Device - počet disků v raidovém poli;
  • Total Devices - počet disků přidaných do raidového pole;
  • Stav - aktuální stav (čistý - vše je v pořádku);
  • Aktivní zařízení - počet aktivních disků v raidovém poli;
  • Working Devises - počet pracovních disků v raidovém poli;
  • Failed Devices - počet zařízení s poruchami v raidovém poli;
  • Náhradní zařízení - počet náhradních disků v raidovém poli;
  • Zásada konzistence - parametr určující typ synchronizace po selhání v raidovém poli, rsync - úplná synchronizace po obnovení pole nájezdu (k dispozici jsou bitmapa, deník, režimy ppl);
  • UUID - identifikátor pole nájezdu

Stručné informace lze zobrazit pomocí obslužného programu fdisk:

# fdisk -l / dev / md0

Disk / dev / md0: 21,5 GB, 21457010688 bajtů, 41908224 sektorů Jednotky = sektory 1 * 512 = 512 bajtů Velikost sektoru (logická / fyzická): 512 bajtů / 512 bajtů I / O velikost (minimální / optimální): 512 bajtů / 512 bytů

Obnova RAID při selhání, výměna disku

Pokud došlo k selhání nebo poškození jedné z jednotek v poli RAID, můžete ji nahradit jinou. Nejprve určme, zda je disk poškozen a který disk bychom měli změnit..

# cat / proc / mdstat

Osobnosti: [raid1] md0: aktivní raid1 vdb [0] 20954112 blokuje super 1,2 [2/1] [U_] 

Z příkazu výpis uvidíte, že je aktivní pouze jedna jednotka. Také mluví o problému [U_]. Když fungují oba disky, výstup bude [UU].

Podrobné informace o poli RAID také ukazují, že existují problémy:

# mdadm -D / dev / md0

/ dev / md0: Verze: 1.2 Čas vytvoření: Út 29. října 12:39:22 PM Úroveň nájezdu: raid1 Velikost pole: 20954112 (19,98 GiB 21,46 GB) Použitá velikost Dev: 20954112 (19,98 GiB 21,46 GB) Raid Devices: 2 Celkem Zařízení: 2 Perzistence: Superblock je trvalý Čas aktualizace: Út 29. října 14:41:13 2019 Stav: čistý, degradovaný Aktivní zařízení: 1 Pracovní zařízení: 1 Neúspěšná zařízení: 1 

Stav: čistý, degradovaný - tento řádek označuje, že disk v poli nájezdu je poškozen.

V našem případě je třeba vyměnit poškozený disk / dev / vdc. Chcete-li obnovit pole, musíte odebrat nečinný disk a přidat nový.

Odebrání nezdravého disku:

# mdadm / dev / md0 - odstranit / dev / vdc

Přidejte nový disk do pole:

# mdadm / dev / md0 - add / dev / vdd

Obnovení disku se spustí automaticky po přidání nového disku:

# mdadm -D / dev / md0

/ dev / md0: Verze: 1.2 Čas vytvoření: Út 29. října 12:39:22 PM Úroveň nájezdu: raid1 Velikost pole: 20954112 (19,98 GiB 21,46 GB) Použitá velikost Dev: 20954112 (19,98 GiB 21,46 GB) Raid Devices: 2 Celkem Zařízení: 2 Perzistence: Superblock je trvalý Čas aktualizace: Út 29. října 14:50:20 2019 Stav: čistý, degradovaný, obnovující Aktivní zařízení: 1 Pracovní zařízení: 2 Selhala zařízení: 0 Náhradní zařízení: 1 Zásada konzistence: resync Stav obnovy: 69% kompletní Název: server.vpn.rucript (místní k hostiteli server.vpn.ru) UUID: 9d59b1fb: 7b0a7b6d: 15a75459: 8b1637a2 Události: 42 Počet Major Minor RaidDevice State 0 253 16 0 aktivní synchronizace / dev / vdb 2 253 48 1 náhradní přestavba / dev / vdd 

přestavět Stav: 69% dokončeno - ukazuje aktuální stav obnovy pole.

náhradní přestavba / dev / vdd - ukazuje, který disk je přidán do pole.

Po obnovení pole vypadá seznam disků takto:

Stav: čistý Aktivní zařízení: 2 Pracovní zařízení: 2 Selhala zařízení: 0 Náhradní zařízení: 0 

Přidání a odebrání disků v poli RAID v systému Linux

Chcete-li analyzovat dříve vytvořené pole, musíte jej odpojit:

# umount / backup

A spusťte příkaz:

# mdadm -S / dev / md0

mdadm: zastaveno / dev / md0

Po analýze pole by nemělo být definováno jako zařízení:

# mdadm -S / dev / md0

mdadm: chyba při otevírání / dev / md0: Žádný takový soubor nebo adresář neexistuje

Chcete-li sestavit pole, které jsme dříve analyzovali ručně, spusťte příkaz:

# mdadm --assemble -scan

Tento příkaz prohledá disky z rozloženého nebo sbaleného pole RAID a pokusí se z nich shromáždit RAID pomocí metadat.

Pokud potřebujete vyjmout pracovní disk z pole a nahradit jej jiným, musíte nejprve označit pracovní disk jako nefunkční:

# mdadm / dev / md0 - fail / dev / vdc

Potom lze disk smazat příkazem ::

# mdadm / dev / md0 - odstranit / dev / vdc

Přidá se nový disk, stejně jako u nepracovního disku:

# mdadm / dev / md0 - add / dev / vdd

Přidání hot-náhradního disku do pole RAID

Můžete přidat do pole hot náhradní hot-swapable drive, pokud některý z aktivních disků selže. Přidejte disk zdarma do požadovaného pole:

# mdadm / dev / md0 - add / dev / vdc

Po kontrole stavu raidového pole uvidíme tento disk jako náhradní:

Zkontrolovat, zda "hot swap “ disk, označte některý z disků jako nefunkční a zkontrolujte stav raidového pole:

# mdadm / dev / md0 - fail / dev / vdb

Poté, při kontrole stavu pole, bude patrné, že byla zahájena přestavba pole:

Řídit / dev / vdb označen jako nefunkční a náhradní disk se stal jedním z aktivních disků RAID a začal proces obnovy.

Chcete-li přidat další pracovní disk do RAID, musíte provést dva kroky.

Přidejte do pole prázdný disk:

# mdadm / dev / md0 - add / dev / vdb

Nyní se tato jednotka zobrazí jako hot náhradní, aby to fungovalo, rozbalte pole nájezdů:

# mdadm -G / dev / md0 -raid-devices = 3

Poté bude zahájen proces obnovy pole:

Po přestavbě byly všechny disky aktivní:

Počet Major Minor RaidDevice State 3 253 32 0 aktivní synchronizace / dev / vdc 2 253 48 1 aktivní synchronizace / dev / vdd 4 253 16 2 aktivní synchronizace / dev / vdb 

Odstranit pole

Pokud chcete trvale smazat raidové pole, použijte následující schéma:

# umount / backup - odpojit pole z adresáře

# mdadm -S / dev / md0 - zastavte RAID zařízení

Poté odstraníme všechny superbloky na discích, ze kterých bylo sestaveno:

# mdadm - nula-superblock / dev / vdb
# mdadm - nula-superblock / dev / vdc

Mdmonitor: Sledování stavu RAID a upozornění e-mailem

Službu můžete použít ke sledování stavu pole RAID. mdmonitor. Nejprve musíte vytvořit soubor /etc/mdadm.conf s konfigurací aktuálního pole:

# mdadm -detail -scan> /etc/mdadm.conf

Konfigurační soubor mdadm.conf není vytvořen automaticky. Musí být vytvořen a aktualizován ručně..

Na konec souboru /etc/mdadm.conf přidejte e-mailovou adresu administrátora, kterému musíte zasílat upozornění na problémy RAID:

MAILADDR [email protected]

Zastavilo se restartování služby mdmonitor pomocí systemctl:

# systemctl restart mdmonitor

Poté vás systém e-mailem upozorní na chyby v mdadm a vadných jednotkách.

Pole RAID neaktivní

V případě selhání zařízení nebo nouzového vypnutí se může pole přepnout do stavu neaktivní. Všechny jednotky jsou označeny jako neaktivní, ale na jednotkách nejsou žádné chyby.

# cat / proc / mdstat

Osobnosti: [lineární] [multipath] [raid0] [raid1] [raid6] [raid4] [raid10] md0: neaktivní vdc [1] vdb [0] 20954112 blokuje super nepoužívaná zařízení:  

V tomto případě musíte pole zastavit příkazem:

# mdadm --stop / dev / md0

A znovu ho postavit:

# mdadm --assemble --scan -force

Pokud je pole registrováno v / etc / fstab, musíte jej znovu připojit příkazem:

# mount -a

Na již nainstalovaném operačním systému existují způsoby, jak vytvořit softwarový RAID. V tomto případě budete muset ručně zkopírovat tabulky všech oddílů na nový disk a ručně přesunout obsah systémového disku do RAID z jednoho disku, vyčistit první disk a přidat jej k RAID, pak opravit initramfs a GRUB boot. Proto je stále lepší, když zvolíte režim, při nasazení serveru nainstalujte CentOS na softwarový RAID.

Nástroj madadm zjednodušuje práci s poli RAID v systému Linux. V tomto článku jsem popsal hlavní body práce s tímto nástrojem a také se dotkl nejčastějších otázek, které vyvstávají při práci s ním nájezd-pole pomocí utility madadm.