Linux programska oprema RAID z uporabo mdadm

mdadm - pripomoček za delo s programsko opremo RAID-matrike v Linuxu. V članku bomo pogledali, kako delati s pripomočkom mdadm (več diskov admin) za ustvarjanje matrike, dodajanje diskov, upravljanje diskov, dodajanje vročih rezervnih in še veliko več koristnih informacij.

Vsebina:

  • Namestite pripomoček za upravljanje programske opreme RAID - mdadm
  • Ustvarjanje RAID z 2 diska
  • Ustvarjanje datotečnega sistema na RAID, montaža
  • Oglejte si stanje, preverite integriteto matrike RAID
  • Obnovitev RAID ob okvari, zamenjava diska
  • Dodajanje in odstranjevanje diskov v nizu RAID v Linuxu
  • Dodajanje vroče rezervnega diska v RAID matriko
  • Izbriši matriko
  • Mdmonitor: Spremljanje stanja RAID in opozoril e-pošte
  • Polje RAID je neaktivno

Namestite pripomoček za upravljanje programske opreme RAID - mdadm

Če želite namestiti pripomoček mdadm, zaženite ukazni namestitveni ukaz:

  • Za Centos / Red Hat se uporablja yum / dnf: yum namestite mdadm
  • Za Ubuntu / Debian: apt-get namestite mdadm

Kot rezultat, bo v sistem nameščen pripomoček mdadm in potrebne knjižnice:

Začetek transakcije Namestitev: libreport-datotečni sistem-2.1.11-43.el7.centos.x86_64 1/2 Namestitev: mdadm-4.1-1.el7.x86_64 2/2 Preverjanje: mdadm-4.1-1.el7.x86_64 1/2 Preverjanje: libreport-datotečni sistem-2.1.11-43.el7.centos.x86_64 2/2 Nameščeno: mdadm.x86_64 0: 4.1-1.el7 Namestitev odvisnosti: libreport-filesystem.x86_64 0: 2.1.11-43.el7. centos Popolni!

Ustvarjanje RAID z 2 diska

Na strežniku imam nameščena dva dodatna diska in želim znižati programsko ogledalo (RAID1). Diski so prazni, podatki niso bili zapisani vanje. Za začetek morate izničiti vse superbloke na diskih, ki jih bomo dodali v matriko RAID:

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

Jaz imam dva prazna diska vdb in vdc.

mdadm: Neprepoznana md komponentna naprava - / dev / vdb mdadm: Neprepoznana komponenta md - naprava / / dev / vdc

Ta seznam pomeni, da v matriko prej ni bil dodan noben pogon..

Za sestavljanje programske opreme RAID1 iz dveh diskov v napravi / dev / md0 uporabite ukaz:

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

Kje "-l 1"Je vrsta matrike, v našem primeru RAID1

A "-n 2"Ali je število diskov, ki so dodani v matriko.

Če želite ustvariti RAID0 v črtanem načinu, da povečate hitrost branja / pisanja podatkov s paralelizacijo ukazov med več fizičnimi diski, uporabite ukaz:

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

RAID 5 treh ali več pogonov:

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

Po zagonu ukaza morate potrditi dejanja in matrika bo ustvarjena:

Zdaj, ko gledamo podatke o disku, vidimo naš niz:

# lsblk

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

Ustvarjanje datotečnega sistema na RAID, montaža

Za ustvarjanje datotečnega sistema ext4 v naši matriki RAID1 dveh diskov uporabite ukaz:

# mkfs.ext4 / dev / md0

Ustvarite mapo z varnostnimi kopijami in nanjo namestite napravo RAID:

# mkdir / varnostna kopija
# mount / dev / md0 / varnostna kopija /

# df -h

Uporabljena velikost datotečnega sistema% Na voljo v 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% / škorenj tmpfs 100M 0 100M 0% / run / uporabnik / 0 / dev / md0 20G 45M 19G 1% / varnostno kopiranje 

Niz je bil nameščen brez napak. Da ne bi vsakič ročno montirali naprave, bomo naredili spremembe fstab:

# nano / etc / fstab

/ dev / md0 / backup ext4 privzete vrednosti 1 2

Oglejte si stanje, preverite integriteto matrike RAID

Če želite preveriti celovitost podatkov v matriki, uporabite ukaz:

#echo 'check'> / sys / block / md0 / md / sync washing

Po tem morate pogledati izhod datoteke:

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

Če kot rezultat dobite 0, potem je z vašim poljem vse v redu:

Če želite ustaviti preverjanje veljavnosti, uporabite ukaz:

#echo 'mirovanje'> / sys / block / md0 / md / sync washing

Če želite preveriti stanje vseh RAID nizov, ki so na voljo na strežniku, uporabite ukaz:

# mačka / proc / mdstat

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

V seznamu skupin vidimo podatke o našem predhodno ustvarjenem napadu.

Če želite več informacij o določenem nizu raid, glejte ukaz:

