一、CentOS7搭建keepalived+DRBD+NFS高可用共享存储
环境准备:在两台主机上各添加一块硬盘
[root@node1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
1.关闭防火墙、禁用selinux
systemctl stop firewalld
systemctl disable firewalld
[root@localhost ~]# sed -i '/^SELINUX=/ cSELINUX=disabled' /etc/selinux/config
[root@localhost ~]# setenforce 0
2.配置双机互信
2.1 两台主机配置hosts文件
[root@node1 ~]# cat /etc/hosts
192.168.131.107 node1
192.168.131.108 node2
2.2 两台主机配置免秘钥互信
[root@node1 ~]# ssh-keygen -t dsa -f ~/.ssh/id_dsa -N "" -q
[root@node1 ~]# ssh-copy-id node1
[root@node1 ~]# ssh-copy-id node2
3.两台主机时间同步
[root@node1 ~]# ntpdate ntp1.aliyun.com
29 Aug 17:53:14 ntpdate[36989]: step time server 120.25.115.20 offset 662121.506464 sec
4.两台主机配置yum的epel源,方便软件安装
#下载地址,建议使用清华镜像源
# cat /etc/yum.repos.d/elrepo.repo
[elrepo]
name=ELRepo.org Community Enterprise Linux Repository - el7 baseurl=https://mirrors.tuna.tsinghua.edu.cn/elrepo/elrepo/el7/x86_64/
enabled=1
gpgcheck=0
步骤:
1.两台主机安装drbd,并且加载模块,修改全局配置文件,并且编辑drbd资源文件,在两台机器上分别创建DRBD资源并启用data资源
[root@node1 ~]# yum install -y drbd84-utils kmod-drbd84
#加载模块
[root@node1 ~]# modprobe drbd
[root@node1 ~]# vim /etc/drbd.d/global_common.conf
global {
usage-count no; #不统计
}
common {
protocol C; #C协议
handlers {
pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f";
}
}
disk {
on-io-error detach; #配置I/O错误处理策略为分离
}
syncer {
rate 1000M; #速率
}
#编辑资源文件data.res
[root@node2 ~]# cat /etc/drbd.d/data.res
resource data {
#资源名
protocol C;
meta-disk internal; #源数据策略
device /dev/drbd1; #设备名
syncer {
verify-alg sha1; #加密算法
}
net {
allow-two-primaries; #允许双主
}
on node1 {
#node1主机节点
disk /dev/sdb1; #对应的设备:磁盘
address 192.168.131.107:7789; #地址:默认端口
}
on node2 {
disk /dev/sdb1;
address 192.168.131.108:7789;
}
}
[root@node1 ~]# drbdadm create-md data
initializing activity log
initializing bitmap (64 KB) to all zero
Writing meta data...
New drbd meta data block successfully created.
#官方建议用普通用户去创建数据
[root@node1 ~]# useradd -M -s /sbin/nologin haclient #创建程序用户
#执行以下操作
[root@node1 ~]# chgrp haclient /lib/drbd/drbdsetup-84
[root@node1 ~]# chmod o-x /lib/drbd/drbdsetup-84
[root@node1 ~]# chmod u+s /lib/drbd/drbdsetup-84