实练(一)红帽RHEL7自带的高可用套件使用之二pacemaker +corosyns + pcs +mysql

说明:实验接上

(1)server2作为提供存储的服务器,LVM的形式

实练(一)红帽RHEL7自带的高可用套件使用之二pacemaker +corosyns + pcs +mysql_第1张图片

(2)server1和server4作为主和备用节点

核心:安装客户端的软件,然后修改配置认证key,重启服务

实练(一)红帽RHEL7自带的高可用套件使用之二pacemaker +corosyns + pcs +mysql_第2张图片

清除资源:pcs resource delete 资源的名字

pacemaker + corosync + pcs -->思考:资源可以放到其它的服务器上不能,耦合度太高!

实练(一)红帽RHEL7自带的高可用套件使用之二pacemaker +corosyns + pcs +mysql_第3张图片

思考:mariadb服务为什么无法开启

原因:挂载目录的权限和属性会被覆盖,目录里面的内容也会被覆盖,导致用户身份不匹配,所以无法启动

解决策略

实练(一)红帽RHEL7自带的高可用套件使用之二pacemaker +corosyns + pcs +mysql_第4张图片

(3)Unit session-2.scope could not be found

pcs resource cleanup 清除指定资源的状态与错误计数(一定)

(4)server测试

实练(一)红帽RHEL7自带的高可用套件使用之二pacemaker +corosyns + pcs +mysql_第5张图片

修复:xfs_repair -L /dev/sdb1

注意:一定是server1关闭服务后卸载再在server3上做测试

负责出现问题:ls: cannot open directory .: Input/output error

实练(一)红帽RHEL7自带的高可用套件使用之二pacemaker +corosyns + pcs +mysql_第6张图片

#####################

前提:关闭mysql服务,并且卸载

systemctl stop mariadb.service
umount /var/lib/mysql/

# 注意:两边都检查!

pcs resource delete apache_group #清除原来的资源(保证实验环境的干净)

实练(一)红帽RHEL7自带的高可用套件使用之二pacemaker +corosyns + pcs +mysql_第7张图片

思路:将mysql服务由集群资源代理来管理!

实练(一)红帽RHEL7自带的高可用套件使用之二pacemaker +corosyns + pcs +mysql_第8张图片

pcs resource create vip1 ocf:heartbeat:IPaddr2 ip=172.25.2.100 cidr_netmask=32 op monitor interval=30s

pcs resource create mysql_data ocf:heartbeat:Filesystem device=/dev/sdb1 directory=/var/lib/mysql fstype=xfs op monitor interval=30s

pcs resource create mariadb systemd:mariadb op monitor interval=1min

# 说明:感觉有bug(一会mariadb能开启,一会开启不了)

# 把资源删除重新做了一遍!

了解:相关参数的含义,等价形式!

crm_mon查看

实练(一)红帽RHEL7自带的高可用套件使用之二pacemaker +corosyns + pcs +mysql_第9张图片

查看

实练(一)红帽RHEL7自带的高可用套件使用之二pacemaker +corosyns + pcs +mysql_第10张图片

server4查看mariadb的服务状态!

备注:mariadb的开启极其不稳定,原因后续探究

说明:通过上面我们直到,资源不在一台服务器上,将资源固定到一个服务器上,划分成组

pcs resource group add mysql_group mysql_data vip1 mariadb

# 注意是按照先后顺序的!

实练(一)红帽RHEL7自带的高可用套件使用之二pacemaker +corosyns + pcs +mysql_第11张图片

测试1:mysql登陆测试

测试2:模拟节点故障,将内核写崩溃

实练(一)红帽RHEL7自带的高可用套件使用之二pacemaker +corosyns + pcs +mysql_第12张图片

现象:原来是1的资源,重启之后又切换到1的资源,并且fence不是相互拥有的

资源粘性:控制在更喜欢在它所在的位置运行

解决:fence的问题

pcs resource delete vmfence
pcs property set stonith-enabled=false
crm_verify -L -V #检查一下
pcs resource delete mysql_group

pcs resource create vip1 ocf:heartbeat:IPaddr2 ip=172.25.2.100 cidr_netmask=32 op monitor interval=30s
pcs resource create mysql_data ocf:heartbeat:Filesystem device=/dev/sdb1 directory=/var/lib/mysql fstype=xfs op monitor interval=30s
pcs resource create mariadb systemd:mariadb op monitor interval=1min
pcs resource group add mysql_group mysql_data vip1 mariadb
# 资源粘性
pcs resource defaults resource-stickiness=100
pcs resource defaults 
pcs stonith create vmfence fence_xvm pcmk_host_map="server1:wzj1;server4:wzj4" op monitor interval=1min
crm_mon 
pcs resource defaults resource-stickiness=0
pcs resource defaults 
pcs property set stonith-enabled=true #很重要!

实验现象

实练(一)红帽RHEL7自带的高可用套件使用之二pacemaker +corosyns + pcs +mysql_第13张图片

说明:server4中fence从server4变成server1,但是server1中fence并不是server4!

你可能感兴趣的:(运维)