tiyna 发表于 2013-6-12 23:11:02

pacemaker + corosync 搭建高可用集群

pacemaker是集群资源管理器,corosync为心跳线。下面我们使用CRM命令来构建集群,这里我们使用http来测试。我们定义如下:
机器名   系统      IP地址      所需软件包               vipIP
node1   rhel6.3192.168.1.50pacemaker,corosync,httpd   192.168.1.8
node2   rhel6.3192.168.1.51pacemaker,corosync,httpd   192.168.1.8
一.安装软件包。

# yum install -y corosync pacemaker
# yum install -y corosync pacemaker
二.设置配置文件

cp /etc/corosync/corosync.example.conf /etc/corosync/corosync.conf
vim /etc/corosync/corosync.conf
totem {
      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 service
service {
name: pacemaker
ver: 1
}
三.把配置文件传给node2,启动服务即

# scp /etc/corosync/corosync.conf node2:/etc/corosync/
# scp /etc/corosync/service.d/service node2:/etc/corosync/service.d/
# service corosync start
# service pacemaker start
node2:
# service corosync start
# service pacemaker start
四.查看当前状态以及资源

crm_mon -1
============
Last updated: Sat May 11 10:56:55 2013
Last change: Sat May 11 10:55:57 2013 via crmd on node1
Stack: openais
Current DC: node1 - partition with quorum
Version: 1.1.7-6.el6-148fccfd5985c5590cc601123c6c16e966b85d14
2 Nodes configured, 2 expected votes
0 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 show
crm resource status vip
resource 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.confop monitor interval=40s
查看资源在哪里运行:

crm resource status website
resource 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 (设置两节点集群)
接下来就可以测试了:
# echo node1 > /var/www/html/index.html
# echo node2 > /var/www/html/index.html


julley 发表于 2013-6-12 23:42:25

我身在江湖,江湖里却没有我得传说。

吸毒的虫子 发表于 2013-6-13 00:48:38

如果回帖是一种美德,那我早就成为圣人了!

【魄爺】 发表于 2013-6-13 02:57:53

如果没有毛片,中国的性教育简直就是一片空白!

agangliu0400 发表于 2013-6-13 04:29:15

长得真有创意,活得真有勇气!

wangwengwu 发表于 2013-6-13 04:58:28

你的丑和你的脸没有关系。。。。。。

darkpoon 发表于 2013-6-13 06:30:53

学习了,谢谢分享、、、
页: [1]
查看完整版本: pacemaker + corosync 搭建高可用集群