Ukuguqulelwa kwenqaku kwalungiselelwa kwangaphambi kokuqalisa kwekhosi
I-DRBD (i-Distributed Replicated Block Device) sisisombululo esisasazwayo, esiguquguqukayo, kunye nesiphindaphinda kwihlabathi jikelele kwi-Linux. Ibonisa imixholo yezixhobo zebhloko ezifana ne-hard drives, izahlulo, imiqulu enengqondo, njl. phakathi kwabancedisi. Idala iikopi zedatha kwizixhobo ezimbini zokugcina ukwenzela ukuba ukuba enye yazo ingaphumeleli, idatha kwisibini ingasetyenziswa.
Unokuthi yinto enje
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 kuchaza indlela yokufaka i-DRBD kwi-CentOS kwaye sibonise ngokufutshane indlela yokuyisebenzisa ukuphindaphinda ukugcinwa (isahlulo) kwiiseva ezimbini. Eli linqaku eligqibeleleyo lokuqalisa nge-DRBD kwiLinux.
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 iphunyezwe njengemodyuli ye-Linux kernel. Ingumqhubi wesixhobo sebhloko esinenyani, ngoko ibekwe ezantsi kakhulu kwisitaki se-I/O senkqubo.
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.rpm
Emva koko kufuneka ufake imodyuli ye-DRBD kernel kunye nezinto eziluncedo kuzo zombini iindawo usebenzisa:
# yum install -y kmod-drbd84 drbd84-utils
Ukuba une-SELinux evuliweyo, kufuneka uqwalasele 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 --reload
Emva 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 --reload
Inyathelo 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,
Kweli nqaku, siya kudala isixhobo sovavanyo lwe-2GB sisebenzisa umyalelo wedd.
# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024
Makhe 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 /dev/sdb1
:
# lsblk
Uluhlu lwezixhobo zebhloko
Ukuvala uvimba, sebenzisa:
# drbdadm down test
Ukukhangela 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 test
Yenza 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 drbdmeta
Uncedo:
Isishwankathelo
I-DRBD ibhetyebhetye kakhulu kwaye iyaguquguquka, iyenza isisombululo sophindaphindo sokugcina esilungele ukongeza i-HA phantse kuso nasiphi na isicelo. Kweli nqaku, sibonise indlela yokufaka i-DRBD kwi-CentOS 7 kwaye yabonisa ngokufutshane indlela yokuyisebenzisa ukuphindaphinda ukugcinwa. Zive ukhululekile ukwabelana nathi ngeengcinga zakho usebenzisa le fomu yempendulo ingezantsi.
umthombo: www.habr.com