Konfigurimi i DRBD për replikimin e ruajtjes në dy servera CentOS 7

Përkthimi i artikullit është përgatitur para fillimit të kursit «Administratori Linux. Virtualizimi dhe klasterizimi».

DRBD (Distribute Replicated Block Device — Dispozitiv i Replikuar tĂ« RrĂ«mbyer) Ă«shtĂ« njĂ« zgjidhje e shpĂ«rndarĂ«, e fleksibĂ«l dhe universale e ruajtjes sĂ« tĂ« dhĂ«nave pĂ«r Linux. Ajo pasqyron pĂ«rmbajtjen e pajisjeve bllok, siç janĂ« hard disqet, pjesĂ«t, volumin logjik etj., midis serverĂ«ve. Krijon kopje tĂ« tĂ« dhĂ«nave nĂ« dy pajisje ruajtĂ«se pĂ«r t'u thirrur nĂ« rast çarje tĂ« njĂ«rĂ«s prej tyre duke pĂ«rdorur tĂ« dhĂ«nat nĂ« serverin e dytĂ«.

Mund të thuhet se është diçka e ngjashme me konfigurimin në rrjet RAID 1 me disqe të pasqyrosur në serverë të ndryshëm. Megjithatë funksionon krejt ndryshe nga RAID (edhe në rrjet).

Fillimisht, DRBD Ă«shtĂ« pĂ«rdorur kryesisht nĂ« klasterĂ«t kompjuterikĂ« me disponueshmĂ«ri tĂ« lartĂ« (HA — high availability), por qĂ« nga versioni nĂ«ntĂ«, mund tĂ« pĂ«rdoret pĂ«r zhvillimin e zgjidhjeve tĂ« ruajtjes nĂ« re.

Në këtë artikull ne do të tregojmë si të instaloni DRBD në CentOS, dhe do të demonstrojmë shkurtimisht si ta përdorni për replikimin e ruajtjes (pjesës) në dy serverë. Ky është artikulli ideal për të filluar punën me DRBD në Linux.

Mjedisi i testimit

Ne do të përdorim një klaster me dy nyje për këtë konfigurim.

  • Nyja 1: 192.168.56.101 – tecmint.tecmint.lan
  • Nyja 2: 192.168.56.102 – server1.tecmint.lan

Hapi 1: Instalimi i pakove DRBD

DRBD është implementuar si një modul i bërthamës së Linux. Ajo është një drejtues i pajisjes bllok virtuale, prandaj ndodhet në fund të shtresës së input-output të sistemit.

DRBD mund të instalohet nga ELRepo ose EPEL. Le të fillojmë me importimin e çelësit të nënshkrimit të paketës ELRepo dhe lidhjen e depozitës në të dy nyjet, siç tregohet më poshtë.

# 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

Pastaj në duhet të instaloni modul të bërthamës DRBD dhe utilitetet në të dy nyjet me komandën:

# yum install -y kmod-drbd84 drbd84-utils

Nëse keni SELinux të aktivizuar, duhet të konfiguroheni politikat për të çliruar proceset DRBD nga kontrolli i SELinux.

# semanage permissive -a drbd_t

Për më tepër, nëse sistemi juaj ka një Firewall (firewalld) aktiv, duhet të shtoni portin DRBD 7789 për të lejuar sinkronizimin e të dhënave midis dy nyjeve.

Ekzekutoni këto komanda për nyjën e parë:

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

Pastaj ekzekutoni këto komanda për nyjën e dytë:

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

Hapi 2. Përgatitja e ruajtjes në nivel të ulët

Tani, kur kemi instaluar DRBD në të dy nyjet e klasterit, duhet të përgatitim në to hapësirat e ruajtjes me një madhësi të ngjashme. Kjo mund të jetë një pjesë e hard diskut (ose një hard disk fizik i plotë), një pajisje RAID software, volume logjik LVM ose cilido tjetër lloj pajisjeje bllok, që ndodhet në sistemin tuaj.

Për këtë artikull, ne do të krijojmë një pajisje bllok provuese me madhësi 2 GB duke përdorur komandën dd.

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

Supozoni se kjo është një pjesë e papërdorur (/dev/sdb1) në pajisjen e dytë të bllokut (/dev/sdb), e cila është lidhur me të dy nodet.

Hapi 3. Konfigurimi i DRBD

Skedari kryesor i konfigurimit të DRBD është /etc/drbd.conf, dhe skedarët e tjerë të konfigurimit mund të gjehen në katalogun /etc/drbd.d.

Për të rikopjuar magazinën, na nevojitet të shtojmë konfigurimet e nevojshme në skedarin /etc/drbd.d/global_common.conf, i cili përmban seksione globale dhe të përbashkëta të konfigurimit të DRBD, dhe duhet të përcaktojmë burimet në .res skedarët.

