1. 程式人生 > >HA雙機熱備配置

HA雙機熱備配置

HA(高可用性叢集)當主機處於工作狀態時,從機處於休眠狀態,當主機宕機時,從機便會開始工作,讓使用者幾乎感覺不到服務的中斷,類似於網路路由配置中的備份。當主機存活時,所有的資源全在主機上,通過網路儲存,光纖連線或者是一些第三方儲存裝置。主機宕機後,資源就會從主機上自動掛到從機上。

一、實驗所需的裝置

在虛擬機器中安裝兩個新的Linux伺服器,每個伺服器有兩塊網絡卡,eth0為主機模式,eth1為橋接模式或者是NAT模式。eth1會模擬為對外服務,eth0在內網中作為心跳線,起心跳檢測的作用,用來檢測主機和從機之間是否有存活。

二、從機上的服務安裝

採用的事yum安裝,yum安裝能解決安裝包依賴的問題。

1、 yum install epel-release  安裝epel yum源

yum install heartbeat* 安裝heartbeat服務

yum install nginx 拿web服務做測試

yum install libnet 安裝libnet函式庫

2、cd /etc/ha.d/

把所需要的檔案從/usr/share/doc/heartbeat/中拷到/etc/ha.d/目錄下,所需要的檔案是haresources,authkeys,ha.cf。

然後進行檔案的修改

(1)、vim  /etc/ha.d/authkeys

把#auth1

#3 md5 Hello改為

auth1

3 md5 Hello

        (2)、然後更改該檔案的許可權

chmod 600 authkeys

(3)、修改haresources檔案

vim haresources

在最後一行加上

主機名(主機) VIP(VIP是虛擬IP,改為對外提供服務的eth1網段內的一個虛擬IP)/24/eth1:0 nginx

例如:zhuji1 192.168.137.11/24/eth1:0 nginx

(4)、修改ha.cf檔案

vim ha.cf

把#debugfile除錯日誌檔案

    #logfile日誌檔案

   #keeplive 2   2秒檢測一下存活時間

   #deadtime 30   30秒為檢測到存活則認為主機死亡

   #warntime 10  警告時間段為10 秒

   #initdead 120   120秒的初始時間

   #udpport 694   提供服務通訊的udp埠

   #ucast單播對方的IP

   #node  主機名

   #node  從機名

   #ping  這個是仲裁IP

   #respawn  hacluster  /usr/lib/heartbeat/ipfail

之前的#去掉

在ucast 那行加上

ucast eth0192.168.13.129

其中eth0 192.168.13.129 是對方的內網即心跳線的IP

再加上

node 主機名

node 從機名

還有很重要的一步

加上ping 192.168.13.1這個IP是作為仲裁,一般是內網的閘道器,因為閘道器較為穩定。意思是可以通過這個仲裁IP找到單播IP

(5)、vim /etc/hosts

加上主機和從機的IP和使用者名稱

例如 主機IP  主機名

 從機IP  從機名

第五步在主機上也要寫

三、把在從機上配置好的檔案複製到主機上去

可以用在從機的/etc/ha.d/目錄下scp haresources ha.cf authkeys 主機名:/etc/ha.d下的方法進行復制

如果沒有scp命令的話可以安裝一下

yum install openssh-clients主機從機上都要安裝

複製完之後再主機上只需要更改一個地方即可,就是ha.cf中的一個配置即ucast eth0 加對方心跳線的IP

四、配置完上述配置之後,關閉所有的防火牆和selinux

iptables -F

vim /etc/sysconfig/selinux

把SELINUX=enforcing改為SELINUX=disabled

五、然後就是服務的啟動了

應該先啟動主機上的heartbeat服務再啟動從機上的heartbeat服務。

六、測試

可以在主機上通過ifconfig和ps aux |grep nginx來檢視

先啟動主機再啟動從機之後我們可以看到在主機上有我們配置的VIP以及nginx 服務的程序,而在從機上沒有。我們可以在主機上寫一條防火牆記錄來測試我們服務的正確性。

iptables -I INPUT -p icmp -j DROP

然後注意觀察我們的日誌檔案 tail -f /var/log/ha-log可以看到日誌明顯的變化。而在從機上通過ifconfig可以看到VIP,這就說明我們的配置成功了。

也可以利用測試網頁來驗證

在主機上echo “主機” >>/usr/share/nginx/html/index.html

在從機上echo “從機” >>/usr/share/nginx/html/index.html

然後我們可以在瀏覽器上通過輸入我們配置的VIP以及把主機切斷在輸入我們的VIP來驗證。