CentOS Heartbeat 高可用性叢集架設

HA=High Ability 即高可信度,意思就是不會中斷服務的架構!
做法就是用Cluster(叢集)方式來達到兩台主機彼此互相備援 雙方會互相偵測對方是否還活著
對整個架構來看,它是一台主機,對外共用一組IP,實際是由兩台電腦組成!
所以Cluster架構形成都會有下面幾個狀況:
1.兩台以上的主機
2.共用一種作業系統 ex:Linux or Windows

以下就來實作如何使用CentOS 5.4 架設 HA

網路架構如圖


A主機 (主要伺服器)

eth0:192.168.1.201  mask:255.255.255.0  GW:192.168.1.252
eth0:0:192.168.1.205 (這是虛擬ip heartbeat會自行建立)
eth1:10.0.0.5    mask:255.255.255.0  (網路線為跳線)
hostname:ha.abc.com.tw

B主機 (備援伺服器)

eth0:192.168.1.202   mask:255.255.255.0  GW:192.168.1.252
eth0:0:192.168.1.205 (這是虛擬ip heartbeat會自行建立)
eth1:10.0.0.6    mask:255.255.255.0  (網路線為跳線)
hostname:ha2.abc.com.tw

---------------------------------------
A & B 主機設定都是一樣
所需安裝套件如下:
heartbeat: HeartBeat的主控制程式,
heartbeat-gui: 圖形介面的HeartBeat叢集管理套件,
heartbeat-pils: 一個擴充與介面函數檔案的載入程式,
heartbeat-ldirectord: 用來監控高可用性資源及狀態的套件,
heartbeat-stonith: 防止裂腦的套件,但是必需搭配有序列埠的UPS使用,
heartbeat-devel: 開發套件。

A & B 主機都要安裝以上6個套件,可線上安裝
# yum install heartbeat

由於HeartBeat安裝時並未安裝設定檔,所以我們必須使用
# rpm –qd heartbeat
來找到3個設定檔,分別是authkeys、ha.cf、haresources,
找到設定檔之後複製到 /etc/ha.d/

# cd /usr/share/doc/heartbeat-2.1.3
# cp authkeys ha.cf haresources /etc/ha.d/


# vi /etc/ha.d/ha.cf
把以下前面的注解取消掉

debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 40
warntime 20
initdead 180
udpport 694
baud    19200
serial  /dev/ttyS0
bcast   eth1
auto_failback on
node    ha.abc.com.tw  (需和uname -n名稱一樣)
node    ha2.abc.com.tw (需和uname -n名稱一樣)
ping 192.168.1.252
ping_group group1 192.168.1.201 192.168.1.202 10.0.0.5 10.0.0.6
respawn hacluster /usr/lib/heartbeat/ipfail


# vi /etc/ha.d/haresources
ha.abc.com.tw IPaddr::192.168.1.205 httpd (所要啟動的服務必須要在/etc/init.d或/etc/ha.d/resource.d 資料夾找到)


# vi /etc/ha.d/authkeys
auth 1
1 crc

# chmod 600 authkeys

以上三個設定檔必須各個節點都要有,而且內容也要一致,要不然會導致HA叢集失效。

heartbeat 啟動時會自動啟動httpd 所以請先關閉 httpd service

最後就是直接啟動服務

# /etc/init.d/heartbeat start

啟動後輸入 ifconfig
就會看到虛擬IP eth0:0 為 192.168.1.205

在瀏覽器上輸入 http://192.168.1.205 就可以看到網頁了

接著把A主機網路線拔掉後 過幾分鐘 B主機也會主動模擬IP 192.168.1.205
最後把A主機網路線接回去 過幾分鐘 B主機會自動關閉httpd 和 eth0:0

這樣就架設成功了~~

留言

這個網誌中的熱門文章

VMware ESXi OVF Tool 指令模式 匯出、匯入 OVA

軛瓣蘭 (Zygopetalum) 種植日記

ETF 月月配息組合