Linux softver RAID koristeći mdadm

mdadm - uslužni program za rad sa softverom RAID-nizovi na Linuxu. U članku ćemo pogledati kako raditi s uslužnim programom mdadm (više diskova administrator) za stvaranje niza, dodavanje diskova, upravljanje diskovima, dodavanje pričuvnih i mnogo korisnijih informacija.

sadržaj:

  • Instalirajte program za upravljanje RAID softverom - mdadm
  • Izrada RAID-a s 2 diska
  • Izrada datotečnog sustava na RAID-u, montaža
  • Pogledajte status, provjerite integritet RAID polja
  • Obnavljanje RAID-a nakon neuspjeha, zamjena diska
  • Dodavanje i uklanjanje diskova u RAID polju na Linuxu
  • Dodavanje Hot-Spare diska u RAID polje
  • Izbriši niz
  • Mdmonitor: Nadgledanje RAID statusa i upozorenja putem e-pošte
  • RAID niz neaktivan

Instalirajte program za upravljanje RAID softverom - mdadm

Da biste instalirali uslužni program mdadm, pokrenite naredbu za instalaciju:

  • Za Centos / Red Hat koristi se yum / dnf: yum instalirati mdadm
  • Za Ubuntu / Debian: apt-get instalacija mdadm

Kao rezultat toga, mdadm uslužni program i potrebne knjižnice bit će instalirane na sustav:

Izvođenje transakcije Instaliranje: libreport-datotečni sustav-2.1.11-43.el7.centos.x86_64 1/2 Instalacija: mdadm-4.1-1.el7.x86_64 2/2 Provjera: mdadm-4.1-1.el7.x86_64 1/2 Provjera: libreport-datotečni sustav-2.1.11-43.el7.centos.x86_64 2/2 Instalirano: mdadm.x86_64 0: 4.1-1.el7 Instalirana ovisnost: libreport-filesystem.x86_64 0: 2.1.11-43.el7. centos Komplet!

Izrada RAID-a s 2 diska

Na poslužitelju su instalirana dva dodatna diska i želim smanjiti softverski zrcalo (RAID1). Diskovi su prazni, podaci im nisu zapisani. Da biste započeli, trebate isključiti sve superblokove na diskovima koje ćemo dodati RAID polju:

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

Imam dva imam dva prazna diska VDB i VDC.

mdadm: Neprepoznat md komponentni uređaj - / dev / vdb mdadm: Neprepoznat md komponentni uređaj - / dev / vdc

Ovaj unos znači da nijedan pogon nije prethodno dodan u polje..

Za sastavljanje softvera RAID1 s dva diska u uređaju / dev / md0, koristite naredbu:

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

Gdje "-l 1"Tip je polja, u našem slučaju RAID1

A "-n 2"Je li broj diskova koji su dodani u polje.

Ako trebate stvoriti RAID0 u striptiznom načinu da biste povećali brzinu čitanja / pisanja podataka paraleliziranjem naredbi između nekoliko fizičkih diskova, koristite naredbu:

# mdadm - kreirajte --verbose / dev / md0 --level = 0 --raid-uređaji = 2 / dev / vdb / dev / vdc

RAID 5 od tri ili više pogona:

# mdadm - stvori --verbose / dev / md0 - nivo = 5 --raid-uređaji = 3 / dev / vdb / dev / vdc / dev / vdd

Nakon pokretanja naredbe, morate potvrditi akcije i niz će se stvoriti:

Sada, kada pregledavamo informacije o disku, vidimo naš niz:

# lsblk

NAZIV MAJ: MIN RM VELIČINA RO TIP MOUNTPOINT vda 253: 0 0 20G 0 disk ├─vda1 253: 1 0 512M 0 dio / boot └─vda2 253: 2 0 19,5G 0 dio / 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

Izrada datotečnog sustava na RAID-u, montaža

