一、服务器信息
IP地址 | 类型 | 主机名 |
---|---|---|
192.168.200.111 | 主服务器 | nfs1 |
192.168.200.112 | 备服务器 | nfs2 |
二、两台主机关闭防火请,安全机制
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce 0
三、两台主机设置hosts文件,打通通道
[root@localhost ~]# vim /etc/hosts
192.168.200.111 nfs1
192.168.200.112 nfs2
#打通ssh通道
#主服务器
[root@localhost ~]# ssh-keygen
[root@localhost ~]# ssh-copy-id nfs2
#备服务器
[root@localhost ~]# ssh-keygen
[root@localhost ~]# ssh-copy-id nfs1
四、两台主机配置yum的epel源,方便软件安装
#下载地址
https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
#安装
[root@localhost ~]# rpm -Uvh elrepo-release-7.0-3.el7.elrepo.noarch_\(1\).rpm
五、两台主机安装配置DRBD
- 安装DRBD
[root@localhost ~]# yum install -y drbd84-utils kmod-drbd84
- 加载模块
[root@localhost ~]# modprobe drbd
modprobe: FATAL: Module drbd not found. #出现这个错误说明linux内核版本过低
#升级linux内核版本,升级完成必须重启生效
[root@localhost ~]# yum -y install kernel-devel kernel kernel-headers
[root@localhost ~]# reboot #重启
#再次加载模块
[root@nfs1 ~]# modprobe drbd
#查看模块是否加载上了
[root@nfs2 ~]# lsmod |grep drbd
drbd 397041 0 #加载成功
- 查看修改配置文件
[root@nfs1 ~]# cat /etc/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"; #指定了启动配置文件位置
#添加资源配置文件
[root@nfs1 ~]#
[root@nfs1 ~]# vim /etc/drbd.d/r0.res
global {
usage-count yes;
#是否参与DRBD使用者统计,默认为yes,yes or no都无所谓
}
common {
syncer { rate 30M; }
}
#设置主备节点同步的网络速率最大值,默认单位是字节,我们可以设定为兆
resource r0 {
#r0为资源名,我们在初始化磁盘的时候就可以使用资源名来初始化。
protocol C;
#使用 C 协议。
handlers {
pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f ";
pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt ";
local-io-error "echo o > /proc/sysrq-trigger ; halt -f";
fence-peer "/usr/lib4/heartbeat/drbd-peer-outdater -t 5";
pri-lost "echo pri-lst. Have a look at the log file.mail -s 'Drbd Alert' root";
split-brain "/usr/lib/drbd/notify-split-brain.sh root";
out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";
}
net {
cram-hmac-alg "sha1";
shared-secret "MySQL-HA";
#drbd同步时使用的验证方式和密码信息
}
disk {
on-io-error detach;
fencing resource-only;
# 使用DOPD(drbd outdate-peer deamon)功能保证数据不同步的时候不进行切换。
}
startup {
wfc-timeout 120;