Konfigurojmë DRBD për replikimin e magazinës në dy servera CentOS 7

Përkthimi i artikullit është përgatitur në prag të fillimit të kursit «Administrator Linux. Virtualizimi dhe klasterizimi».

DRBD (Distributed Replicated Block Device — Dispositiv i Replikuar i Blloqeve tĂ« Distribuara) Ă«shtĂ« njĂ« zgjidhje e shpĂ«rndarĂ«, fleksibĂ«l dhe universal qĂ« ofron ruajtje tĂ« dhĂ«nash pĂ«r Linux. Ajo pasqyron pĂ«rmbajtjen e pajisjeve tĂ« blloqeve, siç janĂ« disqet e fortĂ«, pjesĂ«t, dhe volumet logjike etj. midis serverĂ«ve. Krijon kopje tĂ« tĂ« dhĂ«nave nĂ« dy pajisje ruajtjeje qĂ«, nĂ« rast tĂ« njĂ« defekti tĂ« ndonjĂ« prej tyre, mund tĂ« pĂ«rdoren tĂ« dhĂ«nat nĂ« tĂ« dytin.

Mund të thuhet se është diçka si konfigurimi rrjetor RAID 1 me disqe të pasqyruara në serverë të ndryshëm. Megjithatë, ajo nuk funksionon fare si RAID (edhe si rrjetor).

Fillimisht, DRBD pĂ«rdorej kryesisht nĂ« grupe kompjuterike me disponueshmĂ«ri tĂ« lartĂ« (HA — high availability), megjithatĂ«, qĂ« nga versioni i nĂ«ntĂ«, ajo mund tĂ« pĂ«rdoret pĂ«r implementimin e zgjidhjeve tĂ« ruajtjes nĂ« cloud.

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

Mjedisi i testimit

Do të përdorim një grup prej dy nyjash 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 pakot DRBD

DRBD implementohet si një modul kernel i Linux-it. Ajo përbën një drejtues për pajisjen virtuale të bllokut, prandaj ndodhet në pjesën më të ulët të stack-ut të 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 repository-t në të dy nyjat, 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 duhet të instaloni modulin e kernelit DRBD dhe utilitarët në të dy nyjat duke përdorur:

# yum install -y kmod-drbd84 drbd84-utils

Nëse keni aktivizuar SELinux, duhet të konfigurosh politikat kështu që proceset e DRBD të jenë jashtë kontrollit të SELinux.

# semanage permissive -a drbd_t

Përveç kësaj, nëse në sistemin tuaj funksionon një firewall (firewalld), duhet të shtoni portin DRBD 7789 për të lejuar sinkronizimin e të dhënave midis dy nyjave.

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

Më pas 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 nyjat e grupit, duhet të përgatisim për ta hapësirat e ruajtjes me një madhësi të ngjashme. Kjo mund të jetë një pjesë disku të fortë (ose një disk të fortë fizik), një pajisje RAID programore, një volum logjik LVM apo çdo lloj tjetër pajisjeje blloku që ndodhet në sistemin tuaj.

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

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

Supozoni se ky është një pjesë e pavendosur (/dev/sdb1) në pajisjen e dytë blloku (/dev/sdb), e lidhur me të dy nyjat.

Hapi 3. Konfigurimi i DRBD

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

Për të replikuar ruajtjen, duhet të shtojmë konfigurimet e nevojshme në skedarin /etc/drbd.d/global_common.conf, i cili përmban seksionet globale dhe të zakonshme të konfigurimit të DRBD, dhe duhet të përcaktojmë burimet në .res skedarët.

