Heartbeat3.0.5+pacemaker

      最近在部署openstack的雙控制節點上須要切換資源,因此學習了一下heartbeat和pacemaker,原本想用heartbeat 2可是操做系統是ubuntu 12.10的,apt下來版本直接是3.0.5的,爲了之後部署方便只能硬着頭皮學了,網上關於3的內容很少,不過和2區別不大,我的感受仍是關於資源的設置比較麻煩一些。 node

兩臺機器:10.1.1.2(compute-1)  10.1.1.3(compute-2) web

安裝heartbetat shell

apt-get install -y heartbeat

    會自動安裝其餘三個關鍵包:pacemaker、resource-agents、 cluster-agents apache

配置heartbeat ubuntu

       在/etc/heartbeat下面配置,ubuntu下自動作了一個軟鏈接/etc/heartbeat實際上是/etc/ha.d的鏈接。進入/etc/heartbeat 服務器

cp /usr/share/doc/heartbeat/ha.cf.gz .
cp /usr/share/doc/heartbeat/authkeys .
gzip -d ha.cf.gz

       默認目錄下並無相關配置文件,能夠本身手動創建,也能夠直接修改軟件包中自帶的模板,由於使用pacemaker管理資源因此不須要拷貝haresources文件,若是使用了crm管理資源,而在配置文件目錄含有haresources文件,日誌中會提示haresources沒有使用。 網絡

配置authkeys文件 學習

auth 2
#1 crc
2 sha1 openstack
#3 md5 Hello!
       官方不建議使用crc驗證,因此咱們使用sha1進行驗證, authkeys文件屬性必須是600,不然日誌會報錯。

配置ha.cf文件(10.1.1.2) spa

#集羣中的節點不會自動加入
autojoin    none

#heartbeat會記錄debug日誌,若是啓用use_logd,則此選項會被忽略
debugfile   /var/log/ha-debug

#記錄全部non-debug消息,若是啓用use_logd,則此選項會被忽略
logfile    /var/log/ha-log

#告訴heartbeat記錄那些syslog
logfacility   local0

#指定兩個心跳檢測包的時間間隔
keepalive 1

#多久之後心跳檢測決定集羣中的node已經掛掉
deadtime   30

#心跳包檢測的延時事件,若是延時,只是往日誌中記錄warning日誌,並不切換服務
warntime  10

#在heartbeat啓動後,在多長時間內宣佈node是dead狀態,由於有時候系統啓動後,網絡還須要一段時間才能啓動
initdead  120

#若是udpport指令在bcast ucast指令的前面,則使用哪一個端口進行廣播,不然使用默認端口
udpport   694

#設置使用哪一個網絡接口發送UDP廣播包,能夠設置多個網絡接口
#bcast  eth1 eth0

#設置在哪一個網絡接口進行多播心跳檢測
#mcast   eth0 239.0.0.1 694 1 0

#設置使用哪一個網絡接口進行UDP單播心跳檢測,在.3上爲10.1.1.2
ucast  eth0 10.1.1.3

#在主節點的服務恢復後,是否把從節點的服務切換回來
auto_failback off

#告訴集羣中有哪些節點,node名稱必須是uname -n顯示出來的名稱,能夠在一個node中設置多個節點,也能夠屢次設置node,每個在集羣中的node都必須被列出來
node  compute-1
node  compute-2

#設置ping節點,ping節點用來檢測網絡鏈接
ping 10.1.1.254

#開啓Pacemaker cluster manager,由於歷史緣由,次選項默認是off,可是應該保持該選項值爲respawn。在設置爲respawn默認自動使用如下配置
pacemaker  respawn

#默認配置文件中下面還有不少選項,因爲暫時用不到因此暫時忽略

啓動heartbeat 操作系統

/etc/init.d/heartbeat start

兩臺機器上執行相同的操做便可,注意:ucast的ip設置便可。

查看heartbeat運行情況:crm_mon -1

      能夠看到兩臺機器均在線,可是因爲尚未配置資源因此沒有資源信息。

      資源管理需求:兩臺機器做爲兩臺WEB服務器,使用apache軟件。對用戶接口爲VIP(10.1.1.6)。要求不論哪臺機器故障、apache服務故障都會把資源切換到正常的服務器上,不影響用戶訪問。

配置pacemaker,使用交互命令crm,也可使用非交互模式

crm configure property stonith-enabled=false
crm configure property no-quorum-policy=ignore
crm configure property start-failure-is-fatal=false
crm configure rsc_defaults migration-threshold=1
crm configure primitive vip ocf:heartbeat:IPaddr2 params ip=10.1.1.6 nic=br100 op monitor interval=3s
crm configure primitive www lsb:apache2 op monitor interval="10s"
crm configure group group1 vip www

再次使用crm查看資源狀態

       能夠看到vip資源和web資源目前運行在compute-1上面,這時候不管是中止compute-1上的apache服務仍是網絡都會致使vip資源和web資源一塊兒切換到compute-2上。

       關鍵的難點在crm上,關於crm的信息在下一篇中介紹。

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息