天天看點

CentOS 6.3 HA叢集搭建詳細過程 提供 軟體包This server's IP is 192.168.0.119--host1 This server's IP is 192.168.0.120--host2

Linux叢集種類

l  高可用性叢集:

§  這類叢集中比較著名的有Turbolinux TurboHA、Heartbeat、Redhat RHCS等。

l  負載均衡叢集:

§  Turbolinux Cluster Server、Linux Virtual Server都屬于負載均衡叢集。

l  高性能計算叢集:

§  這類軟體有Turbolinux EnFusion、SCore、rocks cluster等。

HA軟體

l  Heartbeat是一個守護程式,向其客戶提供叢集基礎架構(通信和成員)服務。

l  heartbeat最核心的包括兩個部分,心跳監測部分和資源接管部分.

§  心跳監測可以通過網絡鍊路和序列槽進行,它們之間互相發送封包來告訴對方自己目前的狀态,如果在指定的時間内未受到對方發送的封包,那麼就認為對方失效,這時需啟動資源接管子產品來接管運作在對方主機上的資源或者服務。

Heartbeat應用

l  HA主機拓撲圖

§  兩台主機連接配接到以太網

§  兩台主機共享存儲

§  mysql資料庫使用共享存儲

2台   CentOS 6.3

Host1    192.168.0.119

Host2    192.168.0.120

Host3    192.168.0.116

配置host1   192.168.0.119    雙網卡

eth0 :192.168.0.119

eth1 : 172.16.100.1

ifconfig eth1 172.16.100.1 netmask 255.255.0.0 broadcast 172.16.255.255 up   啟動eth1

# ifconfig lo:0 192.168.0.100 netmask 255.255.255.255 broadcast 192.168.0.100 up   #VIP

# route add -host 192.168.0.100 dev lo:0   #加一條主機路由表項

配置host2   192.168.0.120   雙網卡

eth0:   192.168.0.120

eth1:   172.16.100.2

ifconfig eth1 172.16.100.2  netmask 255.255.0.0 broadcast 172.16.255.255 up

在2台伺服器上  添加各自解析主機名

192.168.0.119   host1

192.168.0.120   host2

CentOS 6.3 HA叢集搭建詳細過程 提供 軟體包This server's IP is 192.168.0.119--host1 This server's IP is 192.168.0.120--host2

# rpm -e --nodeps gnutls-2.8.5 cluster-glue-libs-1.0.5 resource-agents

如果沒解除安裝會與下面的heartbeat-2.1.3-3.el5.centos沖突

# rpm -ivh PyXML

# rpm -ivh heartbeat-pils

# yum -y install telnet

# rpm -ivh heartbeat-stonith

# rpm -ivh gnutls

# rpm -ivh heartbeat   裝這個的時候需要先安裝上面的lzo和libgnutls 才能裝上  因為我的就報錯需要這2個

#yum –y install perl

配置Apache(Host1, Host2配置相同)

Apache是通過VIP通路的,VIP是:192.168.0.100,在兩台Web伺服器配置以192.168.0.100通路的虛拟主機。

在Apache的配置檔案中設定以下的項

ServerName 192.168.0.100

Listen 192.168.0.100:80

分别在/var/www/html下寫一個index.html  網頁檔案進行測試分别是:

1)HostA

2)HostB

下面是真正開始配置

Host1

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

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

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

編輯authkeys檔案

# vi /etc/ha.d/authkeys

auth 1

1 crc

去掉注釋

authkeys檔案的權限為600

# chmod 600 /etc/ha.d/authkeys

編輯haresources

# vi /etc/ha.d/haresources

添加一行:

host1      192.168.0.100      httpd

第一列為預設主機,第二列為虛拟IP,第三列為需要實作高可用的服務名稱(在/etc/init.d清單内)

編輯ha.cf

# vi /etc/ha.d/ha.cf

去掉注釋,并編輯

logfile /var/log/ha-log

logfacility     local0

keepalive 2

deadtime 30

warntime 10

initdead 120

udpport 694

ucast eth1 172.16.100.2   #使用單點傳播通知對方host2位址

auto_failback on   #主節點恢複正常服務後,是否取回資源

node   host1

node   host2

ping 192.168.220.2  #測試外部網絡連通性,通常使用一個外部網關

host2  配置

和上面的一樣   隻需改一個地方

ucast eth1 172.16.100.1     #使用單點傳播通知對方host1位址

host1和host2啟動service heartbeat start

   service httpd  start

host1,host2,host3   關閉selinux   以及iptables   ip6tables

然後在  host3 即可浏覽  http://12.168.0.100

可以看到 host1  的index.html 的索引檔案内容  

我們可以假設host1關機了   在host2  裡  tail   -f  /var/log/messages 可以看到一些提示資訊。當再次重新整理host3的 網頁時 會發現  顯示的是host2  的索引檔案内容  

      本文轉自潘闊 51CTO部落格,原文連結:http://blog.51cto.com/pankuo/1368762,如需轉載請自行聯系原作者

繼續閱讀