Le t'i bëjmë një kopje rezervë skedarit origjinal në të dy nodet dhe pastaj të hapim një skedar të ri për redaktim (përdorni editorin e tekstit sipas dëshirës tuaj).

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

Shtoni në të dy skedarët rreshtat e mëposhtme:

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

Ruani skedarin dhe pastaj mbyllni editorin.

Le të ndalemi për një moment te rreshti protocol C. DRBD mbështet tre mënyra të ndryshme rikopjimi (dmth. tri nivele sinkronizimi rikopjimi), të cilat janë:

  • protocol A: protokolli i rikopjimit asinkron; zakonisht pĂ«rdoret nĂ« skenarĂ«t e rikopjimit me distanca tĂ« mĂ«dha.
  • protocol B: protokolli i rikopjimit polusinkron ose protokolli i sinkronizimit tĂ« memories.
  • protocol C: zakonisht pĂ«rdoret pĂ«r nodet nĂ« rrjetet me distanca tĂ« vogla; ky Ă«shtĂ« ndoshta protokolli mĂ« i pĂ«rdorur i rikopjimit nĂ« skenat DRBD.

ËhtĂ« e rĂ«ndĂ«sishme: zgjedhja e protokollit tĂ« rikopjimit ndikon nĂ« dy faktorĂ« tĂ« implementimit: mbrojtja dhe vonesa. NdĂ«rsa kapaciteti, nga ana tjetĂ«r, nuk varet ndjeshĂ«m nga protokolli i rikopjimit tĂ« zgjedhur.

Hapi 4. Shtimi i burimit

Burimi (Resource) është një term përmbledhës që i referohet të gjitha aspekteve të një grumbulli të dhënash të rikopjuar konkret. Ne do të përcaktojmë burimin tonë në skedarin /etc/drbd.d/test.res.

Shtoni të following në skedarin në të dy nodet (mos harro të zëvendësosh variablat me vlerat faktike për ambientin tuaj).

Kujdesi për emrat e hosteve, na nevojitet të specifikojmë emrin e hostit që mund të merret me komandën uname. -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;
        }
}
}

ku:

  • nĂ« emrin e hostit: seksioni qĂ« i pĂ«rket operatorit tĂ« brendshĂ«m tĂ« konfigurimit.
  • test: ky Ă«shtĂ« emri i burimit tĂ« ri.
  • device /dev/drbd0: tregon njĂ« pajisje tĂ« re virtuale blloku, e menaxhuar nga DRBD.
  • disk /dev/sdb1: ky Ă«shtĂ« njĂ« seksion i pajisjes blloku, i cili Ă«shtĂ« njĂ« pajisje rezervĂ« pĂ«r pajisjen DRBD.
  • meta-disk: pĂ«rcakton se ku DRBD ruan metadatĂ«n e tij. Internal do tĂ« thotĂ« qĂ« DRBD i ruan metadatĂ«t nĂ« tĂ« njĂ«jtin pajisje fizike tĂ« ulĂ«t si tĂ« dhĂ«nat reale nĂ« prodhim.
  • address: tregon adresĂ«n IP dhe numrin e portit pĂ«r nodin pĂ«rkatĂ«s.

Vini re gjithashtu se nĂ«se tĂ« dy hostet kanĂ« tĂ« njĂ«jtat parametra, mund t’i specifikoni ato drejtpĂ«rdrejt nĂ« seksionin e burimeve.

Për shembull, konfigurimi i mësipërm mund të ristrukturohet në:

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;
        		}
}

Hapi 5. Inicimi dhe fillimi i burimit

PĂ«r t’u lidhur me DRBD, do tĂ« pĂ«rdorim mjetet e administratĂ«s tĂ« mĂ«poshtme (tĂ« cilat ndĂ«rveprojnĂ« me modulĂ«t e bĂ«rthamĂ«s pĂ«r tĂ« konfiguruar dhe administrojĂ« burimet DRBD):

  • drbdadm: mjeti i administratĂ«s sĂ« nivelit tĂ« lartĂ« pĂ«r DRBD.
  • drbdsetup: mjeti i administratĂ«s sĂ« nivelit tĂ« ulĂ«t pĂ«r lidhjen e pajisjeve DRBD me pajisjet e tyre rezervĂ«, pĂ«r tĂ« konfiguruar çiftet e pajisjeve DRBD pĂ«r tĂ« pasqyruar pajisjet e tyre rezervĂ« dhe pĂ«r tĂ« verifikuar konfigurimin e pajisjeve DRBD nĂ« funksion.
  • Drbdmeta: mjeti pĂ«r menaxhimin e metadatave.

Pasi të kemi shtuar konfigurimet fillestare të burimeve, ne duhet të thërrasim burimin në të dy nodet.

