corosync + pacemaker高可用

一.无fence设备的高可用集群实现

1.在server1和server4上安装haproxy 测试成功,之后关闭haproxy服务 (可以先不操作)

corosync + pacemaker高可用_第1张图片

2.在server1和server4(两个节点,相互感应彼此的服务开启状态,实现双机热备)安装pacemaker和corosync

yum  install crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm -y

corosync + pacemaker高可用_第2张图片

3.修改配置文件名字,修改配置文件,并把配置文件发送一份给server4

totem {
        version: 2
        secauth: off
        threads: 0  #并发开启的线程数,一般单核cpu修改即可,多核cpu不需要修改
        interface {
                ringnumber: 0
                bindnetaddr: 172.25.254.0 #集群工作的网段
                mcastaddr: 226.94.1.1 #多播ip,集群节点间通信使用这个多播地址,两个节点的要保持一致
               mcastport: 5405 #多播端口号,保持默认即可
                ttl: 1
        }
}
末尾添加作用是启动corosync完成后,就启动pacemaker
service {
        name: pacemaker  #服务名称是pacemaker
        ver: 0
}

4.在server1和server4上打开corosync服务

/etc/init.d/corosync start

cat /var/log/cluster/corosync.log (日志位置)

5.在server1和server4上安装依赖软件

 yum  install crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm -y

corosync + pacemaker高可用_第3张图片

6.两个节点上做crm_verify -VL 校验

[root@server1 ~]# crm_verify -VL  (校验会有错误信息是因为fence默认开启的)

   error: unpack_resources:     Resource start-up disabled since no STONITH resources have been defined

   error: unpack_resources:     Either configure some or disable STONITH with the stonith-enabled option

   error: unpack_resources:     NOTE: Clusters with shared data need STONITH to ensure data integrity

Errors found during check: config not valid

corosync + pacemaker高可用_第4张图片

7.在server1上进行交互模式

[root@server1 ~]# crm

crm(live)configure# property stonith-enabled=false   (设置fence关闭)

crm(live)configure# commit

[root@server1 ~]# crm_verify -VL  (重新校验没有error提醒)

corosync + pacemaker高可用_第5张图片

添加虚拟ip,监控及监控时间

[root@server1 ~]# crm

crm(live)# configure

crm(live)configure# pr

primitive   property

crm(live)configure# property no-quorum-policy=ignore  (关闭集群对节点数量的检查,节点server1如>果故障,节点server4收不到心跳,直接接管程序,保持正常运行,不至于一个节点崩掉之后而使整个集群崩

掉)

crm(live)configure# commit

添加haproxy和资源组

corosync + pacemaker高可用_第6张图片

测试:监控查看工作的是server1

corosync + pacemaker高可用_第7张图片

停止server1上的corosync

在server4上查看监控server4上线

corosync + pacemaker高可用_第8张图片

让server1重新启动server1上成为服务器

corosync + pacemaker高可用_第9张图片

二.含有fence设备的高可用集群实现

1.查看server1和server4上有fence

2.打开物理主机的fence,如果不能打开,开是否安装

corosync + pacemaker高可用_第10张图片

上图的interface必须是桥接的

corosync + pacemaker高可用_第11张图片

3.确认fence开启在server1中进入交互界面,添加fence的节点,并且打开检测节点检测为true,server1为主机名,vm1为域名

corosync + pacemaker高可用_第12张图片

4.crm_mon查看监控,应该是服务和fence不在一个节点,但当一台主机出现故障,坏的主机立即重启,fence迁移

上图命令可以让主机出错

corosync + pacemaker高可用_第13张图片

 

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