01_C74部署_NFS_C74_DRBD_Pacemaker

一、基础环境准备
1、操作系统:Centos 7.4 最小化安装
2、硬件配置:服务器2台,每台,网卡三块 硬盘 2 块。
3、IP规划


心跳网络 和 数据传输网络 IP 都不需要配置网关

二、基础环境配置(每个节点上都要配置-- --- 2.1 --2.4)
2.1、关闭selinux firewall

systemctl stop firewalld
systemctl disable firewalld
2.2、配置hosts 文件

2.3、配置SSH Key (互信)
nfs01 :
ssh-keygen
ssh-copy-id -i /root/.ssh/id_rsa.pub root@nfs01
ssh-copy-id -i /root/.ssh/id_rsa.pub root@nfs02






nfs02:




2.4、配置 时钟服务器:
yum install ntpdate -y
ntpdate time.windows.com
crontab -e
*/30 * * * * /sbin/ntpdate time.windows.com & >/dev/null
三、安装集群软件并配置
3.1、安装群集软件 (每个节点上都要操作)
yum -y install pacemaker corosync pcs psmisc policycoreutils-python fence-agents-all vim
3.2、启动PCS (每个节点上都要操作)
systemctl start pcsd
systemctl enable pcsd
3.3、设置 hacluster 帐户密码 (每个节点上都要操作)本次实验hacluster 密码也是同样。
安装群集软件包时,系统会创建一个帐户hacluster ,它的密码是禁用的。此帐户用于群集间通信的身份验证,必须在每个节点上设置其相同的密码,以启用此帐户。




3.4、认证群集中的节点 (任何一个节点上操作即可)
pcs cluster auth heart01 heart02


3.5、创建群集的配置文件。 (在任何一个节点上创建即可)
群集软件安装完成后,并没有生成配置文件,只有一个配置实例的文件,默认位置在/etc/corosync/
配置文件可以手动创建,也可以通过命令自动创建。
pcs cluster setup --name cluster1 heart01 heart02




3.6、启动群集服务。(在任何一个节点操作即可)
pcs cluster start --all
3.7、创建VIP资源 (在任何一个节点操作即可)
pcs resource create vip ocf:heartbeat:IPaddr2 ip=192.168.189.175 cidr_netmask=24 op monitor interval=30s --group dbgroup



查看创建的资源
pcs property set stonith-enabled=false



四、配置DRBD
4.1、格式化sdb,创建LVM分区。 (每个节点都要做)


4.2、配置LVM逻辑卷 (每个节点都要做)
创建物理卷
pvcreate /dev/sdb1




创建卷组
vgcreate drbdvg0 /dev/sdb1



创建LVM 卷
lvcreate --name lvnfs --size 40G drbdvg0


4.3、安装DRBD (每个节点都要做)
安装内核软件包
yum install kernel kernel-devel kernel-headers -y
安装完成后,需要重启。
pcs cluster start --all 启动群集节点 
(pcs 会自动去启动pacemaker corosync)



rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm


yum install -y kmod-drbd84 drbd84-utils
4.4、配置DRBD 参数配置文件
关闭计数,修改全局配置文件 /etc/drbd.d/global_common.cnf
sed -i 's#usage-count yes#usage-count no#g' /etc/drbd.d/global_common.conf
vi /etc/drbd.d/mynfs.res 名称可以随便取
resource mynfs1 {
protocol C;
meta-disk internal;
device /dev/drbd0;
disk /dev/drbdvg0/lvnfs;
syncer {
verify-alg sha1;
} 
net {
allow-two-primaries;
}
on nfs01 {
 address 192.168.217.75:7789;
} 
on nfs02 {
address 192.168.217.76:7789;
} 
}



两个节点的DRBD参数配置文件都一样,拷贝配置文件到另一个节点相同位置。
scp -r /etc/drbd.d/mynfs.res root@nfs02:/etc/drbd.d/ 4.5、初始化DRBD (每个节点都要做)
modprobe drbd
drbdadm create-md mynfs1 (配置文件里面写的资源名称)
drbdadm up mynfs1



nfs02 上面做如下操作




nfs01 设置为主
drbdadm primary mynfs1 --force





4.6、格式化DRBD,在主节点上操作。nfs01
数据同步完成才能格式化
mkfs.xfs /dev/drbd0



4.7、创建DRBD集群资源,在任意节点上都可以操作。
随便进入一个目录,通过创建临时文件,来创建资源。有问题后,可以随时更改。
pcs cluster cib drbd_cfg #会在当前目录生成这个文件


pcs -f drbd_cfg resource create mynfs ocf:linbit:drbd drbd_resource=mynfs1 op monitor interval=60s --group dbgroup
drbd_resource=mydrbd1 这里的资源名称就是,/et/drbd.d/mydrbd.res 文件中的资源名称:


创建主从资源:
pcs -f drbd_cfg resource master drbdclone mynfs master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true --group dbgroup
pcs cluster cib-push drbd_cfg



4.8、创建文件系统资源
mkdir -p /drbdnfs chmod o+w /drbdnfs(每个节点上都做)
创建文件系统资源,在任何节点上都可操作。
pcs cluster cib fs_cfg 这个文件也可以放在任何文件夹下面。
pcs -f fs_cfg resource create drbdfs ocf:heartbeat:Filesystem device="/dev/drbd0" directory="/drbdnfs" fstype="xfs" --group dbgroup

4.9、配置约束 在任何节点上做
添加位置约束
pcs -f fs_cfg constraint colocation add drbdfs with drbdclone INFINITY with-rsc-role=Master
添加启动的顺序约束:
pcs -f fs_cfg constraint order promote drbdclone then start drbdfs
先启动 drbdclone(DRBD克隆资源) 再启动 drbdfs(DRBD文件系统资源)
pcs cluster cib-push fs_cfg





文件系统资源启动后,将会自动挂载设备到指定的目录。



五、配置NFS资源 (5.1-------5.2 每个节点都做。)
5.1、安装NFS
yum install rpcbind nfs-utils -y
mkdir -p /drbdnfs/exports/dir1
chmod 777 /drbdnfs/exports/dir1
5.2 启动NFS
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs
5.3、添加DNS 服务资源 (任何节点上操作)
创建NFS 服务资源
pcs resource create nfserver ocf:heartbeat:nfsserver nfs_shared_infodir=/drbdnfs/nfs_shared_infodir nfs_ip=192.168.189.175 op start timeout=30s op stop timeout=30s op monitor interval=30s --group dbgroup

5.4、添加exportfs资源 (任何节点上操作)
pcs resource create exportfs_dir1 ocf:heartbeat:exportfs clientspec=192.168.0.0/16 directory=/drbdnfs/exports/dir1 fsid=1 unlock_on_stop=1 options=rw,sync op start timeout=30s op stop timeout=30s op monitor interval=30s --group dbgroup



5.5、配置约束 (任何节点上操作)
添加位置约束
pcs constraint colocation add exportfs_dir1 with nfserver INFINITY
添加启动顺序约束
pcs constraint order nfserver then exportfs_dir1




_________________________________ End ________________________________________________