主机环境
主机 | 网卡 |
---|---|
drbd1 | eth0:192.168.0.11 (vmnat8 nat模式) |
drbd2 | eth0:192.168.0.12(vmnat8 nat模式) |
1、操作系统centos7.9
2、每台机器增加一块20GB的磁盘
主机配置
# 修改主机名
hostnamectl set-hostname drbd1
hostnamectl set-hostname drbd2
# 磁盘分区如下
[root@drbd1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 70G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 69G 0 part
├─centos-root 253:0 0 45G 0 lvm /
├─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─centos-home 253:2 0 22G 0 lvm /home
sdb 8:16 0 20G 0 disk
sr0 11:0 1 1024M 0 rom
# 创建lvm(每个节点需要执行)-也可以选择磁盘,不用lvm
pvcreate /dev/sdb
vgcreate mdata /dev/sdb
lvcreate -l 100%VG -n mdata mdata
# 关闭防火墙(每个节点需要执行)
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
setenforce 0
systemctl disable firewalld --now
# 配置hosts文件(每个节点需要执行)
echo '192.168.0.11 drbd1' >>/etc/hosts
echo '192.168.0.12 drbd2' >>/etc/hosts
# 配置时间同步(每个节点需要执行)
ntpdate time2.aliyun.com
# 配置互信
# 安装drbd(每个节点需要执行)
rpm -ivh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum install -y drbd84-utils kmod-drbd84
# 开机自动加载drbd模块(每个节点需要执行)
echo 'drbd' >>/etc/modules-load.d/config.conf
modprobe drbd
修改配置文件
# 修改global_common.conf(每个节点需要执行)
cat << EOF > /etc/drbd.d/global_common.conf
global {
usage-count no;
}
common {
net {
protocol C;
}
}
EOF
# 创建资源文件(每个节点需要执行)
cat << EOF > /etc/drbd.d/drbd0.res
resource drbd0 {
on drbd1 {
device /dev/drbd0;
disk /dev/mapper/mdata-mdata;
address 192.168.0.11:7789;
meta-disk internal;
}
on drbd2 {
device /dev/drbd0;
disk /dev/mapper/mdata-mdata;
address 192.168.0.12:7789;
meta-disk internal;
}
}
EOF
启动服务
# 创建drbd资源
drbdadm create-md drbd0
# 启动drbd服务
systemctl start drbd
# 查看启动状态
cat /proc/drbd
[root@drbd1 ~]# cat /proc/drbd
version: 8.4.11-1 (api:1/proto:86-101)
GIT-hash: 66145a308421e9c124ec391a7848ac20203bb03c build by mockbuild@, 2020-04-05 02:58:18
0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r-----
ns:0 nr:0 dw:0 dr:0 al:8 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:20966748
# 配置drbd1节点为Primary,并传输数据
[root@drbd1 ~]# drbdadm up drbd0
Device '0' is configured!
Command 'drbdmeta 0 v08 /dev/mapper/mdata-mdata internal apply-al' terminated with exit code 20
[root@drbd1 ~]# drbdadm -- --force primary drbd0
# 查看数据传输
[root@drbd1 ~]# cat /proc/drbd
version: 8.4.11-1 (api:1/proto:86-101)
GIT-hash: 66145a308421e9c124ec391a7848ac20203bb03c build by mockbuild@, 2020-04-05 02:58:18
0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----
ns:24984 nr:0 dw:0 dr:27088 al:8 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:20941764
[>....................] sync'ed: 0.2% (20448/20472)M
finish: 1:36:57 speed: 3,568 (3,568) K/sec
# 创建文件系统 文件系统只能挂载在主(Primary)节点上,因此在设置好主节点后才可以对DRBD设备进行格式化操作,如果想在备节点查看数据是否同步过来,需要进行主备角色切换
mkfs.ext4 /dev/drbd0
mount /dev/drbd0 /mnt/
参考资料链接
https://blog.csdn.net/tjiyu/article/details/52723125
https://blog.csdn.net/u012865381/article/details/77481026