Pag-set up sa DRBD alang sa replikasyon sa pagtipig sa duha ka mga server sa CentOS 7

Ang paghubad sa artikulo giandam sa bisperas sa pagsugod sa kurso "Linux Administrator. Virtualization ug clustering".

Ang DRBD (Distributed Replicated Block Device) usa ka distributed, flexible, ug universally replicable storage solution para sa Linux. Gipakita niini ang sulud sa mga block device sama sa mga hard drive, partition, logical volume, ug uban pa. tali sa mga server. Naghimo kini og mga kopya sa datos sa duha ka storage device aron kon ang usa niini mapakyas, ang data sa ikaduha mahimong magamit.

Mahimo nimong isulti nga kini usa ka butang nga sama network RAID configuration 1 nga adunay mga disk nga gimapa sa lainlaing mga server. Bisan pa, kini hingpit nga lahi kaysa RAID (bisan ang network RAID).

Sa sinugdan, ang DRBD gigamit sa panguna sa taas nga pagkaanaa (HA) nga mga kumpol sa kompyuter, bisan pa, sugod sa bersyon XNUMX, mahimo kini magamit sa pag-deploy sa mga solusyon sa pagtipig sa panganod.

Sa kini nga artikulo, among ipasabut kung giunsa ang pag-install sa DRBD sa CentOS ug ipakita sa kadali kung giunsa kini gamiton aron makopya ang pagtipig (partisyon) sa duha nga mga server. Kini ang hingpit nga artikulo aron makasugod sa DRBD sa Linux.

Pagsulay sa palibot

Maggamit kami og duha ka node cluster alang niini nga setup.

  • Node 1: 192.168.56.101 – tecmint.tecmint.lan
  • Node 2: 192.168.56.102 – server1.tecmint.lan

Lakang 1: I-install ang mga pakete sa DRBD

Ang DRBD gipatuman isip usa ka Linux kernel module. Kini usa ka drayber alang sa usa ka virtual block device, mao nga kini nahimutang sa pinakaubos nga bahin sa I/O stack sa sistema.

Ang DRBD mahimong ma-install gikan sa ELRepo o EPEL. Magsugod ta pinaagi sa pag-import sa ELRepo package signing key ug pagkonektar sa repository sa duha ka node sama sa gipakita sa ubos.

# 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

Dayon kinahanglan nimo nga i-install ang DRBD kernel module ug mga utilities sa duha ka mga node gamit ang:

# yum install -y kmod-drbd84 drbd84-utils

Kung gipagana nimo ang SELinux, kinahanglan nimo nga i-configure ang mga palisiya aron ma-exempt ang mga proseso sa DRBD gikan sa kontrol sa SELinux.

# semanage permissive -a drbd_t

Dugang pa, kung ang imong sistema nagpadagan sa usa ka firewall (firewalld), kinahanglan nimo nga idugang ang DRBD port 7789 aron tugutan ang pag-synchronize sa datos tali sa duha nga mga node.

Pagdalagan kini nga mga sugo alang sa unang node:

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

Dayon padagana kini nga mga sugo alang sa ikaduhang node:

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

Lakang 2: Pag-andam sa Low-Level Storage

Karon nga na-install na namo ang DRBD sa duha ka cluster node, kinahanglan namong itagana ang mga storage area nga halos parehas ang gidak-on niini. Kini mahimo nga usa ka hard drive partition (o usa ka tibuok pisikal nga hard drive), usa ka software RAID device, LVM lohikal nga gidaghanon o bisan unsa nga matang sa block device nga makita sa imong sistema.

Alang niini nga artikulo, maghimo kami og 2GB nga test block device gamit ang dd command.

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

Atong isipon nga kini usa ka wala magamit nga partisyon (/ dev / sdb1) sa usa ka ikaduhang block device (/ dev / sdb) nga konektado sa duha ka mga node.

Lakang 3. Pag-configure sa DRBD

DRBD main configuration file βˆ’ /etc/drbd.conf, ug ang dugang nga mga file sa pag-configure makita sa direktoryo /etc/drbd.d.

Aron makopya ang pagtipig, kinahanglan namon nga idugang ang kinahanglan nga mga pag-configure sa file /etc/drbd.d/global_common.conf, nga naglangkob sa global ug kinatibuk-ang mga seksyon sa pag-configure sa DRBD, ug kinahanglan naton ipasabut ang mga kapanguhaan sa .res mga file.

Maghimo ta og backup nga kopya sa orihinal nga file sa duha ka node, ug dayon ablihan ang bag-ong file para sa pag-edit (gamit ug text editor nga imong gusto).

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

