Mete kanpe DRBD pou replikasyon depo sou de sèvè CentOS 7

Tradiksyon atik la te prepare lavèy kòmansman kou a "Administratè Linux. Virtualization ak clustering".

DRBD (Distributed Replicated Block Device) se yon solisyon depo distribiye, fleksib, ak inivèsèl repwodui pou Linux. Li reflete sa ki nan aparèy blòk tankou kondui di, patisyon, komèsan lojik, elatriye. ant sèvè yo. Li kreye kopi done sou de aparèy depo pou ke si youn nan yo echwe, done ki sou dezyèm lan ka itilize.

Ou ta ka di se yon bagay tankou rezo RAID konfigirasyon 1 ak disk trase sou diferan serveurs. Sepandan, li travay yon fason konplètman diferan pase ATAK (menm ATAK rezo).

Okòmansman, DRBD te itilize sitou nan grap òdinatè segondè disponiblite (HA), sepandan, kòmanse ak vèsyon 9, li ka itilize pou deplwaye solisyon depo nwaj yo.

Nan atik sa a, nou pral eksplike kijan pou enstale DRBD sou CentOS epi montre yon ti tan kijan pou itilize li pou repwodui depo (patisyon) atravè de serveurs. Sa a se atik pafè a pou kòmanse ak DRBD sou Linux.

Anviwònman tès la

Nou pral sèvi ak yon gwoup de ne pou konfigirasyon sa a.

  • Ne 1: 192.168.56.101 - tecmint.tecmint.lan
  • Ne 2: 192.168.56.102 - server1.tecmint.lan

Etap 1: Enstale pakè DRBD

DRBD aplike kòm yon modil nwayo Linux. Li se yon chofè pou yon aparèy blòk vityèl, kidonk li sitiye nan pati anba a anpil nan pil I/O sistèm lan.

DRBD ka enstale nan ELRepo oswa EPEL. Ann kòmanse pa enpòte kle siyen pake ELRepo a epi konekte depo a sou tou de nœuds jan yo montre anba a.

# 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

Lè sa a, ou bezwen enstale modil nwayo DRBD ak sèvis piblik sou tou de nœuds lè l sèvi avèk:

# yum install -y kmod-drbd84 drbd84-utils

Si ou gen SELinux aktive, ou bezwen konfigirasyon règleman pou egzante pwosesis DRBD nan kontwòl SELinux.

# semanage permissive -a drbd_t

Anplis de sa, si sistèm ou a ap kouri yon firewall (firewalld), w ap bezwen ajoute DRBD pò 7789 pou pèmèt senkronizasyon done ant de nœuds yo.

Kouri kòmandman sa yo pou premye ne:

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

Lè sa a, kouri kòmandman sa yo pou dezyèm ne:

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

Etap 2: Prepare depo ki ba-nivo

Kounye a ke nou gen DRBD enstale sou tou de nœuds gwoup, nou dwe bay zòn depo apeprè menm gwosè sou yo. Sa a ta ka yon patisyon kondwi difisil (oswa tout yon kondwi fizik fizik), yon aparèy RAID lojisyèl, LVM volim lojik oswa nenpòt lòt kalite aparèy blòk yo jwenn sou sistèm ou an.

Pou atik sa a, nou pral kreye yon aparèy blòk tès 2GB lè l sèvi avèk lòd dd la.

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

Ann sipoze sa a se yon patisyon ki pa itilize (/dev/sdb1) sou yon dezyèm aparèy blòk (/dev/sdb) ki konekte ak tou de nœuds.

Etap 3. Konfigirasyon DRBD

DRBD prensipal fichye konfigirasyon − /etc/drbd.conf, ak dosye konfigirasyon adisyonèl ka jwenn nan anyè a /etc/drbd.d.

Pou repwodui depo a, nou bezwen ajoute konfigirasyon ki nesesè yo nan dosye a /etc/drbd.d/global_common.conf, ki gen seksyon mondyal ak jeneral nan konfigirasyon DRBD, epi nou bezwen defini resous nan .res dosye.