Za stvaranje datotečnog sustava ext4 na našem RAID1 nizu dva diska koristite naredbu:

# mkfs.ext4 / dev / md0

Napravite sigurnosnu kopiju i na nju montirajte RAID uređaj:

# mkdir / sigurnosna kopija
# mount / dev / md0 / sigurnosna kopija /

# df -h

Upotrijebljena veličina datotečnog sustava% Naziv na montaži 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% / boot tmpfs 100M 0 100M 0% / trčanje / korisnik / 0 / dev / md0 20G 45M 19G 1% / sigurnosna kopija 

Niz je montiran bez grešaka. Kako ne bismo svaki put ručno montirali uređaj, napravit ćemo promjene u fstab:

# nano / etc / fstab

/ dev / md0 / backup ext4 zadane vrijednosti 1 2

Pogledajte status, provjerite integritet RAID polja

Za provjeru integriteta podataka u nizu koristite naredbu:

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

Nakon toga morate vidjeti izlaz datoteke:

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

Ako kao rezultat dobijete 0, tada je s vašim nizom sve u redu:

Za zaustavljanje provjere valjanosti koristite naredbu:

#echo 'mirovanje'> / sys / block / md0 / md / sinkronizacija

Za provjeru statusa svih RAID nizova dostupnih na poslužitelju, koristite naredbu:

# mačka / proc / mdstat

Osobnosti: [raid1] md0: aktivni raid1 vdc [1] vdb [0] 20954112 blokira super 1,2 [2/2] [UU]

U popisu ekipa vidimo podatke o našem prethodno stvorenom napadu.

Za više informacija o određenom nizu raida pogledajte naredbu:

# mdadm -D / dev / md0

Analizirajmo glavne točke u popisu tima:

  • Verzija - inačica metapodataka;
  • Vrijeme kreiranja - datum i vrijeme stvaranja polja raid;
  • Raid Level - razina polja za napad;
  • Array Size - prostor na disku za Raid polje;
  • Rabljeni Dev Size - rabljeni volumen uređaja;
  • Raid Device - broj diskova u nizu raida;
  • Ukupni uređaji - broj diskova dodanih u raid polje;
  • Stanje - trenutno stanje (čisto - sve je u redu);
  • Aktivni uređaji - broj aktivnih diskova u nizu raida;
  • Working Devises - broj radnih diskova u raid nizu;
  • Neuspjeli uređaji - broj uređaja s kvarovima u raidnom polju;
  • Rezervni uređaji - broj rezervnih diskova u nizu raida;
  • Politika dosljednosti - parametar koji određuje vrstu sinkronizacije nakon neuspjeha u nizu raida, rsync - potpuna sinkronizacija nakon oporavka raid matrike (dostupni su bitmap, journal, ppl načini rada);
  • UUID - identifikator raid polja

Kratke informacije mogu se pregledati pomoću uslužnog programa fdisk:

# fdisk -l / dev / md0

Disk / dev / md0: 21,5 GB, 21457010688 bajtova, 41908224 sektora Jedinice = sektori 1 * 512 = 512 bajta Veličina sektora (logička / fizička): 512 bajta / 512 bajta U / I veličina (minimalno / optimalno): 512 bajta / 512 bajta

Obnavljanje RAID-a nakon neuspjeha, zamjena diska

Ako niste uspjeli ili oštetili jedan od pogona u RAID polju, možete ga zamijeniti drugim. Prvo utvrdimo je li disk oštećen i koji disk trebamo promijeniti..

# mačka / proc / mdstat

Osobnosti: [raid1] md0: aktivni raid1 vdb [0] 20954112 blokira super 1,2 [2/1] [U_] 

Iz naredbe za popis vidite da je aktivan samo jedan pogon. Također govori o problemu [u_]. Kada oba pogona rade, izlaz će biti [UU].

Detaljne informacije o RAID-u također pokazuju da postoje problemi:

# mdadm -D / dev / md0

/ dev / md0: Verzija: 1.2 Vrijeme kreiranja: Utorak, 29. listopada 12:39:22 Razina napada: raid1 Veličina polja: 20954112 (19,98 GiB 21,46 GB) Rabljeni Dev Veličina: 20954112 (19,98 GiB 21,46 GB) Raid uređaji: 2 Ukupno Uređaji: 2 postojanost: Superblock je postojan Vrijeme ažuriranja: Utorak, 29. listopada 14:41:13 2019 Stanje: čisti, degradirani Aktivni uređaji: 1 Radni uređaji: 1 Neuspjeli uređaji: 1 

Stanje: čisto, degradirano - ovaj redak označava da je disk u nizu raida oštećen.

U našem slučaju trebamo zamijeniti neuspjeli disk / dev / vdc. Da biste vratili niz, morate ukloniti neaktivan disk i dodati novi.

Uklanjanje zvučnog diska:

# mdadm / dev / md0 --remove / dev / vdc

Dodajte novi disk u niz:

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

Oporavak diska započet će se automatski nakon dodavanja novog diska:

# mdadm -D / dev / md0

/ dev / md0: Verzija: 1.2 Vrijeme kreiranja: Utorak, 29. listopada 12:39:22 Razina napada: raid1 Veličina polja: 20954112 (19,98 GiB 21,46 GB) Rabljeni Dev Veličina: 20954112 (19,98 GiB 21,46 GB) Raid uređaji: 2 Ukupno Uređaji: 2 postojanost: Superblock je postojan Vrijeme ažuriranja: Utorak, 29. listopada 14.50.20.2019 Stanje: čisti, degradirani, oporavljajući aktivni uređaji: 1 radni uređaji: 2 neispravni uređaji: 0 rezervni uređaji: 1 politika konzistentnosti: ponovno usmjeriti status obnove: 69% dovršeno ime: server.vpn.rucript (lokalno na poslužitelju domaćina.vpn.ru) UUID: 9d59b1fb: 7b0a7b6d: 15a75459: 8b1637a2 Događaji: 42 Broj Glavni maloljetnik RaidDevice Stanje 0 253 16 0 aktivna sinkronizacija / dev / vdb 2 253 48 1 rezervna obnova / dev / vdd 

obnoviti Status: dovršeno 69% - prikazuje trenutno stanje oporavka nizova.

rezervna obnova / dev / vdd - pokazuje koji je disk dodan u niz.

Nakon vraćanja matrice, popis diskova izgleda ovako:

Stanje: čisti aktivni uređaji: 2 radna uređaja: 2 neispravni uređaji: 0 rezervni uređaji: 0 

Dodavanje i uklanjanje diskova u RAID polju na Linuxu

Da biste analizirali prethodno stvoreni niz, morate ga isključiti:

# umount / sigurnosna kopija

I izvršite naredbu:

# mdadm -S / dev / md0

mdadm: zaustavljen / dev / md0

Nakon raščlanjivanja matrice, ne bi se trebao definirati kao uređaj:

# mdadm -S / dev / md0

mdadm: pogreška prilikom otvaranja / dev / md0: Nema takve datoteke ili mape

Da biste sastavili niz koji smo prethodno ručno analizirali, pokrenite naredbu:

# mdadm - skupiti -scan

Ova naredba će skenirati diskove s rastavljenog ili srušenog RAID polja i pokušati prikupiti RAID od njih pomoću metapodataka.

Ako trebate ukloniti radni disk iz arhive i zamijeniti ga drugim, prvo morate označiti radni disk kao neradni:

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

Tada se disk može izbrisati pomoću naredbe ::

# mdadm / dev / md0 --remove / dev / vdc

Dodaje se novi disk, kao što je slučaj s neradnim diskom:

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

Dodavanje Hot-Spare diska u RAID polje

