pacemaker + corosync 搭建高可用集群

时间:2022-12-03 03:20:04

  pacemaker是集群资源管理器,corosync为心跳线。下面我们使用CRM命令来构建集群,这里我们使用http来测试。我们定义如下:

  机器名   系统      IP地址        所需软件包                 vipIP

  node1   rhel6.3  192.168.1.50  pacemaker,corosync,httpd   192.168.1.8

  node2   rhel6.3  192.168.1.51  pacemaker,corosync,httpd   192.168.1.8

一.安装软件包。  

[root@node1 ~]# yum install -y corosync pacemaker[root@node2 ~]# yum install -y corosync pacemaker

二.设置配置文件

cp /etc/corosync/corosync.example.conf /etc/corosync/corosync.confvim /etc/corosync/corosync.conftotem {        version: 2        secauth: off        threads: 0        interface {                ringnumber: 0                bindnetaddr: 192.168.1.0                mcastaddr: 226.94.1.1                mcastport: 5405                ttl: 1        }}logging {        fileline: off        to_stderr: no        to_logfile: yes        to_syslog: yes        logfile: /var/log/cluster/corosync.log        debug: off        timestamp: on   }}amf {        mode: disabled}s

 宣告使用的资源管理名称:

cd /etc/corosync/service.d/vim serviceservice {name: pacemakerver: 1}

三.把配置文件传给node2,启动服务即

[root@node1 ~]# scp /etc/corosync/corosync.conf node2:/etc/corosync/[root@node1 ~]# scp /etc/corosync/service.d/service node2:/etc/corosync/service.d/[root@node1 ~]# service corosync start[root@node1 ~]# service pacemaker startnode2:[root@node2 ~]# service corosync start[root@node2 ~]# service pacemaker start

四.查看当前状态以及资源

crm_mon -1============Last updated: Sat May 11 10:56:55 2013Last change: Sat May 11 10:55:57 2013 via crmd on node1Stack: openaisCurrent DC: node1 - partition with quorumVersion: 1.1.7-6.el6-148fccfd5985c5590cc601123c6c16e966b85d142 Nodes configured, 2 expected votes0 Resources configured.============Online: [ node1 node2 ]

如上所示,在线为node1,node2.下面介绍一些常用crm命令。

crm resource status 查看资源状态

crm node standby 离线

crm node online 在线

资源代理为 lsb,ocf,可以使用如下命令查看:

crm ra classes

crm ra list ocf heartbeat 查看heartbeat

crm ra list ocf redhat

五.检查一下集群是否有错,并且配置VIP地址。

crm_verify -L

由于没有爆头设备:

crm configure property stonith-enabled=false 不启用

下面使用crm开始配置集群资源,我们首先配置VIP地址:

crm configure primitive vip ocf:heartbeat:ipaddr2 \>params ip=192.168.1.8 cidr_netmask=32 op monitor interval=30s

查看vip配置以及状态(在哪一个节点运行)

crm configure showcrm resource status vipresource vip is running on: node1

如图所示,vip运行在node1上

六.配置http服务。

vim /etc/httpd/conf/httpd.conf/Location把LOCATION开启并把下面改成127.0.0.1如下所示:<Location /server-status>    SetHandler server-status    Order deny,allow    Deny from all    Allow from 127.0.0.1</Location>scp /etc/httpd/conf/httpd.conf node2:/etc/httpd/conf

使用crm创建web资源

crm configure primitive website ocf:heartbeat:apache \>params configfile=/etc/httpd/conf/httpd.conf  op monitor interval=40s

查看资源在哪里运行:

crm resource status websiteresource website is running on: node2

这里我们发现两个资源不在同一个上面。我们可以定义约束条件。

crm configure colocation web-ip 100: website vip (WEBSITE追随VIP)crm configure order web-after-ip inf: vip website (定义启动顺序先VIP)crm configure property no-quorum-policy=ignore (设置两节点集群)

接下来就可以测试了:

[root@node1 ~]# echo node1 > /var/www/html/index.html[root@node2 ~]# echo node2 > /var/www/html/index.html

 


本文出自 “xiaolangit” 博客,请务必保留此出处http://xiaolangit.blog.51cto.com/3343422/1220829