Kuanzisha DRBD kwa urudufu wa hifadhi kwenye seva mbili za CentOS 7

Tafsiri ya kifungu hicho ilitayarishwa usiku wa kuamkia kozi hiyo "Msimamizi wa Linux. Virtualization na nguzo".

DRBD (Kifaa Cha Kuzuia Kinachosambazwa) ni suluhisho linalosambazwa, linalonyumbulika, na linaloweza kunakiliwa kwa ujumla kwa ajili ya Linux. Inaonyesha yaliyomo kwenye vifaa vya kuzuia kama vile anatoa ngumu, partitions, kiasi cha mantiki, nk. kati ya seva. Inaunda nakala za data kwenye vifaa viwili vya kuhifadhi ili ikiwa moja yao itashindwa, data kwenye pili inaweza kutumika.

Unaweza kusema ni kitu kama usanidi wa mtandao wa RAID 1 iliyo na diski zilizopangwa kwa seva tofauti. Walakini, inafanya kazi tofauti kabisa na RAID (hata RAID ya mtandao).

Hapo awali, DRBD ilitumiwa hasa katika makundi ya kompyuta ya upatikanaji wa juu (HA), hata hivyo, kuanzia na toleo la XNUMX, inaweza kutumika kupeleka ufumbuzi wa hifadhi ya wingu.

Katika makala haya, tutaeleza jinsi ya kusakinisha DRBD kwenye CentOS na kuonyesha kwa ufupi jinsi ya kuitumia kunakili hifadhi (kizigeu) kwenye seva mbili. Hili ni nakala kamili ya kuanza na DRBD kwenye Linux.

Mazingira ya mtihani

Tutatumia nguzo mbili za nodi kwa usanidi huu.

  • Nambari ya 1: 192.168.56.101 - tecmint.tecmint.lan
  • Node 2: 192.168.56.102 - server1.tecmint.lan

Hatua ya 1: Sakinisha vifurushi vya DRBD

DRBD inatekelezwa kama moduli ya kernel ya Linux. Ni kiendeshi cha kifaa cha kuzuia mtandaoni, kwa hivyo kiko chini kabisa mwa safu ya I/O ya mfumo.

DRBD inaweza kusakinishwa kutoka ELRepo au EPEL. Wacha tuanze kwa kuingiza kitufe cha kusaini kifurushi cha ELRepo na kuunganisha hazina kwenye nodi zote mbili kama inavyoonyeshwa hapa chini.

# 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

Halafu unahitaji kusanikisha moduli ya kernel ya DRBD na huduma kwenye nodi zote mbili kwa kutumia:

# yum install -y kmod-drbd84 drbd84-utils

Ikiwa umewasha SELinux, unahitaji kusanidi sera ili kuondoa michakato ya DRBD kwenye udhibiti wa SELinux.

# semanage permissive -a drbd_t

Zaidi ya hayo, ikiwa mfumo wako unatumia ngome (firewalld), utahitaji kuongeza bandari ya DRBD 7789 ili kuruhusu ulandanishi wa data kati ya nodi hizo mbili.

Tekeleza amri hizi kwa nodi ya kwanza:

# firewall-cmd --permanent --add-rich-rule='rule family="ipv4"  source address="192.168.56.102" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload

Kisha endesha amri hizi kwa nodi ya pili:

# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.101" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload

Hatua ya 2: Tayarisha Hifadhi ya Kiwango cha Chini

Kwa kuwa sasa tumesakinisha DRBD kwenye nodi zote mbili za nguzo, ni lazima tutoe maeneo ya hifadhi ya takriban ukubwa sawa juu yake. Hii inaweza kuwa kizigeu cha diski kuu (au diski nzima ya mwili), kifaa cha programu ya RAID, Kiasi cha kimantiki cha LVM au aina nyingine yoyote ya kifaa cha kuzuia kinachopatikana kwenye mfumo wako.

Kwa makala hii, tutaunda kifaa cha kuzuia majaribio cha 2GB kwa kutumia amri ya dd.

# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024

Wacha tuchukue hii ni kizigeu kisichotumiwa (/dev/sdb1) kwenye kifaa cha pili cha kuzuia (/dev/sdb) kilichounganishwa kwa nodi zote mbili.

Hatua ya 3. Inasanidi DRBD

Faili kuu ya usanidi ya DRBD - /etc/drbd.conf, na faili za usanidi za ziada zinaweza kupatikana kwenye saraka /etc/drbd.d.

Ili kuiga hifadhi, tunahitaji kuongeza usanidi muhimu kwenye faili /etc/drbd.d/global_common.conf, ambayo ina sehemu za kimataifa na za jumla za usanidi wa DRBD, na tunahitaji kufafanua nyenzo .res mafaili.

