Yadda ake Saita DRBD don Maimaita Ajiya akan Sabar CentOS 7 guda biyu


DRBD (yana tsaye don Rarraba Replicated Block Na'urar) shine rarrabawa, sassauƙa da ingantaccen ma'auni mai kwafi don Linux. Yana nuna abubuwan da ke cikin toshe na'urorin kamar su hard disks, partitions, ma'ana kundin da dai sauransu tsakanin sabobin. Ya ƙunshi kwafin bayanai akan na'urorin ajiya guda biyu, wanda idan ɗaya ya gaza, ana iya amfani da bayanan ɗayan.

Kuna iya tunaninsa ɗan kamannin tsarin RAID 1 na cibiyar sadarwa tare da faifai masu kamanni a cikin sabobin. Koyaya, yana aiki ta wata hanya ta daban daga RAID har ma da RAID na cibiyar sadarwa.

Asali, DRBD an fi amfani dashi a cikin manyan wadatuwa (HA) gungu na kwamfuta, duk da haka, farawa da sigar 9, ana iya amfani da ita don tura hanyoyin adana girgije.

A cikin wannan labarin, za mu nuna yadda ake shigar da DRBD a cikin CentOS kuma a taƙaice nuna yadda ake amfani da shi don kwafin ajiya (bangare) akan sabar guda biyu. Wannan shine cikakken labarin don farawa tare da amfani da DRBD a cikin Linux.

Don manufar wannan labarin, muna amfani da gungu na nodes guda biyu don wannan saitin.

  • Node1: 192.168.56.101 - tecmint.tecmint.lan
  • Node2: 192.168.56.102 – uwar garken1.tecmint.lan

Mataki 1: Sanya Fakitin DRBD

Ana aiwatar da DRBD azaman tsarin kernel na Linux. Daidai ya ƙunshi direba don na'urar toshe mai kama-da-wane, don haka an kafa ta kusa da kasan tarin I/O na tsarin.

Ana iya shigar da DRBD daga ma'ajin ELRepo ko EPEL. Bari mu fara da shigo da maɓallin sa hannun fakitin ELRepo, kuma mu ba da damar ma'ajiyar kamar yadda aka nuna akan kusoshi biyu.

# 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

Sa'an nan za mu iya shigar da DRBD kernel module da utilities a kan duka nodes ta gudu:

# yum install -y kmod-drbd84 drbd84-utils

Idan kuna kunna SELinux, kuna buƙatar canza manufofin don keɓance hanyoyin DRBD daga sarrafa SELinux.

# semanage permissive -a drbd_t

Bugu da kari, idan tsarin ku yana da wutan wuta (firewalld), kuna buƙatar ƙara tashar tashar DRBD 7789 a cikin Tacewar zaɓi don ba da damar daidaita bayanai tsakanin nodes biyu.

Gudun waɗannan umarni akan kumburin farko:

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

Sannan gudanar da waɗannan umarni akan kumburi na biyu:

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

Mataki 2: Ana Shirya Ma'ajiyar Ƙaramar Matsayi

Yanzu da mun shigar da DRBD akan nodes ɗin tari guda biyu, dole ne mu shirya wurin ajiya mai girman gaske iri ɗaya akan nodes biyu. Wannan na iya zama ɓangaren rumbun kwamfutarka (ko cikakken rumbun kwamfutarka), na'urar RAID na software, ƙarar madaidaicin LVM ko kowane nau'in toshewar na'urar da aka samu akan tsarin ku.

Don manufar wannan labarin, za mu ƙirƙiri na'urar bulogi mai girman 2GB ta amfani da umarnin dd.

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

Za mu ɗauka cewa wannan ɓangaren ɓangaren da ba a yi amfani da shi ba ne (/ dev/sdb1) akan na'urar toshe ta biyu (/ dev/sdb) da aka haɗe zuwa duka nodes.

Mataki 3: Saita DRBD

Babban fayil ɗin sanyi na DRBD yana a /etc/drbd.conf kuma ana iya samun ƙarin fayilolin saiti a cikin /etc/drbd.d directory.

Don yin kwafin ajiya, muna buƙatar ƙara saitunan da suka dace a cikin fayil ɗin /etc/drbd.d/global_common.conf wanda ya ƙunshi sassan duniya da na gama gari na tsarin DRBD kuma za mu iya ayyana albarkatu a cikin fayilolin .res.

Bari mu yi ajiyar ainihin fayil ɗin akan kudurorin biyu, sannan buɗe sabon fayil don gyarawa (amfani da editan rubutu na son ku).

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

Ƙara layin masu zuwa a cikin fayilolin biyu:

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

Ajiye fayil ɗin, sannan rufe editan.

Bari mu ɗan ɗan yi inuwa ƙarin haske akan ƙa'idar layin C. DRBD tana goyan bayan nau'ikan kwafi guda uku (don haka digiri uku na daidaita kwafi) waɗanda sune:

  • yarjejeniya A: Asynchronous replication protocol; ana yawan amfani da shi a cikin yanayin kwafin nesa mai nisa.
  • yarjejeniya B: Semi-synchronous replication protocol aka Memory synchronous protocol.
  • yarjejeniya C: galibi ana amfani da su don nodes a cikin gajerun hanyoyin sadarwa masu nisa; Ya zuwa yanzu, ka'idar kwafi da aka fi amfani da ita a cikin saitin DRBD.

Muhimmi: Zaɓin ƙa'idar maimaitawa yana rinjayar abubuwa biyu na tura ku: kariya da jinkiri. Kuma abin da ake fitarwa, akasin haka, ya kasance mai zaman kansa daga ƙa'idar kwafi da aka zaɓa.

Mataki 4: Ƙara Kayan aiki

Hanya ita ce kalmar gama-gari wacce ke nufin duk wani bangare na takamaiman saitin bayanan da aka kwafi. Za mu ayyana albarkatun mu a cikin fayil mai suna /etc/drbd.d/test.res.

Ƙara abun ciki mai zuwa zuwa fayil ɗin, akan kuɗaɗe biyu (tuna don maye gurbin masu canji a cikin abun ciki tare da ainihin ƙimar yanayin ku).

Yi la'akari da sunayen masu masaukin baki, muna buƙatar ƙayyade sunan mai masaukin cibiyar sadarwa wanda za'a iya samu ta hanyar gudanar da umarnin 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;
        }
}
}

