Ukumisela i-DRBD yokuphindaphinda ukugcinwa kwiiseva ezimbini ze-CentOS 7

Ukuguqulelwa kwenqaku kwalungiselelwa kwangaphambi kokuqalisa kwekhosi "Umlawuli weLinux. I-Virtualization kunye nokudibanisa".

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 uqwalaselo lwenethiwekhi yeRAID 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 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, Umthamo wengqiqo ye-LVM 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=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

Ukumisela i-DRBD yokuphindaphinda ukugcinwa kwiiseva ezimbini ze-CentOS 7
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 lsblk, uya kuqaphela ukuba isixhobo DRBD/volume drbd0 inxulunyaniswa isixhobo backup /dev/sdb1:

# lsblk

Ukumisela i-DRBD yokuphindaphinda ukugcinwa kwiiseva ezimbini ze-CentOS 7
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

Ukumisela i-DRBD yokuphindaphinda ukugcinwa kwiiseva ezimbini ze-CentOS 7
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

Ukumisela i-DRBD yokuphindaphinda ukugcinwa kwiiseva ezimbini ze-CentOS 7
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

Ukumisela i-DRBD yokuphindaphinda ukugcinwa kwiiseva ezimbini ze-CentOS 7
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 ls imiyalelo:

# cd /mnt/DRDB_PRI/
# ls -l 

Ukumisela i-DRBD yokuphindaphinda ukugcinwa kwiiseva ezimbini ze-CentOS 7
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 

Ukumisela i-DRBD yokuphindaphinda ukugcinwa kwiiseva ezimbini ze-CentOS 7
Ukujonga ukuseta kwe-DRBD eqhuba kwindawo yesibini.

Ngolwazi oluthe vetshe, bona izixhobo zolawulo zamaphepha oncedo:

# man drbdadm
# man drbdsetup
# man drbdmeta

Uncedo: DRBD Iinkcukacha Zomntu Oyisebenzisayo.

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.

Funda ngakumbi malunga nekhosi.

umthombo: www.habr.com

Yongeza izimvo