Le të bëjmë një kopje rezervë të skedarit origjinal në të dy nyjat, dhe pastaj të hapim një skedar të ri për editim (përdorni një redaktues teksti 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 redaktorin.

Le të ndalemi pak në rreshtin protocol C. DRBD mbështet tre mënyra të ndryshme replikimi (dmth. tri nivele të sinkronizimit të replikimit), përkatësisht:

  • protocol A: Protokolli i replikimit asinkron; pĂ«rdoret mĂ« shpesh nĂ« skenarĂ«t e replikimit nĂ« distanca tĂ« mĂ«dha.
  • protocol B: Protokolli i replikimit gjysmĂ«-sinkron ose protokolli i sinkronizimit nĂ« memorie.
  • protocol C: zakonisht pĂ«rdoret pĂ«r nyjat nĂ« rrjete me distanca tĂ« vogla; Ă«shtĂ« padyshim protokolli mĂ« i pĂ«rdorur i replikimit nĂ« konfigurimet DRBD.

E rëndësishme: Zgjedhja e protokollit të replikimit ndikon në dy faktorë të implementimit: mbrojtja dhe vonesa. Ndërsa kapaciteti, përkundrazi, nuk varet në masë të madhe nga protokolli i zgjedhur të replikimit.

Hapi 4. Shtimi i burimit

Burimi (Resource) është një term i përgjithshëm që i referohet të gjitha aspekteve të një grupi të dhënash të veçanta të replikueshme. Ne do ta përcaktojmë burimin tonë në skedarin /etc/drbd.d/test.res.

Shtoni të parën në skedar në të dy nyjat (mos harroni të zëvendësoni variablat me vlerat reale për mjedisin tuaj).

Kujdesuni për emrat e hosteve, na nevojitet të specifikojmë emrin e rrjetit të hostit që mund të marrim 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:

  • on hostname: seksioni nĂ« tĂ« cilin lidhet operatori i konfigurimit tĂ« ndĂ«rlikuar.
  • test: ky Ă«shtĂ« emri i burimit tĂ« ri.
  • device /dev/drbd0: tregon njĂ« pajisje virtuale bllok, e menaxhuar nga DRBD.
  • disk /dev/sdb1: ky Ă«shtĂ« seksioni i pajisjes bllok, i cili Ă«shtĂ« pajisje rezervĂ« pĂ«r pajisjen DRBD.
  • meta-disk: pĂ«rcakton se ku DRBD ruan metadatĂ«n e tij. Internal do tĂ« thotĂ« se DRBD ruan metadatĂ«n e tij nĂ« tĂ« njĂ«jtin pajisje fizike me tĂ« dhĂ«nat reale nĂ« prodhim.
  • adresĂ«: tregon adresĂ«n IP dhe numrin e portĂ«s sĂ« nodit pĂ«rkatĂ«s.

Kujdesuni gjithashtu që, nëse të dy hostet kanë parametra të njëjtë, mund t'i specifikoni ato drejtpërsëdrejti 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. Inizializimi dhe startimi i burimit

Për të komunikuar me DRBD, do të përdorim mjetet e administratës të mëposhtme (të cilat ndërveprojnë me modulin e bërthamës për konfigurimin dhe administrimin e burimeve DRBD):

  • drbdadm: mjeti i administratĂ«s pĂ«r nivel tĂ« lartĂ« tĂ« DRBD.
  • drbdsetup: mjeti i administratĂ«s pĂ«r nivel mĂ« 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Ă« reflektuar pajisjet e tyre rezervĂ« dhe pĂ«r tĂ« kontrolluar konfigurimin e pajisjeve DRBD qĂ« funksionojnĂ«.
  • Drbdmeta: mjeti pĂ«r menaxhimin e metadatave.

Pas shtimit të të gjitha konfigurimeve fillestare të burimit, ne duhet të thërrasim burimin në të dy nodet.

# drbdadm create-md test

Konfigurojmë DRBD për replikimin e magazinës në dy servera CentOS 7
Inizializimi i depozitës së metadatave

Pastaj duhet ta aktivizojmë atë, që do të lidhë burimin me pajisjen e tij rezervë, pastaj do të vendosë parametrat e replikimit dhe do ta lidhi burimin me peer-in e tij:

# drbdadm up test

Tani, nëse e çoni komandën lsblk, do të vini re se pajisja/tomi DRBD drbd0 është lidhur me pajisjen rezervë /dev/sdb1:

# lsblk

Konfigurojmë DRBD për replikimin e magazinës në dy servera CentOS 7
Lista e pajisjeve bllok

Për të shkëputur burimin, shkruani:

# drbdadm down test

Për të kontrolluar gjendjen e burimit, çoni komandën e mëposhtme (kini parasysh se në këtë fazë pritet gjendja e disiplinave Inconsistent/Inconsistent):

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

Konfigurojmë DRBD për replikimin e magazinës në dy servera CentOS 7
Kontrolli i gjendjes së burimit në nodet
Hapi 6: Vendosja e burimit kryesor/burimit të sinkronizimit fillestar të pajisjeve

Në këtë pikë, DRBD është gati për t'u përdorur. Tani na nevojitet të specifikojmë se cila nod duhet të përdoret si burim i sinkronizimit fillestar të pajisjeve.

Çoni komandĂ«n e mĂ«poshtme vetĂ«m nĂ« njĂ« nod pĂ«r tĂ« filluar sinkronizimin e plotĂ« fillestar:

Vendosja e nodit kryesor si pajisje fillestare

# drbdadm primary --force test
# drbdadm status test

Konfigurojmë DRBD për replikimin e magazinës në dy servera CentOS 7
Pas përfundimit të sinkronizimit, gjendja e të dy disiplinave duhet të jetë UpToDate.
Hapi 7: Testimi i konfigurimit DRBD

Në fund, na nevojitet të kontrollojmë nëse pajisja DRBD do të funksionojë siç duhet për ruajtjen e të dhënave të replikueshme. Mbani mend se ne përdorëm një tom bosh disku, kështu që duhet të krijojmë një sistem skedari në pajisje dhe ta montojmë atë për të verifikuar nëse mund ta përdorim për ruajtjen e të dhënave të replikueshme.

Na nevojitet të krijojmë një sistem skedari në pajisje me komandën e mëposhtme në nodin me të cilin filluam sinkronizimin fillestar të plotë (ku ka burim me rolin kryesor):

Krijimi i një sistemi skedari në tomin Drbd

# mkfs -t ext4 /dev/drbd0

Konfigurojmë DRBD për replikimin e magazinës në dy servera CentOS 7
Pastaj duhet ta montoni siç tregohet (mund t'i jepni pikës së montimit një emër të përshtatshëm):

Tani kopjoni ose krijoni disa skedarë në pikën e montimit të lartpërmendur dhe bëni një listë të gjatë me

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

komandën ls Tregon listën e përmbajtjes së tomit kryesor Drbd:

# cd /mnt/DRDB_PRI/
# ls -l 

Konfigurojmë DRBD për replikimin e magazinës në dy servera CentOS 7
Pastaj shkëputni pajisjen (sigurohuni që montimi nuk është i hapur, ndryshoni direktorinë pas shkëputjes për të shmangur gabimet) dhe ndryshoni rolin e nodit nga primar në sekondar:

Nodi tjetër (ku ka burim me rol sekondar) bëjeni kryesor, pastaj lidhni pajisjen dhe çoni një listë të gjatë të pikave të montimit. Nëse konfigurimi është në rregull, të gjitha skedarët e ruajtur në tom duhet të jenë aty:

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

Kontrollimi i konfigurimit DRBD që funksionon në nodin sekondar.

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

Konfigurojmë DRBD për replikimin e magazinës në dy servera CentOS 7
Për më shumë informacion, për referim në faqet e ndihmës të mjeteve të administratës:

Ndihmë:

# man drbdadm
# man drbdsetup
# man drbdmeta

Manuali i përdoruesit DRBD Përgjigjja e përdoruesit DRBD.

Curriculum Vitae

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

Mëso më shumë rreth kursit.

Burimi: habr.com

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