inda:

  • a kan sunan mai masauki: a sashin yana faɗin wanda ke ɗaukar bayanan daidaitawa da ke tattare da su.
  • gwaji: shine sunan sabon albarkatun.
  • na'ura /dev/drbd0: yana ƙayyadad da sabuwar na'urar toshewar da DRBD ke sarrafa.
  • disk /dev/sdb1: shine ɓangaren na'urar toshe wanda shine na'urar tallafi don na'urar DRBD.
  • meta-disk: Yana bayyana inda DRBD ke adana metadata. Amfani da Ciki yana nufin cewa DRBD yana adana bayanan meta ɗin sa akan na'urar ƙananan matakin ƙasa kamar ainihin bayanan samarwa.
  • adireshi: yana ƙayyadad da adireshin IP da lambar tashar jiragen ruwa na kumburi.

Hakanan lura cewa idan zaɓuɓɓukan suna da daidaitattun ƙima akan runduna biyu, zaku iya tantance su kai tsaye a cikin sashin albarkatun.

Misali za a iya sake fasalin tsarin da ke sama zuwa:

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

Mataki na 5: Ƙaddamarwa da Ƙaddamar da Albarkatu

Don yin hulɗa tare da DRBD, za mu yi amfani da kayan aikin gudanarwa masu zuwa waɗanda ke sadarwa tare da tsarin kernel don daidaitawa da sarrafa albarkatun DRBD:

  • drbdadm: babban kayan aikin gudanarwa na DRBD.
  • drbdsetup: ƙaramin kayan aikin gudanarwa don haɗa na'urorin DRBD tare da na'urorin toshe masu goyan baya, don saita nau'ikan na'urar DRBD don madubi na'urorin toshe masu goyan bayan su, da kuma duba tsarin daidaita na'urorin DRBD.
  • Drbdmeta: shine kayan aikin sarrafa bayanan meta.

