DRBD seadistamine salvestusruumi replikatsiooniks kahes CentOS 7 serveris

Artikli tõlge valmis kursuse alguse eelõhtul Linuxi administraator. Virtualiseerimine ja klasterdamine».

DRBD (Distributed Replicated Block Device) on hajutatud, paindlik ja universaalselt paljundatav salvestuslahendus Linuxi jaoks. See kajastab plokkseadmete, nagu kõvakettad, partitsioonid, loogilised mahud jne, sisu. serverite vahel. See loob andmetest koopiad kahel salvestusseadmel, nii et kui üks neist ebaõnnestub, saab kasutada teise andmeid.

Võib öelda, et see on midagi sellist võrgu RAID konfiguratsioon 1 erinevate serveritega kaardistatud ketastega. See töötab aga täiesti teisiti kui RAID (isegi võrgu RAID).

Algselt kasutati DRBD-d peamiselt kõrge kättesaadavusega (HA) arvutiklastrites, kuid alates versioonist XNUMX saab seda kasutada pilvesalvestuslahenduste juurutamiseks.

Selles artiklis selgitame, kuidas installida DRBD-d CentOS-i, ja demonstreerime lühidalt, kuidas seda kasutada salvestusruumi (sektsiooni) replikatsiooniks kahe serveri vahel. See on ideaalne artikkel DRBD-ga Linuxis alustamiseks.

Testikeskkond

Selle seadistuse jaoks kasutame kahe sõlme klastrit.

  • Sõlm 1: 192.168.56.101 – tecmint.tecmint.lan
  • Sõlm 2: 192.168.56.102 – server1.tecmint.lan

1. samm: installige DRBD paketid

DRBD on rakendatud Linuxi kerneli moodulina. See on virtuaalse plokkseadme draiver, seega asub see süsteemi I/O-pinu allosas.

DRBD saab paigaldada ELRepo või EPEL-ist. Alustame ELRepo paketi allkirjastamisvõtme importimisest ja hoidla ühendamisest mõlemas sõlmes, nagu allpool näidatud.

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

Seejärel peate mõlemasse sõlme installima DRBD tuumamooduli ja utiliidid, kasutades:

# yum install -y kmod-drbd84 drbd84-utils

Kui teil on SELinux lubatud, peate konfigureerima poliitikad, et vabastada DRBD protsessid SELinuxi juhtimisest.

# semanage permissive -a drbd_t

Lisaks, kui teie süsteemis töötab tulemüür (tulemüür), peate lisama DRBD-pordi 7789, et võimaldada andmete sünkroonimist kahe sõlme vahel.

Käivitage need käsud esimese sõlme jaoks:

# firewall-cmd --permanent --add-rich-rule='rule family="ipv4"  source address="192.168.56.102" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload

Seejärel käivitage need käsud teise sõlme jaoks:

# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.101" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload

2. samm: valmistage ette madala tasemega salvestusruum

Nüüd, kui meil on mõlemasse klastri sõlme installitud DRBD, peame nendes varustama ligikaudu sama suurusega salvestusalasid. See võib olla kõvaketta partitsioon (või kogu füüsiline kõvaketas), tarkvara RAID-seade, LVM loogiline maht või mõni muu teie süsteemis leitud blokeerimisseade.

Selle artikli jaoks loome 2 GB testploki seadme, kasutades käsku dd.

# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024

Oletame, et see on kasutamata partitsioon (/dev/sdb1) teises plokkseadmes (/dev/sdb), mis on ühendatud mõlema sõlmega.

Samm 3. DRBD seadistamine

DRBD põhikonfiguratsioonifail − /etc/drbd.conf, ja täiendavad konfiguratsioonifailid leiate kataloogist /etc/drbd.d.

Salvestusruumi paljundamiseks peame failile lisama vajalikud konfiguratsioonid /etc/drbd.d/global_common.conf, mis sisaldab DRBD konfiguratsiooni globaalseid ja üldisi sektsioone ning me peame määratlema ressursid .res failid.

Teeme mõlemas sõlmes originaalfailist varukoopia ja avame seejärel redigeerimiseks uue faili (kasutage oma valitud tekstiredaktorit).

# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig
# vim /etc/drbd.d/global_common.conf 

Lisage mõlemale failile järgmised read:

global {
 usage-count  yes;
}
common {
 net {
  protocol C;
 }
}