Ann fè yon kopi sovgad nan dosye orijinal la sou tou de nœuds, ak Lè sa a, louvri nouvo fichye a pou koreksyon (sèvi ak yon editè tèks ou chwazi).

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

Ajoute liy sa yo nan tou de dosye:

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

Sove fichye a epi fèmen editè a.

Ann gade nan liy pwotokòl C a pou yon ti moman. DRBD sipòte twa mòd replikasyon diferan (sa vle di, twa degre nan senkroni replikasyon), sètadi:

  • pwotokòl A: pwotokòl replikasyon asynchrone; pi souvan itilize nan senaryo replikasyon long distans.
  • pwotokòl B: pwotokòl replikasyon semi-synchrone oswa pwotokòl memwa synchrone.
  • pwotokòl C: anjeneral yo itilize pou nœuds nan rezo ak distans kout; sa a se byen lwen pwotokòl replikasyon ki pi souvan itilize nan anviwònman DRBD.

Li enpòtan: Chwa pwotokòl replikasyon an afekte de faktè deplwaman: sekirite ak latansi. Kontrèman, debi pa depann anpil sou pwotokòl replikasyon chwazi a.

Etap 4: Ajoute yon resous

Resous se yon tèm parapli ki refere a tout aspè nan yon seri done patikilye repwodui. Nou pral defini resous nou an nan dosye a /etc/drbd.d/test.res.

Ajoute sa ki annapre yo nan dosye a sou tou de nœuds (sonje ranplase varyab yo ak valè aktyèl yo pou anviwònman ou).

Peye atansyon sou non host yo, nou bezwen presize non host rezo a, ki ka jwenn lè l sèvi avèk kòmandman 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;
        }
}
}

kote:

  • sou hostname: Seksyon sou kote deklarasyon an konfigirasyon anbrike aplike.
  • tès: Sa a se non nouvo resous la.
  • aparèy /dev/drbd0: Endike yon nouvo aparèy blòk vityèl jere pa DRBD.
  • disk /dev/sdb1: Sa a se yon patisyon aparèy blòk ki se yon aparèy backup pou aparèy DRBD la.
  • meta-disk: Defini kote DRBD estoke metadata li yo. Entèn vle di ke DRBD estoke metadata li yo sou menm aparèy fizik ki ba nivo ak done aktyèl yo nan pwodiksyon an.
  • adrès: Endike adrès IP ak nimewo pò ne korespondan an.

Epitou sonje ke si paramèt yo gen menm valè yo sou tou de lame, ou ka presize yo dirèkteman nan seksyon resous yo.

Pou egzanp, konfigirasyon ki anwo a ta ka restriktire nan:

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

Etap 5. Inisyalize epi lanse resous la

Pou kominike avèk DRBD nou pral sèvi ak zouti administrasyon sa yo (ki kominike avèk modil nwayo a pou konfigirasyon ak administre resous DRBD):

  • drbdadm: Zouti administrasyon wo nivo DRBD.
  • drbdsetup: Yon zouti administrasyon nivo ki pi ba pou konekte aparèy DRBD ak aparèy backup yo, konfigirasyon pè aparèy DRBD pou reflete aparèy backup yo, epi verifye konfigirasyon aparèy DRBD k ap fonksyone yo.
  • Drbdmeta: Zouti jesyon metadata.

Apre ou fin ajoute tout konfigirasyon resous inisyal yo, nou dwe envoke resous la sou tou de nœuds.

# drbdadm create-md test

Mete kanpe DRBD pou replikasyon depo sou de sèvè CentOS 7
Inisyalize magazen Metadata

Apre sa, nou bezwen kouri li, ki pral konekte resous la ak aparèy backup li yo, Lè sa a, mete paramèt replikasyon yo epi konekte resous la ak kamarad li yo:

# drbdadm up test

