一、基础环境准备 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 ________________________________________________