Wacha tufanye nakala ya nakala ya faili asili kwenye nodi zote mbili, na kisha ufungue faili mpya kwa uhariri (tumia kihariri cha maandishi cha chaguo lako).

# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig
# vim /etc/drbd.d/global_common.conf 

Ongeza mistari ifuatayo kwa faili zote mbili:

global {
 usage-count  yes;
}
common {
 net {
  protocol C;
 }
}

Hifadhi faili na kisha funga kihariri.

Hebu tuangalie mstari wa itifaki C kwa muda. DRBD inasaidia njia tatu tofauti za urudufishaji (yaani, digrii tatu za usawazishaji wa urudufishaji), yaani:

  • itifaki A: itifaki ya kuiga asynchronous; mara nyingi hutumika katika matukio ya urudufu wa umbali mrefu.
  • itifaki B: Itifaki ya urudufishaji wa nusu-synchronous au itifaki ya kumbukumbu iliyosawazishwa.
  • itifaki C: kawaida hutumiwa kwa nodi kwenye mitandao yenye umbali mfupi; hii ndiyo itifaki ya urudufishaji inayotumika sana katika mipangilio ya DRBD.

Ni muhimu: Uchaguzi wa itifaki ya replication huathiri mambo mawili ya kupeleka: usalama na latency. Kwa kulinganisha, upitishaji hautegemei sana itifaki iliyochaguliwa ya urudufishaji.

Hatua ya 4: Ongeza rasilimali

Nyenzo-rejea ni neno mwavuli linalorejelea vipengele vyote vya mkusanyiko fulani wa data ulioigwa. Tutafafanua rasilimali yetu katika faili /etc/drbd.d/test.res.

Ongeza yafuatayo kwenye faili kwenye nodi zote mbili (kumbuka kuchukua nafasi ya vijiti na maadili halisi ya mazingira yako).

Makini na majina ya mwenyeji, tunahitaji kutaja jina la mwenyeji wa mtandao, ambalo linaweza kupatikana kwa kutumia amri ya 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;
        }
}
}

ambapo:

  • kwenye jina la mwenyeji: Sehemu ambayo taarifa ya usanidi uliowekwa inatumika.
  • mtihani: Hili ndilo jina la rasilimali mpya.
  • kifaa /dev/drbd0: Inaonyesha kifaa kipya cha kuzuia mtandaoni kinachodhibitiwa na DRBD.
  • diski /dev/sdb1: Hiki ni kizigeu cha kifaa cha kuzuia ambacho ni kifaa chelezo cha kifaa cha DRBD.
  • diski ya meta: Inafafanua ambapo DRBD huhifadhi metadata yake. Ndani inamaanisha kuwa DRBD huhifadhi metadata yake kwenye kifaa sawa cha kiwango cha chini kama data halisi katika uzalishaji.
  • anwani: Inaonyesha anwani ya IP na nambari ya bandari ya nodi inayolingana.

Pia kumbuka kuwa ikiwa vigezo vina maadili sawa kwa majeshi yote mawili, unaweza kutaja moja kwa moja kwenye sehemu ya rasilimali.

Kwa mfano, usanidi ulio hapo juu unaweza kurekebishwa kuwa:

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;
        		}
}

Hatua ya 5. Anzisha na uzindue rasilimali

Ili kuingiliana na DRBD tutatumia zana zifuatazo za utawala (ambazo huingiliana na moduli ya kernel ili kusanidi na kusimamia rasilimali za DRBD):

  • drbdadm: Chombo cha utawala wa kiwango cha juu cha DRBD.
  • drbdsetup: Zana ya usimamizi wa kiwango cha chini cha kuunganisha vifaa vya DRBD kwenye vifaa vyake vya kuhifadhi nakala, kusanidi jozi za vifaa vya DRBD ili kuonyesha vifaa vyake vya kuhifadhi nakala, na kwa ajili ya kuthibitisha usanidi wa kuendesha vifaa vya DRBD.
  • Drbdmeta: Chombo cha usimamizi wa metadata.

Baada ya kuongeza usanidi wote wa awali wa rasilimali, lazima tuombe rasilimali kwenye nodi zote mbili.

# drbdadm create-md test

Kuanzisha DRBD kwa urudufu wa hifadhi kwenye seva mbili za CentOS 7
Kuanzisha Hifadhi ya Metadata

Ifuatayo tunahitaji kuiendesha, ambayo itaunganisha rasilimali kwenye kifaa chake chelezo, kisha kuweka vigezo vya kurudia na kuunganisha rasilimali kwa rika lake:

# drbdadm up test

Sasa ikiwa unaendesha amri lsblk, utagundua kuwa kifaa cha DRBD/volume drbd0 kinahusishwa na kifaa chelezo /dev/sdb1:

# lsblk

Kuanzisha DRBD kwa urudufu wa hifadhi kwenye seva mbili za CentOS 7
Orodha ya vifaa vya kuzuia