Koulye a, si ou kouri lòd la lsblk, ou pral remake ke aparèy la DRBD/volim drbd0 asosye ak aparèy la backup /dev/sdb1:

# lsblk

Mete kanpe DRBD pou replikasyon depo sou de sèvè CentOS 7
Lis aparèy blòk yo

Pou enfim yon resous, kouri:

# drbdadm down test

Pou tcheke estati yon resous, kouri lòd sa a (remake byen ke estati a nan disk yo espere nan pwen sa a Enkonsistan/Enkonsistan):

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

Mete kanpe DRBD pou replikasyon depo sou de sèvè CentOS 7
Tcheke estati a nan yon resous sou
sa ki mal

Etap 6: Mete resous prensipal la / sous senkronizasyon aparèy inisyal la

Nan etap sa a, DRBD pare pou ale. Koulye a, nou bezwen presize ki ne yo ta dwe itilize kòm sous la nan senkronizasyon aparèy inisyal.

Kouri lòd sa a sou yon sèl ne pou kòmanse premye senkronizasyon konplè a:

# drbdadm primary --force test
# drbdadm status test

Mete kanpe DRBD pou replikasyon depo sou de sèvè CentOS 7
Mete ne prensipal la kòm aparèy inisyal la
Yon fwa senkronizasyon konplè, eta tou de kondui yo ta dwe UpToDate.

Etap 7: Tès konfigirasyon DRBD la

Finalman, nou bezwen tcheke si aparèy DRBD a ap travay jan sa nesesè pou estoke done yo replike. Sonje ke nou te itilize yon volim disk vid, kidonk nou dwe kreye yon sistèm fichye sou aparèy la epi monte li pou tcheke si nou ka itilize li pou estoke done replike.

Nou bezwen kreye yon sistèm fichye sou aparèy la lè l sèvi avèk lòd sa a sou ne kote nou te kòmanse premye senkronizasyon konplè a (ki gen yon resous ak wòl prensipal la):

# mkfs -t ext4 /dev/drbd0

Mete kanpe DRBD pou replikasyon depo sou de sèvè CentOS 7
Kreye yon sistèm dosye sou volim Drbd

Lè sa a, monte li jan yo montre (ou ka bay pwen mòn lan yon non apwopriye):

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

Koulye a, kopi oswa kreye kèk dosye nan pwen mòn ki anwo a epi fè yon lis long ak ls kòmandman:

# cd /mnt/DRDB_PRI/
# ls -l 

Mete kanpe DRBD pou replikasyon depo sou de sèvè CentOS 7
Lis sa ki nan volim prensipal Drbd la

Apre sa, demonte aparèy la (asire w ke mòn lan pa louvri, chanje anyè a apre demonte pou evite erè) epi chanje wòl nan ne soti nan prensipal nan segondè:

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

Fè lòt ne (ki gen yon resous ak yon wòl segondè) prensipal, Lè sa a, tache yon aparèy sou li epi bay yon lis long nan pwen mòn. Si konfigirasyon an fonksyone byen, tout dosye ki estoke sou volim la ta dwe la:

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

Mete kanpe DRBD pou replikasyon depo sou de sèvè CentOS 7
Tcheke konfigirasyon DRBD kouri sou ne segondè a.

Pou plis enfòmasyon, gade paj èd zouti administratif yo:

# man drbdadm
# man drbdsetup
# man drbdmeta

Èd: Manyèl Itilizatè DRBD.

Rezime

DRBD trè fleksib ak versatile, fè li yon solisyon replikasyon depo apwopriye pou ajoute HA nan prèske nenpòt aplikasyon. Nan atik sa a, nou te montre ki jan yo enstale DRBD sou CentOS 7 epi yon ti tan demontre kijan pou itilize li pou replikasyon depo. Ezite pataje panse ou avèk nou lè l sèvi avèk fòm fidbak ki anba a.

Aprann plis sou kou a.

Sous: www.habr.com

Add nouvo kòmantè