Idugang ang mosunod nga mga linya sa duha ka mga file:

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

I-save ang file ug dayon isira ang editor.

Atong tan-awon sa makadiyot ang linya sa protocol C. Gisuportahan sa DRBD ang tulo ka lainlaing mga mode sa pagkopya (nga mao, tulo ka ang-ang sa synchrony sa pagkopya), nga mao:

  • protocol A: asynchronous replication protocol; kasagarang gigamit sa long distance replication nga mga senaryo.
  • protocol B: Semi-synchronous replication protocol o synchronous memory protocol.
  • protocol C: sagad gigamit alang sa mga node sa mga network nga adunay mugbo nga distansya; mao kini ang labing kasagarang gigamit nga protocol sa pagkopya sa mga setting sa DRBD.

importante: Ang pagpili sa protocol sa pagkopya makaapekto sa duha ka hinungdan sa pag-deploy: seguridad ug latency. Sa kasukwahi, ang throughput wala magdepende pag-ayo sa pinili nga protocol sa pagkopya.

Lakang 4: Pagdugang usa ka kapanguhaan

Ang kahinguhaan kay usa ka payong nga termino nga nagtumong sa tanang aspeto sa usa ka partikular nga gikopya nga dataset. Atong ipasabut ang atong kapanguhaan sa file /etc/drbd.d/test.res.

Idugang ang mosunud sa file sa parehas nga mga node (hinumdomi nga ilisan ang mga variable sa aktwal nga mga kantidad alang sa imong palibot).

Hatagi'g pagtagad ang mga hostname, kinahanglan natong itakda ang network hostname, nga makuha gamit ang 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;
        }
}
}

diin:

  • sa hostname: Ang on nga seksyon diin ang nested configuration statement magamit.
  • pagsulay: Kini ang ngalan sa bag-ong kapanguhaan.
  • device /dev/drbd0: Nagpakita og bag-ong virtual block device nga gidumala sa DRBD.
  • disk /dev/sdb1: Kini usa ka block device partition nga usa ka backup device alang sa DRBD device.
  • meta-disk: Nagpasabot kung asa gitipigan sa DRBD ang metadata niini. Ang internal nagpasabot nga gitipigan sa DRBD ang metadata niini sa parehas nga pisikal nga ubos nga lebel nga aparato sama sa aktwal nga datos sa produksiyon.
  • nga adres: Nagpaila sa IP address ug port number sa katugbang nga node.

Timan-i usab nga kung ang mga parameter adunay parehas nga mga kantidad sa parehas nga mga host, mahimo nimo kini ipiho direkta sa seksyon sa mga kapanguhaan.

Pananglitan, ang pag-configure sa ibabaw mahimong mabag-o sa:

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

Lakang 5. Pagsugod ug paglansad sa kapanguhaan

Aron makig-uban sa DRBD atong gamiton ang mosunod nga mga himan sa administrasyon (nga makig-uban sa kernel module aron ma-configure ug madumala ang mga kapanguhaan sa DRBD):

  • drbdadm: DRBD high-level nga himan sa pagdumala.
  • drbdsetup: Usa ka ubos nga lebel nga himan sa pagdumala alang sa pagkonektar sa mga DRBD nga mga himan ngadto sa ilang mga backup nga mga himan, pag-configure sa mga parisan sa mga DRBD nga mga himan aron mapakita ang ilang mga backup nga mga himan, ug alang sa pag-verify sa configuration sa pagpadagan sa DRBD nga mga himan.
  • Drbdmeta: Tool sa pagdumala sa metadata.

Human sa pagdugang sa tanan nga mga inisyal nga resource configurations, kita kinahanglan nga motawag sa kapanguhaan sa duha ka nodes.

# drbdadm create-md test

Pag-set up sa DRBD alang sa replikasyon sa pagtipig sa duha ka mga server sa CentOS 7
Pagsugod sa Metadata Store

Sunod kinahanglan naton nga padaganon kini, nga magkonektar sa kapanguhaan sa backup nga aparato niini, dayon itakda ang mga parameter sa pagkopya ug ikonektar ang kapanguhaan sa kaedad niini:

# drbdadm up test

Karon kung gipadagan nimo ang mando lsblk, imong mamatikdan nga ang DRBD device/volume drbd0 nalangkit sa backup device /dev/sdb1:

# lsblk

Pag-set up sa DRBD alang sa replikasyon sa pagtipig sa duha ka mga server sa CentOS 7
Listahan sa mga block device

