NFS HA架构部署(NFS + Pacemaker + Corosync + DRBD)
从官方下载源码:
# curl -O https://www.linbit.com/downloads/drbd/9.0/drbd-9.0.18-1.tar.gz\\\
# curl -O https://www.linbit.com/downloads/drbd/utils/drbd-utils-9.10.0.tar.gz
解压,编译,安装
# tar drbd-utils-9.10.0.tar.gz
# cd drbd-utils-9.10.0/
# yum -y install flex po4a
# ./configure --prefix=/opt/drbd-utils --without-83support --without-84support --with-pacemaker --with-rgmanager --with-bashcompletion --with-initdir
# make && make install
# tar xf drbd-9.0.18-1.tar.gz
# cd drbd-9.0.18-1/
# yum -y install kernel-devel
# make KDIR=/usr/src/kernels/3.10.0-957.21.3.el7.x86_64
# make install
# modprobe drbd 加载drbd模块
# lsmod |grep drbd 加快模块是否加载
# echo drbd >/etc/modules-load.d/drbd.conf 开机加载此模块
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.9.200.25 centos7v6a
192.9.200.26 centos7v6b
# cd /opt/drbd-utils/etc
# ls
bash_completion.d drbd.conf drbd.d xen
# cat drbd.conf
# You can find an example in /usr/share/doc/drbd.../drbd.conf.example
include "drbd.d/global_common.conf";
include "drbd.d/*.res";
# cat global_common.conf
global {
usage-count no;
}
common {
startup {
wfc-timeout 120;
degr-wfc-timeout 120;
}
disk {
resync-rate 10M;
}
net {
protocol C;
timeout 60;
connect-int 10;
ping-int 10;
}
}
# cat r0.res
resource r0 {
on centos7v6a {
device /dev/drbd1;
disk /dev/vdb1;
address 192.9.200.25:7789;
meta-disk internal;
}
on centos7v6b {
device /dev/drbd1;
disk /dev/vdb1;
address 192.9.200.26:7789;
meta-disk internal;
}
}
#drbdadm create-md r0 //建立 drbd resource
#drbdadm up r0 //启动 resource r0
#drbdadm primary --force r0 //设置节点一为主节点
两个节点都启动drbd.service
systemctl start drbd.service
systemctl enable drbd.service
这里会等待其他服务器也start,操作第一台后,马上启动第二台。
r0状态查看
# drbdadm dstate r0
UpToDate/UpToDate
# mount /dev/drbd1 /share
mount: /dev/drbd1 写保护,将以只读方式挂载
mount: 将 /dev/drbd1 挂载到 /share 失败: 错误的介质类型
节点一:
cp anaconda-ks.cfg /share/ks.cfg
umount /share
drbdadm secondary all
节点二:
drbdadm primary all
mount /dev/drbd1 /share
观察是否同步
#ls /share/
ks.cfg