Salvestage fail ja seejärel sulgege redaktor.

Vaatame korraks protokolli C rida. DRBD toetab kolme erinevat replikatsioonirežiimi (st kolme replikatsiooni sünkroonsuse astet), nimelt:

  • protokoll A: asünkroonse replikatsiooni protokoll; kasutatakse kõige sagedamini pikamaa replikatsiooni stsenaariumides.
  • protokoll B: poolsünkroonne replikatsiooniprotokoll või sünkroonse mäluprotokoll.
  • protokoll C: kasutatakse tavaliselt lühikeste vahemaadega võrkude sõlmede jaoks; see on DRBD seadetes kõige sagedamini kasutatav replikatsiooniprotokoll.

Oluline: Replikatsiooniprotokolli valik mõjutab kahte juurutustegurit: turvalisus ja latentsusaeg. Seevastu läbilaskevõime ei sõltu oluliselt valitud replikatsiooniprotokollist.

4. samm: lisage ressurss

Ressurss on katustermin, mis viitab konkreetse kopeeritud andmestiku kõikidele aspektidele. Määratleme failis oma ressursi /etc/drbd.d/test.res.

Lisage mõlema sõlme failile järgmine (pidage meeles, et muutujad asendage oma keskkonna tegelike väärtustega).

Pöörake tähelepanu hostinimedele, peame määrama võrgu hostinime, mille saab hankida käsu uname abil -n.

resource test {
        on tecmint.tecmint.lan {
 		device /dev/drbd0;
       		disk /dev/sdb1;
        		meta-disk internal;	
                	address 192.168.56.101:7789;
        }
        on server1.tecmint.lan  {
		device /dev/drbd0;
        		disk /dev/sdb1;
        		meta-disk internal;
                	address 192.168.56.102:7789;
        }
}
}

kus:

  • hostinime peal: jaotis, millele pesastatud konfiguratsioonilause kehtib.
  • test: see on uue ressursi nimi.
  • seade /dev/drbd0: näitab uut virtuaalset plokkseadet, mida haldab DRBD.
  • ketas /dev/sdb1: see on plokkseadme partitsioon, mis on DRBD-seadme varuseade.
  • meta-ketas: määrab, kuhu DRBD oma metaandmeid salvestab. Sisemine tähendab, et DRBD salvestab oma metaandmed samasse füüsilisesse madala tasemega seadmesse kui tegelikud andmed tootmises.
  • aadress: näitab vastava sõlme IP-aadressi ja pordi numbrit.

Pange tähele, et kui parameetritel on mõlemas hostis samad väärtused, saate need määrata otse ressursside jaotises.

Näiteks saab ülaltoodud konfiguratsiooni ümber struktureerida järgmiselt:

resource test {
	device /dev/drbd0;
	disk /dev/sdb1;
        	meta-disk internal;	
        	on tecmint.tecmint.lan {
 		address 192.168.56.101:7789;
        	}
        	on server1.tecmint.lan  {
		address 192.168.56.102:7789;
        		}
}

Samm 5. Initsialiseerige ja käivitage ressurss

DRBD-ga suhtlemiseks kasutame järgmisi haldustööriistu (mis toimivad tuumamooduliga DRBD-ressursside konfigureerimiseks ja haldamiseks):

  • drbdadm: DRBD kõrgetasemeline haldustööriist.
  • drbdsetup: madalama taseme haldustööriist DRBD-seadmete ühendamiseks nende varuseadmetega, DRBD-seadmete paaride konfigureerimiseks nende varuseadmete kajastamiseks ja töötavate DRBD-seadmete konfiguratsiooni kontrollimiseks.
  • Drbdmeta: metaandmete haldamise tööriist.

Pärast kõigi algsete ressursikonfiguratsioonide lisamist peame mõlemas sõlmes ressursi välja kutsuma.

# drbdadm create-md test

DRBD seadistamine salvestusruumi replikatsiooniks kahes CentOS 7 serveris
Metaandmete poe lähtestamine

Järgmisena peame selle käivitama, mis ühendab ressursi oma varuseadmega, seejärel määrab replikatsiooniparameetrid ja ühendab ressursi oma kaaslasega:

# drbdadm up test

Nüüd, kui käivitate käsu lsblk, märkate, et DRBD-seade/köide drbd0 on seotud varuseadmega /dev/sdb1:

# lsblk