Aron ma-disable ang usa ka kapanguhaan, pagdagan:

# drbdadm down test

Aron masusi ang kahimtang sa usa ka kapanguhaan, padagana ang mosunud nga mando (timan-i nga ang kahimtang sa mga disk gilauman sa kini nga punto Dili makanunayon/Dili managsama):

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

Pag-set up sa DRBD alang sa replikasyon sa pagtipig sa duha ka mga server sa CentOS 7
Pagsusi sa kahimtang sa usa ka kapanguhaan sa
daotan

Lakang 6: Itakda ang nag-unang kapanguhaan/inisyal nga tinubdan sa pag-synchronize sa device

Niini nga yugto, andam na ang DRBD. Karon kinahanglan namong ipiho kung unsang node ang angay gamiton isip tinubdan sa inisyal nga pag-synchronize sa device.

Pagdalagan ang mosunod nga sugo sa usa lang ka node aron masugdan ang unang bug-os nga pag-synchronize:

# drbdadm primary --force test
# drbdadm status test

Pag-set up sa DRBD alang sa replikasyon sa pagtipig sa duha ka mga server sa CentOS 7
Pagbutang sa nag-unang node isip inisyal nga device
Kung nahuman na ang pag-synchronize, ang kahimtang sa duha nga mga drive kinahanglan nga UpToDate.

Lakang 7: Pagsulay sa DRBD setup

Sa katapusan, kinahanglan naton susihon kung ang aparato sa DRBD molihok kung gikinahanglan aron matipigan ang gikopya nga datos. Hinumdumi nga gigamit namon ang usa ka walay sulod nga volume sa disk, mao nga kinahanglan namon nga maghimo usa ka sistema sa file sa aparato ug i-mount kini aron masusi kung magamit ba namon kini aron matipigan ang gikopya nga datos.

Kinahanglan namon nga maghimo usa ka file system sa aparato gamit ang mosunud nga mando sa node diin gisugdan namon ang una nga bug-os nga pag-sync (nga adunay usa ka kapanguhaan nga adunay panguna nga papel):

# mkfs -t ext4 /dev/drbd0

Pag-set up sa DRBD alang sa replikasyon sa pagtipig sa duha ka mga server sa CentOS 7
Paghimo og file system sa Drbd volume

Dayon i-mount kini sama sa gipakita (mahimo nimong hatagan ang mount point og angay nga ngalan):

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

Karon kopyaha o paghimo og pipila ka mga file sa ibabaw sa mount point ug paghimo og taas nga listahan uban sa ls mga sugo:

# cd /mnt/DRDB_PRI/
# ls -l 

Pag-set up sa DRBD alang sa replikasyon sa pagtipig sa duha ka mga server sa CentOS 7
Ilista ang mga sulod sa nag-unang gidaghanon sa Drbd

Sunod, i-unmount ang aparato (siguroha nga ang mount dili bukas, usba ang direktoryo pagkahuman sa pag-unmount aron malikayan ang mga sayup) ug usba ang papel sa node gikan sa panguna hangtod sa sekondarya:

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

Himoa nga panguna ang pikas node (nga adunay kahinguhaan nga adunay ikaduha nga papel), dayon i-attach ang usa ka aparato niini ug i-isyu ang usa ka taas nga lista sa mga mount point. Kung maayo ang pag-setup, ang tanan nga mga file nga gitipigan sa volume kinahanglan naa didto:

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

Pag-set up sa DRBD alang sa replikasyon sa pagtipig sa duha ka mga server sa CentOS 7
Pagsusi sa DRBD setup nga nagdagan sa secondary node.

Alang sa dugang nga impormasyon, tan-awa ang mga panid sa tabang sa mga himan sa pagdumala:

# man drbdadm
# man drbdsetup
# man drbdmeta

Tabang: DRBD User Manual.

Sumaryo

Ang DRBD hilabihan ka flexible ug versatile, nga naghimo niini nga usa ka storage replication solution nga angay alang sa pagdugang sa HA sa halos bisan unsang aplikasyon. Sa kini nga artikulo, gipakita namon kung giunsa ang pag-install sa DRBD sa CentOS 7 ug gipakita sa kadali kung giunsa kini gamiton alang sa replikasyon sa pagtipig. Mobati nga gawasnon nga ipaambit kanamo ang imong mga hunahuna gamit ang porma sa feedback sa ubos.

Pagkat-on og dugang mahitungod sa kurso.

Source: www.habr.com

Idugang sa usa ka comment