ααΆαααααααα’αααααααααΌαααΆααααα
ααα
αα»αααααα
αΆααααααΎααααααααα·ααααΆ
DRBD (Distributed Replicated Block Device) ααΊααΆαααααααααΆααααα»ααα·αααααααααααΆαα ααα αΆα αααααα αα·αα’αΆα α ααααααΆααααααααΆααααΈαα»α α ααΆαααα»ααααα αΆααααΈααααΉαααΆαααα§ααααααααα»αααΌα ααΆ ααΆαααΉα ααΆαααΆα ααΆαα‘αΌααΈααααα αααΆααααΆαααΈαααα ααΆαααααΎαα αααΆααα αααααα·αααααααα ααΎα§ααααααααα»αααΈα ααΌα ααααααααα·αααΎαα½ααααα»αα αααααα½αααΆαααΆααα αα·αααααααα ααΎα§αααααααΈααΈαα’αΆα ααααΌαααΆαααααΎα
α’αααβα’αΆα
βαα·ααΆαβααΆαβααΆβααΆβααΌα
βααΆβα’αααΈβαα½αα
ααααΌα DRBD ααααΌαααΆαααααΎααΆα αααααα αααα»αα ααααααα»αααααΌααααααα’αΆα ααααΆαααααα (HA) αααααΆαααΆαααΆααααα α αΆααααααΎαααΆαα½ααααα XNUMX ααΆα’αΆα ααααΌαααΆαααααΎααΎααααΈααΆαααααααΆααααααααααΆαααΆααααα»ααααα
αα αααα»αα’αααααααα ααΎαααΉαααααααααΈααααααα‘αΎα DRBD αα ααΎ CentOS αα·ααααα αΆααααΆαααααΈααΈααααααααΎααΆααΎααααΈα αααααααααααααα»α (ααΆαααΆα) αα ααΎαααΆαααΈαααααΈαα αααααΊααΆα’αααααααααα’α₯αααα ααααΎααααΈα αΆααααααΎαααΆαα½α DRBD αα ααΎααΈαα»α α
ααα·ααααΆαααΆααααα
ααΎαααΉαααααΎα αααααααααΆααααΈααααααΆααααΆαααα‘αΎααααα
- ααααΆαα 1: 192.168.56.101 β tecmint.tecmint.lan
- ααααΆαα 2: 192.168.56.102 β server1.tecmint.lan
ααα αΆαααΈ 1: ααα‘αΎααααα αα DRBD
DRBD ααααΌαααΆαα’αα»ααααααΆαααΌαα»αααΊαααααΈαα»α α ααΆααΊααΆαααααα·ααΈαααααΆαααααΆααα§ααααααααα»ααα·αααα·α ααΌα ααααααΆααΆαααΈααΆαααα αααααααΆαααααααααα»ααα I/O stack ααααααααααααα
DRBD α’αΆα ααααΌαααΆαααα‘αΎαααΈ ELRepo α¬ EPEL α α αΌαα αΆααααααΎααααααΆαααΆαα αΌαααΌαααα α»αα αααααααΆαααα αα ELRepo α αΎαααααΆααααααΆαααα ααΎααααΆααααΆααααΈαααΌα ααΆααααα αΆαααΆααααααα
# 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
αααααΆααααα’αααααααΌαααα‘αΎααααΌαα»αααΊααα DRBD αα·αα§αααααααααΎααααΆαααα ααΎααααΆααααΆααααΈααααααααΎα
# yum install -y kmod-drbd84 drbd84-utils
ααααα·αααΎα’αααααΆαααΎα SELinux α’αααααααΌαααααααα ααΆαααααααααααααΆαααααΎααααΈααΎααααααααΎαααΆα DRBD ααΈααΆαααααααααα SELinux α
# semanage permissive -a drbd_t
ααΎαααΈαααααα ααααα·αααΎααααααααααααα’ααααααα»αααααΎαααΆααααααΆααααααΎα (firewalld) α’αααααΉαααααΌαααααααα ααα DRBD 7789 ααΎααααΈα’αα»ααααΆαα±ααααααΎααααΆααααααα·αααααααααΆαααααΆααααΆααααΈαα
ααααΎαααΆαααΆααααααααΆααΆααααααααααΆααααααΆααααΈαα½αα
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.102" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload
αααααΆααααααααΎαααΆαααΆααααααααΆααΆααααααααααΆααααααΆααααΈααΈαα
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.101" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload
ααα αΆαααΈ 2: αααα αααΆααααα»αααααα·αααΆα
α₯α‘αΌααααααΎαααΆαααα‘αΎα DRBD αα
ααΎααααΆααα
αααααααΆααααΈα ααΎαααααΌαααααααααααααααα»ααααααΆαααα ααααα αΆαααααα ααααααΆαα
ααΎαα½αααΆα αααα’αΆα
ααΆααΆαααΆαααΉα (α¬ααααΆαααααΉαααΆααααΌα) α§ααααα RAID ααααααααα
αααααΆααα’αααααααα ααΎαααΉααααααΎαα§αααααααΆααααα 2GB αααααααΎααΆααααααααΆ dd α
# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024
α αΌααααααααΆαααααΆααΆαααΆαααααα·αααααΎ (/dev/sdb1) αα ααΎα§ααααααααα»αααΈααΈα (/dev/sdb) αααααααΆαααα ααααΆααααΆααααΈαα
ααα αΆαααΈ 3. ααΆαααααααα ααΆαααααααα DRBD
α―αααΆαααααααα
ααΆααααααααααααΆαα DRBD β /etc/drbd.conf
α αΎαα―αααΆαααααααα
ααΆααααααααααααααα’αΆα
ααααΌαααΆαααααΎααα
αααα»ααα /etc/drbd.d
.
ααΎααααΈα
ααααααα ααααα»α ααΎαααααΌαααααααααΆαααααααα
ααΆααααααααα
αΆαααΆα
ααα
αααα»αα―αααΆα /etc/drbd.d/global_common.conf
αααααΆααααααααα αα·αααΌαα
ααααΆαααααααα
ααΆαααααααα DRBD α αΎαααΎαααααΌααααααααααΆααα
αααα»α .res
α―αααΆαα
α αΌαααααΎααΆαα ααααααααα»ααα»αααα―αααΆαααΎααα ααΎααααΆααααΆααααΈα α αΎααααααΆααααααΎαα―αααΆαααααΈαααααΆααααααααα½α (ααααΎαααααα·ααΈαα·ααααα’αααααααΆααααααΎαααααα’ααα)α
# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig
# vim /etc/drbd.d/global_common.conf
αααααααααααΆααααΆαααααααα α―αααΆαααΆααααΈαα
global {
usage-count yes;
}
common {
net {
protocol C;
}
}
αααααΆαα»αα―αααΆαα αΎααααααΆαααααα·ααααααα·ααΈαα·ααααα
ααΌααααα‘ααααΎααααααΆαααα·ααΈααΆα C αα½αααααα DRBD ααΆααααααααα ααααα ααα½αααΈαααααααααΆ (αααααΊααΈααΊααααααααΆαααααΎααααΆαααααα αααα) αααααΊα
- αα·ααΈααΆα Aα αα·ααΈααΆαα ααααα’ααααΆα; ααΆαα αααΎαααααΌαααΆαααααααΎαα αααα»αααααΆααΈαααΌα ααααα ααααΆαααααΆαα
- αα·ααΈααΆα Bα αα·ααΈααΆαα ααααααΆαααααααΆαααααΆααααα α¬αα·ααΈααΆαα’αααα αα αΆαααααΆαααααα
- αα·ααΈααΆα C: ααΆααααααΆααααΎαααααΆααααααΆαααααα»ααααααΆααααααΆαα ααααΆαααααΈα αααααΊααΆαα·ααΈααΆαα αααααααααααΎααΆααΌαα αααα»ααα αααα»αααΆαααααα DRBD α
ααααΆαα: αααααΎααααα·ααΈααΆαα αααααααααΆααααααααααΆααΆαααααααΆαααΈαα αα»ααααα·ααΆα αα·αααΆαααΊααααΆαα αααα»ααα αα·α ααΆααααααΌααααααα·αααΉαααα’ααααααΆααααΎαα·ααΈααΆαα αααααααααΆαααααΎαααΎααααααα
ααα αΆαααΈ 4: ααααααααααΆα
ααααΆαααΊααΆααΆααααααααααααααα
ααΎααααααα·αααααΆαααΆααα’αααααααα»ααα·αααααααααααΆαα
ααααααΆααααΆαααα½αα ααΎαααΉααααααααααΆαααααααΎααα
αααα»αα―αααΆα /etc/drbd.d/test.res
.
ααααααααΆαααααααα α―αααΆααα ααΎααααΆααααΆααααΈα (α αα αΆαααΎααααΈαααα½αα’αααααΆαα½αααΉααααααααΆααααααααααααΆααααα·ααααΆαααααα’ααα)α
ααα
α·ααααα»αααΆααα
ααααααααααααΆαααΈα ααΎαααααΌααααααΆααααααααααΆαααΈααααααΆα αααα’αΆα
ααα½αααΆααααααααΎααΆααααααααΆ 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;
}
}
}
αααααΆαααααα:
- αα ααΎααααααααΆαααΈαα αααααβαααβααα ααααΈαααααααΆαααβααΆαβαααααβαα ααΆααααααααβααΆαβααΆααβα’αα»ααααα
- ααΆαααααΎαααααα αααααΊααΆαααααααααΆαααααΈα
- α§ααααα /dev/drbd0α αααα αΆαα§ααααααααα»ααα·αααα·αααααΈααααααααααααααα DRBD α
- ααΆα / dev / sdb1α αααβααΊβααΆβααΆαααΆαβα§αααααβαααα»αβαααβααΆβα§αααααβααααα»αβαα»αβαααααΆααβα§ααααα DRBD α
- ααΆαααααΆα αααααααααααααα DRBD αααααΆαα»ααα·ααααααααααΆααααααΆα αααααααα»αααΆααααααΆ DRBD αααααΆαα»ααα·ααααααααααΆααααααΆαα ααΎα§αααααααααα·αααΆαααΌα ααααΆαα ααΉααα·ααααααααΆααααααααα αααα»αααα·αααααα
- α’αΆααααααΆαα αααα αΆαα’αΆααααααΆα IP αα·ααααα αααααααααααΆαααααααααΌαααααΆα
ααΌαα αααΆααααααααΆααααα·αααΎαααΆαααΆααααααααΆααααααααΌα ααααΆαα ααΎαααΆαααΈαααΆααααΈαααα α’αααα’αΆα αααααΆαααα½αααΆαααααααΆαααα αααα»ααααααααααΆαα
α§ααΆα ααα ααΆαααααααα ααΆααααααααααΆαααΎα’αΆα ααααΌαααΆααααα αα‘αΎααα·αααΎααααΈα
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;
}
}
ααα αΆαααΈ 5. α αΆααααααΎα αα·αααΎαααααΎαααΆαααααΆα
ααΎααααΈααααΎα’ααααααααααΆαα½α DRBD ααΎαααΉαααααΎα§ααααααααααααααααΆαααααα (αααααΆαα’ααααααααααΆαα½ααααΌαα»αααΊαααααΎααααΈααααααα ααΆαααααααα αα·ααααααααααααααΆα DRBD)α
- drbdadmα α§ααααααααααααααααααα·αααααα DRBD α
- ααΆαααα‘αΎα drbdα α§ααααααααααααααααααα·αααΆααααααΆααααααΆααα§ααααα DRBD αα α§αααααααααα»ααα»ααααααα½ααα ααααααα ααΆααααααααα§ααααα DRBD ααΌααΎααααΈαααα»ααααα αΆααα§αααααααααα»ααα»ααααααα½ααα αα·ααααααΆαααααααααααΆααααΆαααααααα ααΆααααααααα§ααααα DRBD ααααααα»αααααΎαααΆαα
- Drbdmetaα α§αααααααααααααααα·ααααααααααΆα
αααααΆααααΈααααααααΆαααααααα ααΆααααααααααααΆαααααΌαααΆααα’αα ααΎαααααΌαα α ααααΆααα ααΎααααΆααααΆααααΈαα
# drbdadm create-md test
ααΆαα
αΆααααααΎαα αΆααα·ααααααααααΆ
αααααΆααααααΎαααααΌαααααΎαααΆαααΆ αααααΉαααααΆααααααΆααα α§αααααααααα»ααα»αααααααΆ αααααΆααααααααααααΆαααΆααααααα αααα αα·αααααΆααααααΆααα αα·ααααααααα·ααααααΆα
# drbdadm up test
α₯α‘αΌααααααααα·αααΎα’αααααααΎαααΆαααΆααααααααΆ /dev/sdb1
:
# lsblk
αααααΈα§ααααααααααααΆαα
ααΎααααΈαα·αααααΆα ααΌαααααΎαααΆαα
# drbdadm down test
ααΎααααΈαα·αα·αααααΎαααααΆαααΆαααααααΆα ααΌαααααΎαααΆαααΆααααααααΆααΆαααααα (α αααΆαααΆααααΆαααΆαααααααΆαααααΌαααΆαααααΉααα»ααα α ααα»α ααα αα·ααααΈαααααΆααααααΆ/αα·ααααΈαααααΆααααααΆα):
# drbdadm status test
OR
# drbdsetup status test --verbose --statistics #for a more detailed status
αααα»ααα·αα·αααααΎαααααΆαααΆαααααααΆααα
ααΎ
α’αΆααααα
ααα αΆαααΈ 6α αααααααααΆαααα/αααααααααΆαααααΎααααΆαααααα§αααααααααΌα
αα ααααΆααααΆαααα DRBD ααααααααα½ααα½α ααΆααα αΎαα α₯α‘αΌααααααΎαααααΌααααααΆααααΆααΎααααΆααααΆααααα½αααααΎααΆαααααααααΆαααααΎααααΆαααααα§αααααααααΌαα
ααααΎαααΆαααΆααααααααΆααΆαααααααα ααΎααααΆαααα½αααΎααααΈα αΆααααααΎαααΆαααααΎααααΆαααααααααααααααΌαα
# drbdadm primary --force test
# drbdadm status test
ααΆααααααααααΆαααααααΆα§αααααααααΌα
αα
ααααααααΆαααααΎααααΆαααααααααΌαααΆααααα
αα ααααΆαααΆαααααααΆαααΆααααΈααα½αααααΆ UpToDate α
ααα αΆαααΈ 7: ααΆαααααααΆαααα‘αΎα DRBD
ααΆα α»αααααα ααΎαααααΌααα·αα·αααααΎαααΆααΎα§ααααα DRBD ααΉαααααΎαααΆαααΆααααααΌαααΆαααΎααααΈαααααΆαα»ααα·ααααααα αααααααα¬ααα ααΌαα αΆαααΆααΎαααΆαααααΎααα αααΆαααα ααΌα ααααααΎαααααΌααααααΎαααααααααα―αααΆααα ααΎα§ααααα α αΎαααααΆααααΆααΎααααΈαα·αα·αααααΎαααΆααΎααΎαα’αΆα ααααΎααΆααΎααααΈαααααΆαα»ααα·ααααααα αααααααα¬ααα
ααΎαααααΌααααααΎαααααααααα―αααΆααα ααΎα§ααααααααααααΎααΆααααααααΆααΆαααααααα ααΎααααΆαααααααΎαααΆαα αΆααααααΎαααΆαααααΎααααΆαααααααααααααααΌα (αααααΆαααααΆααααααΆααα½ααΆααΈα αααα):
# mkfs -t ext4 /dev/drbd0
ααΆααααααΎαααααααααα―αααΆααα
ααΎααααα·αααα‘αα Drbd
αααααΆααααααααααΆααΌα αααααΆααααα αΆα (α’αααα’αΆα αααααα±ααα ααα»α ααααααΆααααααααααα):
# mkdir -p /mnt/DRDB_PRI/
# mount /dev/drbd0 /mnt/DRDB_PRI/
α₯α‘αΌααααα
αααα α¬αααααΎαα―αααΆααα½αα
ααα½ααα
αααα»αα
ααα»α
ααααααΆαααΎ α αΎαααααΎαααααΈαααααΆαα½α
# cd /mnt/DRDB_PRI/
# ls -l
ααΆαααΆαα·ααΆααααα·ααΆα Drbd α
αααα
αααααΆαααα αααβααΆαβααααβα§ααααα (ααααΌαααααΆααααΆβααΆαβααααβαα·αβααΎαβαα ααααΌαβααβαααααΆααβααΈβα’αΆααβαααα ααΎααααΈβαααααΆαβααα α»α) α αΎαβααααΌαβαα½ααΆααΈβααααΆααβααΈβαααβαα βα’αα»αα·ααααΆαααα
# umount /mnt/DRDB_PRI/
# cd
# drbdadm secondary test
ααααΎα±ααααααΆαααααααααα (αααααΆαααααΆααααααΆααα½ααΆααΈαααααΆααααααα) ααα αααααΆααααααααΆααα§ααααααα ααΆ α αΎαα αααααααΈαααααα ααα»α ααααα ααααα·αααΎααΆαααα‘αΎαααααΎαααΆαααα’ α―αααΆαααΆααα’ααααααααα»ααα ααΎααααα·αααα‘αααα½ααααα ααΈαααα
# drbdadm primary test
# mkdir -p /mnt/DRDB_SEC/
# mount /dev/drbd0 /mnt/DRDB_SEC/
# cd /mnt/DRDB_SEC/
# ls -l
αααα»ααα·αα·αααααΎαααΆαααα‘αΎα DRBD αααααααΎαααΆαααΎααααΆαααααααΆαααααααα
αααααΆααααααααΆααααααα ααΌαααΎαααααααααα½αα§αααααααααααΆαα
# man drbdadm
# man drbdsetup
# man drbdmeta
αααα½α:
αααααα
DRBD ααΆαααΆααααααα αα·αα’αΆα ααααΎααααΆααααΆαα αααΎα αααααααΎα±ααααΆααααΆαααΆαααααααααΆαα ααααααΆααααα»αααααααααααααααΆααααΆααααααα HA αα ααααΎαααααααααααααα·ααΈααΆααα’ααα αα αααα»αα’αααααααα ααΎαααΆααααα αΆαααΈααααααα‘αΎα DRBD αα ααΎ CentOS 7 αα·ααααα αΆααααΆαααααΈααΈααααααααΎααΆαααααΆααααΆαα ααααααΆααααα»αα ααΆαα’αΆααααααααααΈαααα»αααΆαα ααααααααααα·αααααα’αααααΆαα½ααα½αααΎααααααααΎααααααααα·αααααα’ααΆααααααα
ααααα: www.habr.com