DRBD seadistamine salvestusruumi replikatsiooniks kahes CentOS 7 serveris
Blokeerimisseadmete loend

Ressursi keelamiseks käivitage:

# drbdadm down test

Ressursi oleku kontrollimiseks käivitage järgmine käsk (pange tähele, et ketaste olek on sel hetkel oodatud Ebajärjekindel/ebajärjekindel):

# drbdadm status test
OR
# drbdsetup status test --verbose --statistics 	#for  a more detailed status

DRBD seadistamine salvestusruumi replikatsiooniks kahes CentOS 7 serveris
Ressursi oleku kontrollimine sisse lülitatud
kurjast

6. samm: määrake esmane ressurss / seadme algne sünkroonimisallikas

Selles etapis on DRBD kasutusvalmis. Nüüd peame täpsustama, millist sõlme tuleks seadme esialgse sünkroonimise allikana kasutada.

Esialgse täieliku sünkroonimise alustamiseks käivitage järgmine käsk ainult ühes sõlmes:

# drbdadm primary --force test
# drbdadm status test

DRBD seadistamine salvestusruumi replikatsiooniks kahes CentOS 7 serveris
Esmase sõlme määramine algseadmeks
Kui sünkroonimine on lõppenud, peaks mõlema draivi olek olema UpToDate.

7. samm: DRBD seadistuse testimine

Lõpuks peame kontrollima, kas DRBD-seade töötab kopeeritud andmete salvestamiseks vastavalt vajadusele. Pidage meeles, et kasutasime tühja ketta mahtu, seega peame seadmes looma failisüsteemi ja selle ühendama, et kontrollida, kas saame seda kasutada kopeeritud andmete salvestamiseks.

Peame seadmes looma failisüsteemi, kasutades järgmist käsku sõlmes, kus alustasime esialgset täielikku sünkroonimist (millel on esmase rolliga ressurss):

# mkfs -t ext4 /dev/drbd0

DRBD seadistamine salvestusruumi replikatsiooniks kahes CentOS 7 serveris
Failisüsteemi loomine Drbd-köitel

Seejärel paigaldage see nagu näidatud (saate anda kinnituspunktile sobiva nime):

# mkdir -p /mnt/DRDB_PRI/
# mount /dev/drbd0 /mnt/DRDB_PRI/

Nüüd kopeerige või looge mõned failid ülaltoodud ühenduspunktis ja tehke nendega pikk loend ls käsud:

# cd /mnt/DRDB_PRI/
# ls -l 

DRBD seadistamine salvestusruumi replikatsiooniks kahes CentOS 7 serveris
Loetlege peamise Drbd köite sisu

Järgmisena ühendage seade lahti (veenduge, et kinnitus pole avatud, muutke pärast lahtiühendamist kataloogi, et vältida tõrkeid) ja muutke sõlme roll esmasest sekundaarseks:

# umount /mnt/DRDB_PRI/
# cd
# drbdadm secondary test

Tehke teine ​​sõlm (millel on teisese rolliga ressurss) esmane, seejärel ühendage sellega seade ja koostage pikk ühenduspunktide loend. Kui häälestus töötab hästi, peaksid kõik helitugevusele salvestatud failid seal olema:

# drbdadm primary test
# mkdir -p /mnt/DRDB_SEC/
# mount /dev/drbd0 /mnt/DRDB_SEC/
# cd /mnt/DRDB_SEC/
# ls  -l 

DRBD seadistamine salvestusruumi replikatsiooniks kahes CentOS 7 serveris
Sekundaarses sõlmes töötava DRBD seadistuse kontrollimine.

Lisateabe saamiseks vaadake haldustööriistade abilehti:

# man drbdadm
# man drbdsetup
# man drbdmeta

FAQ: DRBD kasutusjuhend.

Kokkuvõte

DRBD on äärmiselt paindlik ja mitmekülgne, muutes selle salvestusruumi replikatsioonilahenduseks, mis sobib HA lisamiseks peaaegu igale rakendusele. Selles artiklis näitasime, kuidas installida DRBD operatsioonisüsteemi CentOS 7, ja lühidalt, kuidas seda kasutada salvestusruumi replikatsiooniks. Jagage meiega oma mõtteid, kasutades allolevat tagasisidevormi.

Lisateavet kursuse kohta.

Allikas: www.habr.com

Lisa kommentaar