# mdadm -D / dev / md0

Analizirajmo glavne točke seznama skupin:

  • Različica - različica metapodatkov;
  • Čas ustvarjanja - datum in čas ustvarjanja polja raid;
  • Raid Level - raven matrike raida;
  • Array Size - prostor na disku za raid matriko;
  • Rabljena velikost Dev - uporabljena glasnost za naprave;
  • Raid Device - število diskov v raid nizu;
  • Skupne naprave - število diskov, dodanih v raid polje;
  • Stanje - trenutno stanje (čisto - vse je v redu);
  • Aktivne naprave - število aktivnih diskov v raid nizu;
  • Working Devises - število delovnih diskov v raid matriki;
  • Neuspele naprave - število naprav z okvarami v nizu raidov;
  • Rezervne naprave - število rezervnih diskov v raidnem polju;
  • Politika skladnosti - parameter, ki določa vrsto sinhronizacije po okvari v nizu raid, rsync - popolna sinhronizacija po obnovitvi raid matrike (na voljo so bitna slika, dnevniki, ppl načini);
  • UUID - identifikator matrike raid

Kratke informacije si lahko ogledate s pripomočkom fdisk:

# fdisk -l / dev / md0

Disk / dev / md0: 21,5 GB, 21457010688 bajtov, 41908224 sektorji Enote = sektorji 1 * 512 = 512 bajtov Velikost sektorja (logično / fizično): 512 bajtov / 512 bajtov V / I velikost (minimalno / optimalno): 512 bajtov / 512 bajtov

Obnovitev RAID ob okvari, zamenjava diska

Če niste uspeli ali poškodovali enega od pogonov v matriki RAID, ga lahko zamenjate z drugim. Najprej ugotovimo, ali je disk poškodovan in kateri disk naj spremenimo..

# mačka / proc / mdstat

Osebnosti: [raid1] md0: aktivni raid1 vdb [0] 20954112 blokira super 1.2 [2/1] [U_] 

Iz ukaza za seznam vidite, da je aktiven samo en pogon. Govori tudi o težavi [U_]. Ko oba pogona delujeta, bo izhod [UU].

Podrobne informacije o RAID kažejo tudi, da obstajajo težave:

# mdadm -D / dev / md0

/ dev / md0: Različica: 1.2 Čas ustvarjanja: nedelja, 29. oktober 12.39.22 Raven raida: raid1 Velikost matrike: 20954112 (19,98 GiB 21,46 GB) Uporabljena velikost Dev: 20954112 (19,98 GiB 21,46 GB) Raid Devices: 2 Skupaj Naprave: 2 Obstojnost: Superblock je obstojen Čas posodobitve: nedelja, 29. oktober 14:41:13 2019 Stanje: čiste, degradirane Aktivne naprave: 1 Delovne naprave: 1 Napačne naprave: 1 

Stanje: čisto, razkrojeno - ta vrstica označuje, da je disk v raid matriki poškodovan.

V našem primeru moramo zamenjati neuspeli disk / dev / vdc. Če želite obnoviti matriko, morate odstraniti nedejavni disk in dodati novega.

Odstranjevanje neozvočenega diska:

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

V matriko dodajte nov disk:

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

Obnovitev diska se bo samodejno začela po dodajanju novega diska:

# mdadm -D / dev / md0

/ dev / md0: Različica: 1.2 Čas ustvarjanja: nedelja, 29. oktober 12.39.22 Raven raida: raid1 Velikost matrike: 20954112 (19,98 GiB 21,46 GB) Uporabljena velikost Dev: 20954112 (19,98 GiB 21,46 GB) Raid Devices: 2 Skupaj Naprave: 2 obstojnost: Superblock je obstojen Čas posodobitve: nedelja, 29. oktober 14:50:20 2019 Stanje: čisto, razkrojeno, obnovljeno Aktivne naprave: 1 Delovne naprave: 2 Neuspele naprave: 0 Rezervne naprave: 1 Politika skladnosti: Ponovno sinhronizirajte Obnovi Stanje: 69% popolno Ime: server.vpn.rucript (lokalno do strežnika gostitelja.vpn.ru) UUID: 9d59b1fb: 7b0a7b6d: 15a75459: 8b1637a2 Dogodki: 42 Število glavnih manjših RaidDevice stanje 0 253 16 0 aktivna sinhronizacija / dev / vdb 2 253 48 1 rezervna obnova / dev / vdd 

obnoviti stanje: 69% dokončano - prikazuje trenutno stanje obnovitve matrike.

rezervna obnova / dev / vdd - prikazuje, kateri disk je dodan matriki.

Po obnovitvi matrike je seznam diskov videti tako:

Stanje: čiste aktivne naprave: 2 delovni napravi: 2 napačne naprave: 0 rezervne naprave: 0 

Dodajanje in odstranjevanje diskov v nizu RAID v Linuxu

