1.1 集群安装
1.1.1 确认安装pacemaker,cman和pcs
# yum install -y pacemaker cman pcs
1.1.2 确认关闭corosync服务
# chkconfig corosync off
1.1.3 升级pacemaker,cman和pcs
将RHEL6.6安装光盘放入光驱中,并确认本地yum源配置无误的情况下,执行以下命令:
# yum update -y pacemaker cman pcs
1.2 创建并启动集群
1.2.1 为hacluster用户创建密码
分别在节点zhcbdppm01与zhcbdppm02中执行以下命令:
# passwd hacluster
1.2.2 启动pcsd服务
# service pcsd start
# chkconfig pcsd on
1.2.3 认证pcs
# pcs cluster auth zhcbdppm01 zhcbdppm02
1.2.4 创建集群
# pcs cluster setup --start --name zhcbdppmclusterzhcbdppm01 zhcbdppm02
1.3 配置stonith
1.3.1 zhcbdppm01节点stonith配置
# pcs stonith create zhcbdppm01_fencefence_ipmilan \
ipaddr=” 21.244.112.195” \
passwd=” superuser” \
login=” zteroot” \
action=”reboot”\
pcmk_host_list= zhcbdppm01
1.3.2 zhcbdppm02节点stonith配置
# pcs stonith create zhcbdppm02_fencefence_ipmilan \
ipaddr=” 21.244.112.196” \
passwd=” superuser” \
login=” zteroot” \
action=”reboot” \
pcmk_host_list= zhcbdppm02
1.4 创建资源与资源组
1.4.1 创建mariadb的DRBD资源
# pcs resource create mariadb_drbd_res \
ocf:linbit:drbd\
drbd_resource=mariadb_drbd
# pcs resource master mariadb-drbdmariadb_drbd_res \
master-max=1 \
master-node-max=1 \
clone-max=2 \
clone-node-max=1 \
notify=true
1.4.2 创建manager的DRBD资源
# pcs resource create manager_drbd_res \
ocf:linbit:drbd \
drbd_resource=manager_drbd
# pcs resource master manager-drbd manager_drbd_res\
master-max=1 \
master-node-max=1 \
clone-max=2 \
clone-node-max=1 \
notify=true
1.4.3 创建mariadb_service资源组
# pcs resource create mariadbIPocf:heartbeat:IPaddr2 \
ip=21.244.112.198\
cidr_netmask=24 \
--groupmariadb_service
# pcs resource create mariadbFS ocf:heartbeat:Filesystem\
device=”/dev/drbd0” \
directory=” /data2” \
fstype=”ext4” \
--group mariadb_service
# pcs resource create mariadbScript lsb:mysql\
--group mariadb_service
1.4.4 创建manager_service资源组
# pcs resource create managerIPocf:heartbeat:IPaddr2 \
ip=21.244.112.197\
cidr_netmask=24 \
--groupmanager_service
# pcs resource create managerFS ocf:heartbeat:Filesystem\
device=” /dev/drbd1” \
directory=” /data1” \
fstype=”ext4” \
--groupmanager_service
# pcs resource create managerScript lsb:managerha\
--group manager_service
1.4.5 创建loaderActive资源
# pcs resource create loaderActive lsb:loaderActive.sh
1.4.6 创建loaderStandby资源
# pcs resource create loaderStandby lsb: loaderStandby
1.5 创建资源规则
1.5.1 创建Loaction规则
# pcs constraint location loaderStandbyprefers \
zhcbdppm01=200
# pcs constraint location loaderStandbyprefers \
zhcbdppm02=100
# pcs constraint location loaderActiveprefers \
zhcbdppm02=200
# pcs constraint location loaderStandbyprefers \
zhcbdppm02=100
# pcs constraint location mariadb_serviceprefers \
zhcbdppm01=200
# pcs constraint location mariadb_serviceprefers \
zhcbdppm02=100
# pcs constraint location manager_serviceprefers \
zhcbdppm01=200
# pcs constraint location manager_serviceprefers \
zhcbdppm02=100
1.5.2 创建order规则
# pcs constraint order promote mariadb-drbdthen start mariadb_service
# pcs constraint order promote manager-drbdthen start manager_service
# pcs constraint order start mariadb_servicethen start manager_service
1.5.3 创建colocation规则
# pcs constraint colocation addloaderStandby with loaderActive \
score=-INFINITY
# pcs constraint colocation add mariadb_servicewith master mariadb-drbd \
score=INFINITY
# pcs constraint colocation addmanager_service with master manager-drbd \
score=INFINITY
1.6 资源默认参数配置
# pcs resource defaultsresource-stickness=100
# pcs resource defaults failure-timeout=60s
# pcs resource defaults migration-threshold=1
1.7 特殊资源参数配置
# pcs resource meta loaderActivemigration-threshold=20
# pcs resource update op monitorinterval=5s
2 集群切换2.1 将zhcbdppm01节点资源切换到zhcbdppm02
在zhcbdppm01节点上执行:
# pcs cluster standby zhcbdppm01
等待资源切均换到zhcbdppm02上时,执行:
# pcs cluster unstandby zhcbdppm01
2.2 将zhcbdppm02节点资源回切到zhcbdppm01
在zhcbdppm02节点上执行:
# pcs cluster standby zhcbdppm02
等待资源切均换到zhcbdppm02上时,执行:
# pcs cluster unstandby zhcbdppm02
2.3 切换单一资源/资源组
例:切换manager_service资源组到zhcbdppm02节点
# crm_resource --resource manager_service--move --node zhcbdppm02
例:将manager_service资源组回切到zhcbdppm01节点
# crm_resource --resource manager_service--move --node zhcbdppm01
2.4 切换时监控资源状态命令
# crm_mon
# pcs status
3 应急方案3.1 DRBD应急方案
当DRBD服务出现脑裂时,两个节点的内容将不能同步,因此需要进行脑裂恢复。
3.1.1 备份数据
为防止在恢复过程中造成数据丢失,建议先对数据进行备份。
3.1.2 停止双机服务
DRBD出现脑裂时,首先应该停止双机服务,以便释放应用对DRBD磁盘的使用。需要在两个节点分别执行以下命令:
# pcs cluster stop
3.1.3 进行脑裂恢复
I. 在两个节点分别手动启动DRBD服务
# service drbd start
II. 在主节点执行命令,强制提升为DRBD主节点
# drbdadm primary all
III. 在备节点执行命令,强制降为DRBD备节点
# drbdadm secondary all
IV. 在备节点上执行数据同步此操作
# drbdadm -- --discard-my-data connect all
V. 在主节点上执行连接操作
# drbdadm connect all
3.1.4 停止DRBD服务
在恢复完DRBD后,需要停止DRBD服务,以便让双机来正常拉动DRBD服务。分别在两个节点执行以下命令
# service drbd stop
3.1.5 启动双机服务
在两个节点上,分别执行以下操作
# pcs cluster start
3.2 双机应急方案
当双机状态出现异常时,需要手动重启双机,以便恢复到正常状态。
I. 分别在两个节点重启双机
# pcs cluster stop
# pcs cluster start
II. 重启服务器后,再启动双机服务
如果出现只重启双机服务后,部分服务不能正常恢复,建议重启服务器后,在启动双机服务:
# reboot
# pcs cluster start