Možete dodati u niz vruće rezervno pogon koji se može zamijeniti vrućom ako jedan od aktivnih pogona ne uspije. Dodajte besplatni disk željenom nizu:

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

Nakon provjere statusa raid polja, ovaj disk ćemo vidjeti kao rezervni:

Da provjerim je li "vruća zamjena " pogon, označite bilo koji od pogona neradnim i provjerite status polja za raid:

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

Zatim, prilikom provjere statusa matrice, vidjet će se da je obnova matrice započela:

disk / dev / vdb označen kao neradan, a vrući rezervni disk postao je jedan od aktivnih RAID diskova i započeo je postupak oporavka.

Da biste dodali dodatni radni disk u RAID, morate izvršiti dva koraka.

Dodajte prazan disk u niz:

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

Sada će se ovaj pogon prikazati kao vruće rezervno, da biste radili, proširite niz raida:

# mdadm -G / dev / md0 -raid-uređaji = 3

Tada će započeti proces obnove niza:

Nakon ponovne izgradnje svi su diskovi postali aktivni:

Broj Glavni Manji RaidDevice Stanje 3 253 32 0 aktivna sinkronizacija / dev / vdc 2 253 48 1 aktivna sinkronizacija / dev / vdd 4 253 16 2 aktivna sinkronizacija / dev / vdb 

Izbriši niz

Ako želite trajno izbrisati polje napada, upotrijebite sljedeću shemu:

# umount / sigurnosna kopija - isključite niz iz imenika

# mdadm -S / dev / md0 - zaustavite RAID uređaj

Nakon toga čistimo sve superblokove na diskovima sa kojih je sastavljen:

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

Mdmonitor: Nadgledanje RAID statusa i upozorenja putem e-pošte

Ovu uslugu možete koristiti za praćenje statusa RAID polja. mdmonitor. Prvo morate stvoriti datoteku /etc/mdadm.conf s konfiguracijom trenutnog niza:

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

Konfiguracijska datoteka mdadm.conf ne stvara se automatski. Mora se stvoriti i ažurirati ručno..

Na kraju /etc/mdadm.conf datoteke dodajte adresu e-pošte administratora na koju trebate poslati upozorenja o RAID problemima:

MAILADDR [email protected]

Prestao je ponovno pokretanje mdmonitor usluge putem systemctl:

# systemctl ponovno pokrenite mdmonitor

Nakon toga sustav će vas obavijestiti e-poštom o pogreškama u mdadm-u i neispravnim pogonima.

RAID niz neaktivan

U slučaju kvara opreme ili isključivanja u nuždi, niz se može prebaciti u stanje neaktivan. Svi pogoni su označeni kao neaktivni, ali na njima nema grešaka.

# mačka / proc / mdstat

Ličnosti: [linearno] [višestruko] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0: neaktivan vdc [1] vdb [0] 20954112 blokira super neiskorištene uređaje:  

U tom slučaju trebate zaustaviti niz naredbom:

# mdadm - stop / dev / md0

I obnovite ga:

# mdadm - skupiti --scan -force

Ako je niz registriran u / etc / fstab, morate ga ponovo sastaviti naredbom:

# montirati -a

Postoje načini za stvaranje softverskog RAID-a na već instaliranom OS-u. U ovom slučaju morat ćete kopirati tablice svih particija na novi disk i ručno premjestiti sadržaj sistemskog diska na RAID s jednog diska, očistiti prvi disk i dodati ga u RAID, a zatim popraviti initramfs i GRUB boot. Stoga je još bolje ako odaberete način rada, instalirate CentOS na softver RAID prilikom raspoređivanja poslužitelja.

korisnost mdadm pojednostavljuje rad s raid nizovima u Linuxu. U ovom sam članku opisao glavne točke rada s ovim uslužnim programom, a također sam se dotaknuo i najčešćih pitanja koja se javljaju kod rada racija-nizovi putem uslužnog programa mdadm.