# drbdadm create-md test

Konfigurimi i DRBD për replikimin e ruajtjes në dy servera CentOS 7
Inicimi i magazinës së metadatat.

Pastaj ne duhet ta fillojmë atë, që do të lidhet me burimin e tij rezervë, pastaj të vendosë parametrat e replikimit dhe të lidhet me partnerin e tij:

# drbdadm up test

Tani, nëse ekzekutoni komandën lsblk, do të vini re se pajisja/volumi DRBD drbd0 është lidhur me pajisjen rezervë. /dev/sdb1:

# lsblk

Konfigurimi i DRBD për replikimin e ruajtjes në dy servera CentOS 7
Lista e pajisjeve blloku

Për të çaktivizuar burimin, ekzekutoni:

# drbdadm down test

Për të kontrolluar gjendjen e burimit, ekzekutoni komandën e mëposhtme (mbani parasysh se në këtë fazë pritet gjendja e diskëve Inconsistent/Inconsistent):

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

Konfigurimi i DRBD për replikimin e ruajtjes në dy servera CentOS 7
Kontrollimi i gjendjes së burimit në
nodet

Hapi 6: Vendosja e burimit kryesor/faqja e sinkronizimit fillestar të pajisjeve

Në këtë etapë, DRBD është gati për t'u përdorur. Tani, na nevojitet të tregojmë se cili nod duhet të përdoret si burim për sinkronizimin fillestar të pajisjeve.

Ekzekutoni komandën në vazhdim vetëm në një nod për të filluar sinkronizimin fillestar të plotë:

# drbdadm primary --force test
# drbdadm status test

Konfigurimi i DRBD për replikimin e ruajtjes në dy servera CentOS 7
Caktimi i nodit kryesor si pajisja fillestare
Pas përfundimit të sinkronizimit, gjendja e të dy disqeve duhet të jetë UpToDate.

Hapi 7: Testimi i konfigurimit të DRBD

Më në fund, duhet të verifikojmë nëse pajisja DRBD funksionon siç duhet për ruajtjen e të dhënave të riplikuar. Mbani mend se ne kemi përdorur një volum bosh disku, prandaj duhet të krijojmë një sistem skedarësh në pajisje dhe ta montojmë atë për të kontrolluar nëse mund ta përdorim për ruajtjen e të dhënave të riplikuara.

Na nevojitet të krijojmë një sistem skedarësh në pajisje duke përdorur komandën në vazhdim në nodin nga e cila filluam sinkronizimin fillestar të plotë (ku ka burim me rolin kryesor):

# mkfs -t ext4 /dev/drbd0

Konfigurimi i DRBD për replikimin e ruajtjes në dy servera CentOS 7
Krijimi i një sistemi skedarësh në volumin Drbd

Pastaj, montoni atë siç tregojnë (mund t'i jepni pikës së montimit një emër të përshtatshëm):

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

Tani kopjoni ose krijoni disa skedarë në pikën e montimit të përmendur më lart dhe bëni një listë të gjatë duke përdorur komandën ls:

# cd /mnt/DRDB_PRI/
# ls -l 

Konfigurimi i DRBD për replikimin e ruajtjes në dy servera CentOS 7
Shfaqni listën e përmbajtjes së volumin kryesor Drbd

Më pas, çmontoni pajisjen (sigurohuni që montimi të mos jetë i hapur, ndryshoni bibliotekën pas çmontimit për të shmangur gabime) dhe ndryshoni rolin e nodit nga kryesor në dytësor:

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

Bëni nodin tjetër (ku ka burim me rol dytësor) kryesor, pastaj lidheni me pajisjen dhe ekzekutoni një listë të gjatë të pikave të montimit. Nëse konfigurimi funksionon siç duhet, të gjitha skedarët e ruajtur në volum duhet të jenë aty:

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

Konfigurimi i DRBD për replikimin e ruajtjes në dy servera CentOS 7
Verifikimi i konfigurimit të DRBD që funksionon në nodin dytësor.

Për më shumë informacion, referojuni faqeve të ndihmës të mjeteve të administratës:

# man drbdadm
# man drbdsetup
# man drbdmeta

Konsultim: Udhëzuesi i përdoruesit DRBD.

CV

DRBD është jashtëzakonisht fleksibël dhe universale, duke e bërë atë një zgjidhje për replikimin e magazinës që është e përshtatshme për të shtuar HA në pothuajse çdo aplikacion. Në këtë artikull ne treguam se si të instaloni DRBD në CentOS 7 dhe demonstruam shkurtimisht se si ta përdorni atë për replikimin e magazinës. Mos hezitoni të ndani mendimet tuaja me ne përmes formularit të feedback-ut më poshtë.

Mëso më shumë për kursin.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster