Isetha i-DRBD yokuphindaphinda isitoreji kumaseva amabili e-CentOS 7

Ukuhunyushwa kwesihloko kwalungiselelwa ngobusuku bangaphambi kokuqala kwesifundo "I-Linux Administrator. I-Virtualization kanye nokuhlanganisa".

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 ukucushwa kwenethiwekhi ye-RAID 1 enamadiski afakwe kumephu kumaseva ahlukene. Nokho, isebenza ngendlela ehluke ngokuphelele kune-RAID (ngisho ne-RAID yenethiwekhi).

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, Ivolumu enengqondo ye-LVM noma yiluphi olunye uhlobo lwedivayisi yokuvimba etholakala kusistimu yakho.

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

Isetha i-DRBD yokuphindaphinda isitoreji kumaseva amabili e-CentOS 7
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 lsblk, uzoqaphela ukuthi idivayisi ye-DRBD/ivolumu ye-drbd0 ihlotshaniswa nedivayisi eyisipele /dev/sdb1:

# lsblk

Isetha i-DRBD yokuphindaphinda isitoreji kumaseva amabili e-CentOS 7
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

Isetha i-DRBD yokuphindaphinda isitoreji kumaseva amabili e-CentOS 7
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

Isetha i-DRBD yokuphindaphinda isitoreji kumaseva amabili e-CentOS 7
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

Isetha i-DRBD yokuphindaphinda isitoreji kumaseva amabili e-CentOS 7
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 ls imiyalo:

# cd /mnt/DRDB_PRI/
# ls -l 

Isetha i-DRBD yokuphindaphinda isitoreji kumaseva amabili e-CentOS 7
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 

Isetha i-DRBD yokuphindaphinda isitoreji kumaseva amabili e-CentOS 7
Ihlola ukusethwa kwe-DRBD esebenza endaweni yesibili.

Ukuze uthole ulwazi olwengeziwe, bona amakhasi osizo amathuluzi okulawula:

# man drbdadm
# man drbdsetup
# man drbdmeta

Usizo: Imanuwali yomsebenzisi ye-DRBD.

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.

Funda kabanzi mayelana nesifundo.

Source: www.habr.com

Engeza amazwana