Përkthimi i artikullit është përgatitur në prag të fillimit të kursit .
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 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.rpmPastaj duhet të instaloni modulin e kernelit DRBD dhe utilitarët në të dy nyjat duke përdorur:
# yum install -y kmod-drbd84 drbd84-utilsNë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 --reloadMë 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 --reloadHapi 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, 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=1024Supozoni 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 
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 , do të vini re se pajisja/tomi DRBD drbd0 është lidhur me pajisjen rezervë /dev/sdb1:
# lsblk 
Lista e pajisjeve bllok
Për të shkëputur burimin, shkruani:
# drbdadm down testPë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 
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 
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 
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 :
# cd /mnt/DRDB_PRI/
# ls -l 
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 testKontrollimi 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 
Për më shumë informacion, për referim në faqet e ndihmës të mjeteve të administratës:
Ndihmë:
# man drbdadm
# man drbdsetup
# man drbdmetaManuali i 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ë.
Burimi: habr.com
