Ukuhunyushwa kwesihloko kwalungiselelwa ngobusuku bangaphambi kokuqala kwesifundo
I-DRBD (Idivayisi Yokuvimba Esabalalisiwe Esabalalisiwe) iyisixazululo sesitoreji esisabalalisiwe, esivumelana nezimo, futhi esiphindaphindekayo emhlabeni wonke se-Linux. Ibonisa okuqukethwe kwamadivayisi we-block njengama-hard drive, ama-partitions, amavolumu anengqondo, njll. phakathi kwamaseva. Idala amakhophi edatha kumadivayisi amabili wokugcina ukuze kuthi uma enye yazo ihluleka, idatha kweyesibili ingasetshenziswa.
Ungase uthi into efana nale
Ekuqaleni, i-DRBD yayisetshenziswa ikakhulukazi ekutholakaleni okuphezulu (HA) amaqoqo ekhompyutha, nokho, kusukela ngenguqulo XNUMX, ingasetshenziswa ukuphakela izixazululo zokugcina amafu.
Kulesi sihloko, sizochaza indlela yokufaka i-DRBD ku-CentOS futhi sibonise kafushane ukuthi isetshenziswa kanjani ukuphindaphinda isitoreji (i-partition) kuwo wonke amaseva amabili. Lesi isihloko esiphelele sokuqalisa nge-DRBD ku-Linux.
Indawo yokuhlola
Sizosebenzisa iqoqo lamanodi amabili kulokhu kusetha.
- Inombolo yomthetho: 1-tecmint.tecmint.lan
- Inombolo 2: 192.168.56.102 - server1.tecmint.lan
Isinyathelo 1: Faka amaphakheji e-DRBD
I-DRBD isetshenziswa njengemojula ye-Linux kernel. Ingumshayeli wedivayisi yebhulokhi ebonakalayo, ngakho-ke itholakala phansi impela kwesitaki se-I/O sohlelo.
I-DRBD ingafakwa ku-ELRepo noma ku-EPEL. Ake siqale ngokungenisa ukhiye wokusayina wephakheji we-ELRepo futhi sixhume indawo yokugcina kuzo zombili izindawo njengoba kukhonjisiwe ngezansi.
# 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
Ngemuva kwalokho udinga ukufaka imojula ye-DRBD kernel kanye nezinsiza kuwo womabili ama-node usebenzisa:
# yum install -y kmod-drbd84 drbd84-utils
Uma uvule i-SELinux, udinga ukulungisa izinqubomgomo ukuze ukhiphe izinqubo ze-DRBD ekulawuleni kwe-SELinux.
# semanage permissive -a drbd_t
Ukwengeza, uma isistimu yakho isebenzisa i-firewall (firewalld), uzodinga ukungeza imbobo ye-DRBD 7789 ukuze uvumele ukuvumelanisa idatha phakathi kwamanodi amabili.
Qalisa le miyalo ku-node yokuqala:
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.102" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload
Bese ugijima le miyalo yenodi yesibili:
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.101" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload
Isinyathelo sesi-2: Lungiselela Isitoreji Sezinga Eliphansi
Manje njengoba sesifake i-DRBD kuwo womabili ama-cluster node, kufanele sinikeze izindawo zokugcina ezicishe zilingane ngosayizi kuzo. Lokhu kungaba i-hard drive partition (noma yonke i-hard drive yomzimba), idivayisi ye-RAID yesofthiwe,
Kulesi sihloko, sizodala idivayisi yokuhlola ye-2GB sisebenzisa umyalo we-dd.
# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024
Ake sicabange ukuthi lokhu ukwahlukanisa okungasetshenzisiwe (/dev/sdb1) kudivayisi yesibili yokuvimba (/dev/sdb) exhunywe kuwo womabili ama-node.
Isinyathelo sesi-3. Ilungiselela i-DRBD
Ifayela lokumisa eliyinhloko le-DRBD β /etc/drbd.conf
, kanye namafayela okumisa engeziwe angatholakala ohlwini lwemibhalo /etc/drbd.d
.
Ukuze siphindaphinde isitoreji, sidinga ukwengeza ukulungiselelwa okudingekayo kufayela /etc/drbd.d/global_common.conf
, equkethe izingxenye zomhlaba nezijwayelekile zokucushwa kwe-DRBD, futhi sidinga ukuchaza izinsiza kuzo .res
amafayela.
Masenze ikhophi eyisipele yefayela lokuqala kuwo womabili amanodi, bese sivula ifayela elisha ukuze lihlelwe (sebenzisa umhleli wombhalo ozikhethele wona).
# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig
# vim /etc/drbd.d/global_common.conf
Engeza imigqa elandelayo kuwo womabili amafayela:
global {
usage-count yes;
}
common {
net {
protocol C;
}
}
Londoloza ifayela bese uvala umhleli.
Ake sibheke umugqa wephrothokholi C okwesikhashana. I-DRBD isekela izindlela ezintathu ezihlukene zokuphindaphinda (okungukuthi, amadigri amathathu okuvumelanisa okuphindaphindayo), okuyilezi:
- iphrothokholi A: iphrothokholi yokuphindaphinda okungavumelaniyo; esetshenziswa kakhulu ezimeni zokuphindaphinda zebanga elide.
- Iphrothokholi B: Iphrothokholi yokuphindaphinda okulinganayo noma iphrothokholi yememori evumelanisiwe.
- I-protocol C: ngokuvamile isetshenziselwa ama-node kumanethiwekhi anamabanga amafushane; lena kuyiphrothokholi evame ukusetshenziswa kakhulu kuzilungiselelo ze-DRBD.
ezibalulekile: Ukukhethwa kwephrothokholi yokuphindaphinda kuthinta izici ezimbili zokusebenzisa: ukuphepha nokubambezeleka. Ngokuphambene, ukudlulisa akuncikile kakhulu kuphrothokholi ekhethiwe yokuphindaphinda.
Isinyathelo sesi-4: Engeza insiza
Insiza yitemu eliyisambulela elibhekisela kuzo zonke izici zedathasethi ethile eyimpinda. Sizochaza insiza yethu kufayela /etc/drbd.d/test.res
.
Engeza okulandelayo efayeleni kuwo womabili ama-node (khumbula ukufaka esikhundleni okuguquguqukayo ngamavelu wangempela wendawo yakho).
Naka amagama abasingathi, sidinga ukucacisa igama lomphathi wenethiwekhi, elingatholakala kusetshenziswa umyalo we- 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;
}
}
}
lapho:
- egameni lomethuleli: Isigaba esisesidlekeni lapho kusebenza khona isitatimende sokumisa esidleke.
- test: Leli igama lesisetshenziswa esisha.
- idivayisi /dev/drbd0: Ibonisa idivayisi entsha ye-virtual block ephethwe yi-DRBD.
- idiski /dev/sdb1: Lokhu ukuhlukaniswa kwedivayisi evinjiwe okuyidivayisi eyisipele yedivayisi ye-DRBD.
- i-meta-disk: Ichaza lapho i-DRBD igcina khona imethadatha yayo. Kwangaphakathi kusho ukuthi i-DRBD igcina imethadatha yayo kudivayisi efanayo yezinga eliphansi njengedatha yangempela ekukhiqizweni.
- ikheli: Ibonisa ikheli le-IP kanye nenombolo yembobo yenodi ehambisanayo.
Futhi qaphela ukuthi uma amapharamitha anamanani afanayo kubo bobabili ababungazi, ungawacacisa ngokuqondile esigabeni sezinsiza.
Isibonelo, ukucushwa okungenhla kungahlelwa kabusha kube:
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;
}
}
Isinyathelo sesi-5. Qalisa futhi uvule insiza
Ukuze sihlanganyele ne-DRBD sizosebenzisa amathuluzi okuphatha alandelayo (asebenzisana nemojula ye-kernel ukulungisa nokuphatha izinsiza ze-DRBD):
- drbdadm: Ithuluzi lokuphatha lezinga eliphezulu le-DRBD.
- drbdsetup: Ithuluzi lokuphatha lezinga eliphansi lokuxhuma amadivayisi e-DRBD kumadivayisi awo asekelayo, ukulungisa amapheya edivayisi ye-DRBD ukuze abonise amadivayisi awo asekelayo, kanye nokuqinisekisa ukulungiselelwa kokusebenzisa amadivayisi e-DRBD.
- I-Drbdmeta: Ithuluzi lokuphatha imethadatha.
Ngemva kokwengeza konke ukulungiselelwa kwensiza yokuqala, kufanele sicele insiza kuwo womabili amanodi.
# drbdadm create-md test
Iqalisa Isitolo Semethadatha
Okulandelayo sidinga ukuyiqhuba, ezoxhuma insiza kudivayisi yayo eyisipele, bese usetha imingcele yokuphindaphinda bese uxhuma insiza kontanga yayo:
# drbdadm up test
Manje uma usebenzisa umyalo /dev/sdb1
:
# lsblk
Uhlu lwamadivayisi wokuvimba
Ukuze ukhubaze insiza, sebenzisa:
# drbdadm down test
Ukuze uhlole isimo sensiza, sebenzisa umyalo olandelayo (qaphela ukuthi isimo samadiski silindelwe kuleli phuzu. Akuhambisani/Akuhambisani):
# drbdadm status test
OR
# drbdsetup status test --verbose --statistics #for a more detailed status
Ihlola isimo sesisetshenziswa sivuliwe
okubi
Isinyathelo 6: Setha umthombo oyinhloko wensiza/umthombo wokuvumelanisa wedivayisi
Kulesi sigaba, i-DRBD isilungele ukuhamba. Manje sidinga ukucacisa ukuthi iyiphi i-node okufanele isetshenziswe njengomthombo wokuvumelanisa kokuqala kwedivayisi.
Qalisa umyalo olandelayo endaweni eyodwa ukuze uqale ukuvumelanisa okugcwele kokuqala:
# drbdadm primary --force test
# drbdadm status test
Ukusetha inodi eyinhloko njengedivayisi yokuqala
Uma ukuvumelanisa sekuqediwe, isimo sawo womabili amadrayivu kufanele sibe UpToDate.
Isinyathelo sesi-7: Ukuhlola ukusethwa kwe-DRBD
Okokugcina, sidinga ukuhlola ukuthi ingabe idivayisi ye-DRBD izosebenza njengoba kudingeka ukuze sigcine idatha ephindaphindiwe. Khumbula ukuthi sisebenzise ivolumu yediski engenalutho, ngakho-ke kufanele sakhe isistimu yefayela kudivayisi futhi siyikhweze ukuze sihlole ukuthi singayisebenzisa yini ukugcina idatha ephindaphindiwe.
Sidinga ukudala isistimu yefayela kudivayisi sisebenzisa umyalo olandelayo endaweni lapho siqale khona ukuvumelanisa okugcwele kokuqala (okunesisetshenziswa esinendima eyinhloko):
# mkfs -t ext4 /dev/drbd0
Ukudala isistimu yefayela ngevolumu ye-Drbd
Bese uyikhweza njengoba kukhonjisiwe (unganika indawo yokukhweza igama elifanele):
# mkdir -p /mnt/DRDB_PRI/
# mount /dev/drbd0 /mnt/DRDB_PRI/
Manje kopisha noma dala amanye amafayela endaweni yokukhweza engenhla bese wenza uhlu olude ngalo
# cd /mnt/DRDB_PRI/
# ls -l
Faka ohlwini okuqukethwe kwevolumu enkulu ye-Drbd
Okulandelayo, yehlisa idivayisi (qiniseka ukuthi ukukhweza akuvuliwe, shintsha uhla lwemibhalo ngemva kokwehlisa ukuze ugweme amaphutha) futhi ushintshe indima yenodi kusukela kokuyinhloko kuya kweyesibili:
# umount /mnt/DRDB_PRI/
# cd
# drbdadm secondary test
Yenza enye i-node (enensiza enendima yesibili) ibe yinhloko, bese unamathisela idivayisi kuyo bese ukhipha uhlu olude lwezindawo zokukhweza. Uma ukusetha kusebenza kahle, wonke amafayela agcinwe kuvolumu kufanele abe lapho:
# drbdadm primary test
# mkdir -p /mnt/DRDB_SEC/
# mount /dev/drbd0 /mnt/DRDB_SEC/
# cd /mnt/DRDB_SEC/
# ls -l
Ihlola ukusethwa kwe-DRBD esebenza endaweni yesibili.
Ukuze uthole ulwazi olwengeziwe, bona amakhasi osizo amathuluzi okulawula:
# man drbdadm
# man drbdsetup
# man drbdmeta
Usizo:
Isifingqo
I-DRBD iguquguquka ngokwedlulele futhi iguquguquka ngezindlela eziningi, okuyenza ibe isisombululo sokuphindaphinda isitoreji esilungele ukungeza i-HA cishe kunoma yiluphi uhlelo lokusebenza. Kulesi sihloko, sibonise indlela yokufaka i-DRBD ku-CentOS 7 futhi sabonisa kafushane ukuthi isetshenziswa kanjani ukuphindaphinda kwesitoreji. Zizwe ukhululekile ukwabelana ngemicabango yakho nathi usebenzisa ifomu lempendulo elingezansi.
Source: www.habr.com