Përkthimi i artikullit është përgatitur para fillimit të kursit .
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 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.rpmPastaj 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-utilsNë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 --reloadPastaj 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 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, 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=1024Supozoni 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 
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 , do të vini re se pajisja/volumi DRBD drbd0 është lidhur me pajisjen rezervë. /dev/sdb1:
# lsblk 
Lista e pajisjeve blloku
Për të çaktivizuar burimin, ekzekutoni:
# drbdadm down testPë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 
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 
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 
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 :
# cd /mnt/DRDB_PRI/
# ls -l 
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 testBë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 
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 drbdmetaKonsultim: .
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ë.
Burimi: habr.com
