pacemaker + corosync 搭建高可用集羣

  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.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,啓動服務即

[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 start
node2:
[root@node2 ~]# service corosync start
[root@node2 ~]# 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.conf  op 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 (設置兩節點集羣)

接下來就可以測試了:

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

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章