一、 安裝heartbeat前的准備
1.Heartbeat集群必須的硬件
構建一個Heartbeat集群系統必須的硬件設備有:
節點服務器
網絡和網卡
共享磁盤
(1)節點服務器
安裝Heartbeat至少需要兩台主機,並且對主機的要求不高,普通的PC 服務器即可滿足要求,當然,也可以在虛擬機上安裝Heartbeat,現在Heartbeat可以很好的運行在Linux系統下,很多linux發行版本都自帶了Heartbeat套件,同時,還可以運行在FreeBSD 和 Solaris操作系統上。
(2)網卡和網絡
Heartbeat集群中的每個主機必須有一塊網卡和一個空閒串口,網卡用於連接公用網絡,串口可以通過串口線,例如modem電線來實現連接,用於心跳監控節點間的狀態,如果沒有空閒串口的話,每個主機也可以通過兩塊網卡來實現HA,其中一塊網卡用於連接公用網絡,另一塊網卡通過以太網交叉線與兩個節點相連接。
需要說明的是:以太網交叉線和串口電線都能用於心跳監控,串口電線傳輸Heartbeat信號相對較好,如有條件,盡量使用串口線代替以太網交叉線作為節點間的心跳檢測設備。
Heartbeat支持三種類型的網絡,公用網絡(public network)、私用網絡(private network)和串行網絡(serial network)。
公用網絡連接多個節點,並且允許客戶端訪問集群中的服務節點,私用網絡提供兩個節點之間點到點的訪問,但是不允許客戶端訪問,可以通過以太網交叉線構建一個私用網絡,以供節點間相互通信,串行網絡也是一個點到點的連接,一般使用串行網絡來傳輸控制信息和心跳監控。串行網絡可以是一條RS232串口線。
(3)共享磁盤
共享磁盤是一個數據存儲設備,HA集群中的所有節點都需要連接到這個存儲設備上,在這個共享的存儲設備上一般放置的是公用的、關鍵的數據和程序,一方面可以共享數據給所有節點使用,另一方面也保證了數據的安全性。
Heartbeat支持兩種對共享磁盤的訪問方式:獨占訪問和共享訪問,在獨占訪問方式下,保持活動的節點獨立使用磁盤設備,只有當活動節點釋放了磁盤設備,其它節點才能接管磁盤進行使用,在共享訪問方式下,集群所有節點都可以同時使用磁盤設備,當某個節點出現故障時,其它節點無需接管磁盤。共享訪問方式需要集群文件系統的支持,這一點將在下個章節講述。
2.操作系統規劃
這裡統一采用Red Hat Enterprise Linux Server release 5.1操作系統,每個節點服務器都有兩塊網卡,一塊用作連接公用網絡,另一塊通過以太網交叉線連接兩個節點,作為心跳監控。共享磁盤由一個磁盤陣列設備提供,兩個節點共享一個磁盤分區。磁盤分區對應的硬件標識為/dev/sdb5,掛載點為/webdata,文件系統類型為ext3。
網絡以及IP地址規劃如表1所示:
表1
從上表可知,eth0網絡設備用於連接公用網絡,eth1網絡設備用於連接私用網絡,而eth0:0網絡設備是HA集群虛擬出來的服務IP地址,用於對外提供應用程序服務。基本的拓撲結構如圖2所示:
接著配置每個節點的/etc/hosts文件,保證兩個節點內容一致,/etc/hosts文件內容如下:
[root@node1 ~]#more /etc/hosts
192.168.60.132 node1
192.168.60.133 node2
10.1.1.1 priv1
10.1.1.2 priv1
一切准備就緒,接下來開始安裝heartbeat。
二、 安裝heartbeat
1.獲取heartbeat
Heartbeat到目前為止發行了兩個主版本,Heartbeat1.x和Heartbeat2.x,Heartbeat1.x僅僅允許創建2個節點的集群,提供基本的高可用性failover服務。Heartbeat2.x提供了增強的特性,允許創建多個節點的集群,又支持模塊結構的配置方法-集群資源管理器(Cluster Rescource Manager-CRM),CRM可以支持最多16個節點,這裡我們選擇heartbeat2.0.8版本進行介紹。
Heartbeat的下載地址為:http://linux-ha.org/download/index.html,找到heartbeat2.0.8版本,下載類似heartbeat-2.0.8.tar.gz的源代碼包即可。此外在安裝heartbeat時需要同時安裝libnet工具包,Libnet是一個高層次的API工具,可以從http://www.packetfactory.net/libnet/下載到,現在的穩定版本是1.1.2.1,下載後的包名為libnet.tar.gz。
2.安裝heartbeat
接下來需要在兩個節點安裝heartbeat,安裝過程很簡單,只需解壓編譯、安裝即可,這裡不再詳述,在兩個節點執行相同的操作,下面是在node1上的安裝過程:
[root@node1 ~]#tar -zxvf libnet.tar.gz
[root@node1 ~]#cd libnet
[root@node1 ~/libnet]#./configure
[root@node1 ~/libnet]#make
[root@node1 ~/libnet]#make install
[root@node1 ~]#tar zxf heartbeat-2.0.8.tar.gz
[root@node1 ~]#cd heartbeat-2.0.8
[root@node1 ~/heartbeat-2.0.8]#./ConfigureMe configure \
> --disable-swig --disable-snmp-subagent
[root@node1 ~/heartbeat-2.0.8]#make
[root@node1 ~/heartbeat-2.0.8]#make install
[root@node1 ~/heartbeat-2.0.8]#cp doc/ha.cf doc/haresources doc/authkeys /etc/ha.d/
[root@node1 ~/heartbeat-2.0.8]#cp ldirectord/ldirectord.cf /etc/ha.d/
[root@node1 ~/heartbeat-2.0.8]#groupadd -g 694 haclient
[root@node1 ~/heartbeat-2.0.8]#useradd -u 694 -g haclient hacluster
本文出自 “技術成就夢想” 博客,請務必保留此出處http://ixdba.blog.51cto.com/2895551/547778