Ili kuzima rasilimali, endesha:

# drbdadm down test

Kuangalia hali ya rasilimali, endesha amri ifuatayo (kumbuka kuwa hali ya diski inatarajiwa katika hatua hii. Haiendani/Hailingani):

# drbdadm status test
OR
# drbdsetup status test --verbose --statistics 	#for  a more detailed status

Kuanzisha DRBD kwa urudufu wa hifadhi kwenye seva mbili za CentOS 7
Kuangalia hali ya rasilimali kwenye
uovu

Hatua ya 6: Weka rasilimali msingi/chanzo cha ulandanishi cha kifaa cha awali

Katika hatua hii, DRBD iko tayari kwenda. Sasa tunahitaji kubainisha ni nodi gani inapaswa kutumika kama chanzo cha maingiliano ya awali ya kifaa.

Tekeleza amri ifuatayo kwenye nodi moja ili kuanza maingiliano kamili ya awali:

# drbdadm primary --force test
# drbdadm status test

Kuanzisha DRBD kwa urudufu wa hifadhi kwenye seva mbili za CentOS 7
Kuweka nodi ya msingi kama kifaa cha awali
Mara tu ulandanishaji utakapokamilika, hali ya viendeshi vyote viwili inapaswa kuwa UpToDate.

Hatua ya 7: Kujaribu usanidi wa DRBD

Hatimaye, tunahitaji kuangalia ikiwa kifaa cha DRBD kitafanya kazi inavyohitajika ili kuhifadhi data iliyojirudia. Kumbuka kwamba tulitumia kiasi cha diski tupu, kwa hivyo ni lazima tuunde mfumo wa faili kwenye kifaa na kuuweka ili kuangalia ikiwa tunaweza kuutumia kuhifadhi data iliyojirudia.

Tunahitaji kuunda mfumo wa faili kwenye kifaa kwa kutumia amri ifuatayo kwenye nodi ambapo tulianza usawazishaji kamili wa awali (ambayo ina rasilimali iliyo na jukumu la msingi):

# mkfs -t ext4 /dev/drbd0

Kuanzisha DRBD kwa urudufu wa hifadhi kwenye seva mbili za CentOS 7
Kuunda mfumo wa faili kwa kiasi cha Drbd

Kisha kuiweka kama inavyoonyeshwa (unaweza kuipa eneo la mlima jina linalofaa):

# mkdir -p /mnt/DRDB_PRI/
# mount /dev/drbd0 /mnt/DRDB_PRI/

Sasa nakili au unda faili zingine kwenye sehemu ya juu ya mlima na ufanye orodha ndefu na ls amri:

# cd /mnt/DRDB_PRI/
# ls -l 

Kuanzisha DRBD kwa urudufu wa hifadhi kwenye seva mbili za CentOS 7
Orodhesha yaliyomo katika juzuu kuu la Drbd

Ifuatayo, ondoa kifaa (hakikisha kuwa kilima hakijafunguliwa, badilisha saraka baada ya kuinuliwa ili kuepusha makosa) na ubadilishe jukumu la nodi kutoka msingi hadi sekondari:

# umount /mnt/DRDB_PRI/
# cd
# drbdadm secondary test

Fanya nodi nyingine (ambayo ina rasilimali iliyo na jukumu la pili) iwe msingi, kisha ambatisha kifaa nayo na utoe orodha ndefu ya sehemu za kupachika. Ikiwa usanidi utafanya kazi vizuri, faili zote zilizohifadhiwa kwenye sauti zinapaswa kuwepo:

# drbdadm primary test
# mkdir -p /mnt/DRDB_SEC/
# mount /dev/drbd0 /mnt/DRDB_SEC/
# cd /mnt/DRDB_SEC/
# ls  -l 

Kuanzisha DRBD kwa urudufu wa hifadhi kwenye seva mbili za CentOS 7
Kuangalia usanidi wa DRBD unaoendesha kwenye nodi ya pili.

Kwa maelezo zaidi, angalia kurasa za usaidizi za zana za usimamizi:

# man drbdadm
# man drbdsetup
# man drbdmeta

Msaada: Mwongozo wa Mtumiaji wa DRBD.

Muhtasari

DRBD ni rahisi kunyumbulika na inaweza kutumika anuwai, na kuifanya kuwa suluhisho la urudufishaji linalofaa kwa kuongeza HA kwa karibu programu yoyote. Katika nakala hii, tulionyesha jinsi ya kusakinisha DRBD kwenye CentOS 7 na tukaonyesha kwa ufupi jinsi ya kuitumia kwa uigaji wa uhifadhi. Jisikie huru kushiriki mawazo yako nasi kwa kutumia fomu ya maoni iliyo hapa chini.

Jifunze zaidi kuhusu kozi.

Chanzo: mapenzi.com

Kuongeza maoni