DRBD
安装DRBD
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
yum install -y drbd90-utils kmod-drbd90
启动DRBD内核模块
modprobe drbd
echo drbd > /etc/modules-load.d/drbd.conf
移除默认配置
mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig
创建全局配置
cat << EOF > /etc/drbd.d/global_common.conf
global {
# 禁用linbit公司收集drbd的使用情况
usage-count no;
}
common {
handlers {
}
startup {
}
options {
}
disk {
}
net {
protocol C;
# 调节 TCP send buffer 的大小, 0(自动调节大小), 128k(默认值), 512k(高吞吐量网络使用)
sndbuf-size 512k;
# 设定由drbd分配的最大请求数,这些buffer用来存储即将写入磁盘的数据
max-buffers 8192;
# 设置两次 write barriers 之间最大的数据块
max-epoch-size 8192;
# 指定HMAC算法来启用对等节点授权
cram-hmac-alg "sha1";
}
}
EOF
创建资源配置文件
cat << EOF > /etc/drbd.d/r0.res
resource r0 {
on hostname-01 {
device /dev/drbd1;
disk /dev/vdb;
address 10.14.xx.66:7789;
meta-disk internal;
}
on hostname-02 {
device /dev/drbd1;
disk /dev/vdb;
address 10.14.xx.67:7789;
meta-disk internal;
}
}
EOF
初始化设备元文件
drbdadm create-md r0
踩坑记录:执行drbdadm create-md r0,报错
解决方法
dd if=/dev/zero of=/dev/vdb bs=1M count=100
启动系统服务
需要快速同时启动两台服务器的DRBD服务
systemctl enable drbd
systemctl start drbd
主节点
在szns-bank-c-poc启动设备并使其成为主节点
drbdadm primary r0
如果启用主节点命令失败需要使用以下命令
drbdadm primary r0 --force
查看同步进程
drbdsetup status r0 --verbose --statistics
如果启用了防火墙需打开7789端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="ip_address" port port="7789" protocol="tcp" accept'
firewall-cmd --reload
验证
在hostname-02执行以下命令创建文件系统并挂载
mkfs.xfs /dev/drbd1
mount /dev/drbd1 /data
创建测试文件
touch /data/file{1..3}
ls -l /data
total 0
-rw-r--r--. 1 root root 0 Jun 10 09:43 file1
-rw-r--r--. 1 root root 0 Jun 10 09:43 file2
-rw-r--r--. 1 root root 0 Jun 10 09:43 file3
卸载文件系统并切换为备节点
umount /data
drbdadm secondary r0
在hostname-01上执行以下命令确认文件
drbdadm primary r0
mount /dev/drbd1 /data
ls -l /data
total 0
-rw-r--r--. 1 root root 0 Jun 10 09:43 file1
-rw-r--r--. 1 root root 0 Jun 10 09:43 file2
-rw-r--r--. 1 root root 0 Jun 10 09:43 file3
DRBD 挂载磁盘
umount /data
drbdadm secondary r0
mount /dev/drbd1 /data
drbdadm primary r0
都看到这里了,点个赞再走吧,爱你么么哒~