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