Ang paghubad sa artikulo giandam sa bisperas sa pagsugod sa kurso
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
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,
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
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 /dev/sdb1
:
# lsblk
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
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
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
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
# cd /mnt/DRDB_PRI/
# ls -l
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
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:
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.
Source: www.habr.com