Bayan ƙara duk saitin kayan aiki na farko, dole ne mu kawo albarkatun akan nodes biyu.

# drbdadm create-md test

Bayan haka, ya kamata mu kunna albarkatun, wanda zai haɗa albarkatun tare da na'urar goyon bayansa, sannan ya saita sigogi na maimaitawa, kuma ya haɗa albarkatun da takwarorinsa:

# drbdadm up test

Yanzu idan kuna gudanar da umarnin lsblk, zaku lura cewa na'urar DRBD/ƙarar drbd0 tana da alaƙa da na'urar tallafi/dev/sdb1:

# lsblk

Don kashe albarkatun, gudu:

# drbdadm down test

Don duba matsayin albarkatu, gudanar da umarni mai zuwa (lura cewa ana sa ran yanayin faifai mara daidaituwa/Inconsistent a wannan lokacin):

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

Mataki 6: Saita Albarkatun Farko/Madogaran Haɗin Kan Na'urar Farko

A wannan matakin, DRBD yanzu yana shirye don aiki. Yanzu muna buƙatar gaya masa ko wane kumburi ya kamata a yi amfani da shi azaman tushen haɗin gwiwar na'urar ta farko.

Gudun umarni mai zuwa akan kumburi ɗaya kawai don fara cikakken aiki tare na farko:

# drbdadm primary --force test
# drbdadm status test

Da zarar an gama aiki tare, matsayin faifai biyu ya kamata ya zama UpToDate.

Mataki 7: Gwajin Saitin DRBD

A ƙarshe, muna buƙatar gwada ko na'urar DRBD za ta yi aiki da kyau don adana bayanan da aka kwafi. Ka tuna, mun yi amfani da ƙarar faifan fanko, don haka dole ne mu ƙirƙiri tsarin fayil akan na'urar, kuma mu dora shi, don gwada ko za mu iya amfani da shi don adana bayanan da aka kwafi.

Za mu iya ƙirƙirar tsarin fayil akan na'urar tare da umarni mai zuwa, akan kumburin inda muka fara cikakken aiki tare na farko (wanda ke da albarkatu tare da rawar farko):

# mkfs -t ext4 /dev/drbd0 

Sannan ka dora shi kamar yadda aka nuna (zaka iya baiwa mount point sunan da ya dace):

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

Yanzu kwafa ko ƙirƙiri wasu fayiloli a cikin wurin dutsen da ke sama kuma yi dogon jeri ta amfani da umarnin ls:

# cd /mnt/DRDB_PRI/
# ls -l 

Bayan haka, cire na'urar (tabbatar cewa dutsen bai buɗe ba, canza kundin adireshi bayan cire shi don hana kowane kurakurai) kuma canza aikin kumburin daga firamare zuwa sakandare:

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

A daya kumburi (wanda ke da albarkatun tare da matsayi na biyu), sanya shi na farko, sa'an nan kuma sanya na'urar a kanta kuma aiwatar da dogon jerin abubuwan hawan. Idan saitin yana aiki lafiya, duk fayilolin da aka adana a cikin ƙara yakamata su kasance a wurin:

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

Don ƙarin bayani, duba shafukan mutum na kayan aikin sarrafa sararin samaniya mai amfani:

# man drbdadm
# man drbdsetup
# man drbdmeta

Bayani: Jagorar Mai Amfani DRBD.

DRBD yana da sassauƙa sosai kuma mai jujjuyawa, wanda ya sa ya zama maganin kwafin ajiya wanda ya dace da ƙara HA zuwa kusan kowane aikace-aikacen. A cikin wannan labarin, mun nuna yadda ake shigar da DRBD a cikin CentOS 7 kuma mun nuna a taƙaice yadda ake amfani da shi don kwafin ajiya. Jin kyauta don raba ra'ayoyin ku tare da mu ta hanyar amsawar da ke ƙasa.