Če želite razčleniti predhodno ustvarjen niz, ga morate izklopiti:

# umount / varnostna kopija

In izvedite ukaz:

# mdadm -S / dev / md0

mdadm: ustavljeno / dev / md0

Po razčlenjevanju matrike je ni treba opredeliti kot napravo:

# mdadm -S / dev / md0

mdadm: napaka pri odpiranju / dev / md0: te datoteke ali mape ni

Če želite sestaviti matriko, ki smo jo predhodno ročno razčlenili, zaženite ukaz:

# mdadm - sestavite -scan

Ta ukaz bo skeniral diske z razstavljenega ali strnjenega niza RAID in poskušal zbrati RAID z njih z uporabo metapodatkov.

Če morate delovni disk odstraniti iz matrike in ga zamenjati z drugim, morate najprej delovni disk označiti kot neraden:

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

Nato je disk mogoče izbrisati z ukazom ::

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

Doda se nov disk, kot je to primer z nedelujočim diskom:

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

Dodajanje vroče rezervnega diska v RAID matriko

Lahko dodate v matriko vroče rezervne pogon, ki ga je mogoče zamenjati z vročo, če eden od aktivnih pogonov ne uspe. Dodajte brezplačen disk na želeni niz:

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

Po preverjanju stanja raid matrike bomo ta disk videli kot rezervnega:

Če želite preveriti, ali "vroča menjava " pogon, označite katerega od pogonov kot nedelujočega in preverite stanje matrike raid:

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

Nato bo pri preverjanju stanja matrike vidno, da se je obnova matrike začela:

Vozite / dev / vdb označeno kot neradni, vroči rezervni disk pa je postal eden izmed aktivnih diskov RAID in postopek obnovitve se je začel.

Če želite dodati dodaten delovni disk v RAID, morate izvesti dva koraka.

V matriko dodajte prazen disk:

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

Zdaj bo ta pogon prikazan kot vroče rezervne, da bi delovala, razširite polje raid:

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

Nato se bo začel postopek obnove matrike:

Po ponovni izdelavi so vsi diski postali aktivni:

Število Glavni manjši RaidDevice stanje 3 253 32 0 aktivna sinhronizacija / dev / vdc 2 253 48 1 aktivna sinhronizacija / dev / vdd 4 253 16 2 aktivna sinhronizacija / dev / vdb 

Izbriši matriko

Če želite trajno izbrisati niz raid, uporabite naslednjo shemo:

# umount / varnostna kopija - odklopite matriko iz imenika

# mdadm -S / dev / md0 - ustavite napravo RAID

Po tem počistimo vse superbloke na diskih, s katerih je bil sestavljen:

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

Mdmonitor: Spremljanje stanja RAID in opozoril e-pošte

Storitev lahko uporabite za spremljanje stanja matrike RAID. mdmonitor. Najprej morate ustvariti datoteko /etc/mdadm.conf s konfiguracijo trenutnega niza:

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

Konfiguracijska datoteka mdadm.conf se ne ustvari samodejno. Ustvariti ga je treba in posodobiti ročno..

Na koncu datoteke /etc/mdadm.conf dodajte e-poštni naslov skrbnika, ki mu morate poslati opozorila o težavah z RAID:

MAILADDR [email protected]

Prenehala je znova zagnati storitev mdmonitor prek systemctl:

# systemctl znova zaženite mdmonitor

Po tem vas bo sistem po e-pošti obvestil o napakah v mdadm in okvarjenih pogonih.

Polje RAID je neaktivno

V primeru okvare opreme ali izrednega izklopa elektrike lahko niz preide v stanje neaktiven. Vsi pogoni so označeni kot neaktivni, vendar na pogonih ni napak.

# mačka / proc / mdstat

Osebnosti: [linearno] [več poti] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0: neaktivni vdc [1] vdb [0] 20954112 blokira super neuporabljene naprave:  

V tem primeru morate matriko ustaviti z ukazom:

# mdadm - stop / dev / md0

In ga obnovite:

# mdadm --sestavljamo --scan -force

Če je matrika registrirana v / etc / fstab, jo morate ponovno sestaviti z ukazom:

# mount -a

Obstajajo načini za ustvarjanje programske opreme RAID v že nameščenem operacijskem sistemu. V tem primeru boste morali ročno kopirati tabele vseh particij na nov disk in ročno premakniti vsebino sistemskega diska na RAID z enega diska, očistiti prvi disk in ga dodati v RAID, nato popraviti initramfs in zagon GRUB. Zato je še vedno bolje, če izberete način, pri nameščanju strežnika namestite CentOS na programsko opremo RAID.

Uporabnost mdadm poenostavlja delo z raid nizi v Linuxu. V tem članku sem opisal glavne točke dela s tem pripomočkom in se dotaknil tudi najpogostejših vprašanj, ki se pojavljajo pri delu racija-matrike skozi pripomoček mdadm.