Ukuguqulelwa kwenqaku kwalungiselelwa kwangaphambi kokuqalisa kwekhosi .
I-DRBD (iDistributed Replicated Block Device) sisisombululo sokugcina esisasazwayo, esiguquguqukayo, nesiphindaphindwayo kwihlabathi liphela LinuxIbonisa umxholo wezixhobo zebhloko ezifana nee-hard drive, ii-partitions, ii-logical volumes, njl.njl. phakathi kweeseva. Idala iikopi zedatha kwizixhobo ezimbini zokugcina idatha ukuze ukuba enye iyasilela, idatha kwesesibini ingasetyenziswa.
Unokuthi yinto enje 1 kunye neediski eziboniswe kwiiseva ezahlukeneyo. Nangona kunjalo, isebenza ngokwahlukileyo ngokupheleleyo kune-RAID (nokuba i-RAID yenethiwekhi).
Ekuqaleni, i-DRBD yayisetyenziselwa ubukhulu becala ekufumanekeni okuphezulu (HA) amaqela ekhompyutheni, nangona kunjalo, ukuqala ngenguqulo ye-XNUMX, ingasetyenziselwa ukuhambisa izisombululo zokugcina ifu.
Kweli nqaku siza kukuxelela indlela yokufaka i-DRBD kwi CentOS, kwaye siza kubonisa ngokufutshane indlela yokuyisebenzisa ukuphinda-phinda indawo yokugcina (ukwahlulahlula) kwiiseva ezimbini. Eli linqaku elifanelekileyo lokuqalisa nge-DRBD kwi Linux.
Indawo yovavanyo
Siza kusebenzisa iqoqo leendawo ezimbini kolu cwangciso.
- Inombolo 1: 192.168.56.101 - tecmint.tecmint.lan
- I-Node 2: 192.168.56.102-server1.tecmint.lan
Inyathelo 1: Faka iipakethi zeDRBD
I-DRBD isetyenziswa njengemodyuli yekernel. LinuxYisiqhubi sesixhobo esibizwa ngokuba yi-virtual block, ngoko ke sikwindawo esezantsi kakhulu kwi-I/O stack yenkqubo.
I-DRBD inokufakwa kwi-ELRepo okanye kwi-EPEL. Masiqale ngokungenisa iqhosha lokusayina ipakethe ye-ELRepo kunye nokudibanisa indawo yokugcina kuzo zombini iindawo njengoko kubonisiwe ngezantsi.
# 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.rpmEmva koko kufuneka ufake imodyuli ye-DRBD kernel kunye nezinto eziluncedo kuzo zombini iindawo usebenzisa:
# yum install -y kmod-drbd84 drbd84-utilsUkuba uqhagamshelene ne-SELinux, kufuneka ulungiselele imigaqo-nkqubo yokukhulula iinkqubo ze-DRBD kulawulo lwe-SELinux.
# semanage permissive -a drbd_t
Ukongeza, ukuba inkqubo yakho isebenzisa i-firewall (firewalld), kuya kufuneka udibanise i-DRBD port 7789 ukuvumela ungqamaniso lwedatha phakathi kweenodi ezimbini.
Sebenzisa le miyalelo kwindawo yokuqala:
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.102" port port="7789" protocol="tcp" accept'
# firewall-cmd --reloadEmva koko sebenzisa le miyalelo kwindawo yesibini:
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.101" port port="7789" protocol="tcp" accept'
# firewall-cmd --reloadInyathelo lesi-2: Lungiselela uGcino olukwiNqanaba eliPhantsi
Ngoku sine-DRBD efakwe kuzo zombini iindawo zeqela, kufuneka sibonelele ngeendawo zokugcina ezimalunga nobukhulu obufanayo kuzo. Oku kunokuba yisahlulelo se-hard drive (okanye yonke i-hard drive yomzimba), isixhobo se-RAID sesoftware, okanye naluphi na olunye uhlobo lwesixhobo sebhloko esifunyenwe kwindlela yakho.
Kweli nqaku, siya kudala isixhobo sovavanyo lwe-2GB sisebenzisa umyalelo wedd.
# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024Makhe sicinge ukuba le yisahlulelo esingasetyenziswanga (/dev/sdb1) kwisixhobo sebhloko sesibini (/dev/sdb) esiqhagamshelwe kuzo zombini iindawo.
Inyathelo 3. Ukuqwalasela i-DRBD
Ifayile yoqwalaselo engundoqo yeDRBD − /etc/drbd.conf, kunye neefayile zoqwalaselo ezongezelelweyo zinokufunyanwa kulawulo /etc/drbd.d.
Ukuphindaphinda ukugcinwa, kufuneka songeze ulungelelwaniso oluyimfuneko kwifayile /etc/drbd.d/global_common.conf, equlethe amacandelo ehlabathi kunye namacandelo aqhelekileyo oqwalaselo lwe-DRBD, kwaye kufuneka sichaze izibonelelo kwi .res iifayile.
Masenze ikopi yogcino lwefayile yoqobo kuzo zombini iindawo, kwaye emva koko uvule ifayile entsha yokuhlela (sebenzisa umhleli wombhalo owukhethileyo).
# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig
# vim /etc/drbd.d/global_common.conf Yongeza le migca ilandelayo kuzo zombini iifayile:
global {
usage-count yes;
}
common {
net {
protocol C;
}
}Gcina ifayile uze uvale umhleli.
Makhe sijonge umgca weprothokholi u-C okomzuzwana. I-DRBD ixhasa iindlela ezintathu ezahlukeneyo zokuphindaphinda (oko kukuthi, idigri ezintathu zokuphindaphinda ungqamaniso), ezizezi:
- Iprothokholi A: iprothokholi ephindaphindayo; isetyenziswa rhoqo kwimiba yophindaphindo yomgama omde.
- Iprotocol B: Iprothokholi yokuphindaphinda elinganayo okanye iprothokholi yememori ehambelanayo.
- iprotocol C: idla ngokusetyenziswa kwiinodi kuthungelwano olunemigama emifutshane; oku kuyeyona ndlela iqhele ukusetyenziswa yophindaphindo kwizicwangciso zeDRBD.
ebalulekileyo: Ukukhethwa kweprotocol yokuphindaphinda kuchaphazela izinto ezimbini zokuthunyelwa: ukhuseleko kunye ne-latency. Ngokwahlukileyo, i-throughput ayixhomekeke kakhulu kwiprotocol ekhethiweyo yophindaphindo.
Inyathelo lesi-4: Yongeza isixhobo
I-Resource ligama eliyi-umbrella elibhekiselele kuyo yonke imiba yedatha ephindaphindwayo. Siza kuchaza uvimba wethu kwifayile /etc/drbd.d/test.res.
Yongeza oku kulandelayo kwifayile kuzo zombini iindawo (khumbula ukutshintsha izinto eziguquguqukayo ngamaxabiso akwenyani okusingqongileyo).
Nika ingqalelo kwiinginginya, kufuneka sichaze igama lenginginya yenethiwekhi, enokufunyanwa kusetyenziswa i-uname command. -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;
}
}
}apho:
- kwigama lomamkeli: Icandelo elikwicandelo apho ingxelo yoqwalaselo olufakwe kuyo iyasebenza.
- uvavanyo: Eli ligama lomthombo omtsha.
- isixhobo /dev/drbd0: Ibonisa isixhobo esitsha sebhloko esinenyani esilawulwa yiDRBD.
- idiski /dev/sdb1: Esi sisahlulelo sesixhobo sebhloko esisisixhobo sogcino lwesixhobo seDRBD.
- meta-disk: Ichaza apho i-DRBD igcina khona imetadata yayo. Ngaphakathi kuthetha ukuba i-DRBD igcina imethadatha yayo kwisixhobo esisezantsi somzimba njengeyona datha yokwenyani kwimveliso.
- idilesi: Ibonisa idilesi ye-IP kunye nenombolo ye-port ye-node ehambelanayo.
Kwakhona qaphela ukuba iiparamitha zinexabiso elifanayo kwinginginya zombini, ungazikhankanya ngokuthe ngqo kwicandelo lezibonelelo.
Umzekelo, olu lungelelwaniso lungentla lunokuhlengahlengiswa ukuze lube:
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;
}
}Inyathelo 5. Qalisa kwaye uqalise uvimba
Ukusebenzisana ne-DRBD siya kusebenzisa ezi zixhobo zilandelayo zolawulo (ezisebenzisana nemodyuli ye-kernel ukuqwalasela nokulawula izibonelelo ze-DRBD):
- drbdadm: Isixhobo solawulo se-DRBD esiphezulu.
- drbdsetup: Isixhobo solawulo esikwinqanaba elisezantsi lokudibanisa izixhobo ze-DRBD kwizixhobo zabo zogcino, ukuqwalasela izibini zezixhobo ze-DRBD ukubonisa izixhobo zabo zogcino, kunye nokuqinisekisa ukucwangciswa kokusetyenziswa kwezixhobo ze-DRBD.
- Drbdmeta: Isixhobo solawulo lweMetadata.
Emva kokongeza lonke ulungelelwaniso lwezixhobo zokuqala, kufuneka sibongoze isibonelelo kuzo zombini iindawo.
# drbdadm create-md test 
Ukuqaliswa koGcino lweMetadata
Okulandelayo kufuneka siyiqhube, eya kudibanisa uvimba kwisixhobo sayo sogcino, emva koko usete iiparamitha zokuphindaphinda kwaye uqhagamshele uvimba kwintanga yayo:
# drbdadm up test Ngoku ukuba uqhuba umyalelo , uya kuqaphela ukuba isixhobo DRBD/volume drbd0 inxulunyaniswa isixhobo backup /dev/sdb1:
# lsblk 
Uluhlu lwezixhobo zebhloko
Ukuvala uvimba, sebenzisa:
# drbdadm down testUkukhangela ubume besixhobo, sebenzisa lo myalelo ulandelayo (qaphela ukuba ubume beediski bulindeleke kweli nqanaba Ukungangqinelani/Ukungangqinelani):
# drbdadm status test
OR
# drbdsetup status test --verbose --statistics #for a more detailed status 
Ukujonga ubume besixhobo kwi
ububi
Inyathelo lesi-6: Seta umthombo ongundoqo/umthombo wongqamaniso lwesixhobo sokuqala
Kweli nqanaba, i-DRBD ilungele ukuhamba. Ngoku kufuneka sicacise ukuba yeyiphi indawo ekufuneka isetyenziswe njengomthombo wongqamaniso lwesixhobo sokuqala.
Sebenzisa lo myalelo ulandelayo kwindawo enye ukuqalisa ungqamaniso olupheleleyo lokuqala:
# drbdadm primary --force test
# drbdadm status test 
Ukuseta indawo yokuqala njengesixhobo sokuqala
Nje ukuba ungqamaniso lugqityiwe, imeko yazo zombini iidrive kufuneka ibe UpToDate.
Inyathelo 7: Ukuvavanya ukuseta kwe-DRBD
Ekugqibeleni, kufuneka sijonge ukuba isixhobo se-DRBD siya kusebenza njengoko kufuneka ukugcina idatha ephindaphindweyo. Khumbula ukuba sisebenzise umthamo wediski ongenanto, ngoko ke kufuneka senze inkqubo yefayile kwisixhobo kwaye siyinyuse ukujonga ukuba singayisebenzisa na ukugcina idatha ephindaphindweyo.
Kufuneka senze inkqubo yefayile kwisixhobo sisebenzisa lo myalelo ulandelayo kwindawo apho siqale khona ungqamaniso olupheleleyo lokuqala (olunesixhobo esinendima ephambili):
# mkfs -t ext4 /dev/drbd0 
Ukwenza inkqubo yefayile kumthamo we Drbd
Emva koko yinyuse njengoko kubonisiwe (unganika indawo yokunyuka igama elifanelekileyo):
# mkdir -p /mnt/DRDB_PRI/
# mount /dev/drbd0 /mnt/DRDB_PRI/
Ngoku khuphela okanye wenze iifayile kwindawo engentla kwaye wenze uluhlu olude nge :
# cd /mnt/DRDB_PRI/
# ls -l 
Dwelisa imixholo yomthamo omkhulu we-Drbd
Okulandelayo, yehlisa isixhobo (qinisekisa ukuba intaba ayivulwanga, tshintsha uvimba weefayili emva kokunganyuki ukunqanda iimpazamo) kwaye utshintshe indima yenode ukusuka kwiprayimari ukuya kweyesibini:
# umount /mnt/DRDB_PRI/
# cd
# drbdadm secondary testYenza enye i-node (enesixhobo esinendima yesibini) ibe yinto yokuqala, emva koko uqhoboshele isixhobo kuyo kwaye ukhuphe uluhlu olude lweendawo zokukhwela. Ukuba ucwangciso lusebenza kakuhle, zonke iifayile ezigcinwe kwivolumu kufuneka zibe khona:
# drbdadm primary test
# mkdir -p /mnt/DRDB_SEC/
# mount /dev/drbd0 /mnt/DRDB_SEC/
# cd /mnt/DRDB_SEC/
# ls -l 
Ukujonga ukuseta kwe-DRBD eqhuba kwindawo yesibini.
Ngolwazi oluthe vetshe, bona izixhobo zolawulo zamaphepha oncedo:
# man drbdadm
# man drbdsetup
# man drbdmetaUncedo: .
Isishwankathelo
I-DRBD iguquguquka kakhulu kwaye inokuguquguquka, nto leyo eyenza ukuba ibe sisisombululo sokugcina idatha esifanelekileyo ukongeza i-HA kuyo nayiphi na inkqubo. Kweli nqaku, sibonise indlela yokufaka i-DRBD kwi CentOS 7, kwaye wabonisa ngokufutshane indlela yokuyisebenzisa ekukopisheni. Zive ukhululekile ukwabelana nathi ngezimvo zakho usebenzisa ifomu yempendulo engezantsi.
umthombo: www.habr.com
