heartbeat安裝與配置


Hearbeatkeepalived區別

Keepalived使用的vrrp協議方式,虛擬路由冗余協議 (Virtual Router Redundancy Protocol,簡稱VRRP)

Heartbeat是基於主機或網絡的服務的高可用方式;

keepalived的目的是模擬路由器的雙機

heartbeat的目的是用戶service的雙機

lvs的高可用建議用keepavlived

業務的高可用用heartbeat

Heartbeat高可用介紹

         Heartbeat,心跳的意思,這里是Linux-HA 工程的一個組成部分,它實現了一個高可用集群系統。心跳服務和集群通信是高可用集群的兩個關鍵組件,在 Heartbeat 項目里,由 heartbeat 模塊實現了這兩個功能。

         heartbeat最核心的包括兩個部分,心跳監測部分和資源接管部分,心跳監測可以通過網絡鏈路和串口進行,而且支持冗余鏈路,它們之間相互發送報文來告訴對方自己當前的狀態,如果在指定的時間內未收到對方發送的報文,那么就認為對方失效,這時需啟動資源接管模塊來接管運行在對方主機上的資源或者服務

        

         keepalived主要控制IP飄移,配置應用簡單,而且分層,layer345,各自配置極為簡單

         heartbeat不但可以控制IP飄移,更擅長對資源服務的控制,配置,應用比較復雜

Heartbeat工作原理

         通過修改Heartbeat的配置文件,可以指定哪台Heartbeat服務器作為主服務器,則另一台服務器自動成為熱備服務器,然后在熱備服務器上配置Heartbeat守護程序來監聽來自主服務器的心跳消息。如果熱備服務器在指定的時間內未監聽到來自主服務器的心跳,就會啟動故障轉移程序,並取得主服務器上的相關資源服務的所有權,接替主服務器繼續不間斷的提供服務,從而達到資源及服務高可用性的目的。

    以上描述是heartbeat主備的模式,heartbeat還支持主主模式,即兩台服務器互為主備,這時它們之間會相互發送報文來告訴對方自己當前的狀態,如果在指定的時間內未收到對方發送的心跳報文,那么,一方就會認為對方失效或者宕機了,這每個運行正常的主機就會啟動自身的資源接管模塊來接管運行在對方主機上的資源或者服務,繼續為用戶提供服務。一般情況下,可以較好的實現一台主機故障后,企業業務仍能不間斷的持續運行。注意:所謂的業務不間斷,在故障轉移期間也是需要切換時間的<例如:停止數據庫及存儲服務等>heartbeat的主備高可用的切換時間一般是在5-20秒左右(服務器宕機的切換比人工切換要快)

    另外,和keepalived高可用軟件一樣,heartbeat高可用是操作系統級別的,不是服務(軟件)級別的,可以通過簡單的腳本控制,實現服務級別的高可用

   高可用服務器切換的常見場景:

    1)主服務器物理宕機(硬件損壞,操作系統故障),主要解決目標

    2Heartbeat服務軟件本身故障

    3)兩台主備服務器之間心跳連接故障

服務故障不會導致切換,可以通過服務宕機把heartbeat服務停掉

 

官方網站:http://www.linux-ha.org/wiki/Download

Heartbeat-3.X版本以后被分為了4個模塊,這些安裝包都可以從官網:

http://www.linux-ha.org/wiki/Downloads下載得到:

目前的這些版本是:

ClusterLabs-resource-agents-v3.9.2-0-ge261943.tar.gz   //集群實驗資源代理(光盤)

Heartbeat-3-0-7e3a82377fa8.tar.bz2                                         //心跳主程序包

pacemaker-1.1.9-1512.el6.src.rpm                                            //起搏器(光盤鏡像)

Reusable-Cluster-Components-glue--glue-1.0.9.tar.bz2    //可重復使用的群集組件(光盤)

Hearbeat端口和IANA

TCP/UDP694號端口【端口都是有IANA規划的】

[root@xuegod63 ~]# grep 694 /etc/services

ha-cluster      694/tcp                          # Heartbeat HA-cluster

ha-cluster      694/udp                         # Heartbeat HA-cluster

拓展:

IANA 就是指(Internet Assigned Numbers Authority 互聯網數字分配機構) Internet 號分配的機構。負責對 IP 地址分配規划以及對 TCP/UDP 公共服務的端口定義。(誰管理着 TCP/UDP 公共服務的端口定義)

IANA是全球最早的Internet機構之一,其歷史可以追溯到1970年。今天,IANA被負責協調IANA責任范圍的非營利機構ICANN(Internet Corporation for Assigned Names and Numbers,互聯網名稱與數字地址分配機構)掌管。IANA還可以查詢全球各類頂級域名的具體信息,無論知名還是不知名的域名后綴,你都可以找到它的詳細信息以及管理機構所在國家、地址信息、運營公司、注冊局網址等。

IANA 的所有任務可以大致分為三個類型:

一、域名。IANA 管理 DNS 域名根和.int.arpa 域名以及 IDN(國際化域名)資源。

二、數字資源。IANA 協調全球 IP AS(自治系統)號並將它們提供給各區域 Internet 注冊機構。

注: AS 自治系統號,是 BGP(國家與國家) 路由協議中的號。

三、協議分配。IANA 與各標准化組織一同管理協議編號系統。

官網:http://www.iana.org/

Hearbeat心跳鏈接

兩台Server之間heartbeat心跳通訊的方法:

1:利用串口電纜,使用串口線直連兩台服務器,缺點是距離不能太遠

2:使用一個Enternet電纜,兩張網卡直連

 

如何選擇:

         最好使用串口電纜,次之兩張網卡直連

Hearbeat腦裂

         兩台服務都正常,但是就是檢測不到對方的心跳信息(心跳通信出現故障),兩台heartbeat都綁定VIP,這就是腦裂,由於相互失去聯系,兩台服務器本能的爭取接管資源,最嚴重的后果:共享資源被瓜分,服務都起不起來了,又或者服務都起來,但是共享資源同時寫,最后數據就被破壞了!

         1:心跳線斷了,無法通訊(老鼠咬了,線材老化)

         2:使用網路直連時,網卡驅動壞了,局域網IP沖突

         3:心跳線之間的中轉設備壞了(仲裁設備壞了)

         4iptables

         5:地址信息不對(掩碼……),配置丟失

         6:網線誤拔

解決腦裂的辦法:

         做冗余

         做好腦裂監控報警(在仲裁設備上做),仲裁方式停服

         多個仲裁機制(仲裁設備,第三方仲裁軟件)

         一旦報警,短信電話通知運維人員,服務不要自動接管服務,有人員操作

Heartbeat集群環境

使用Heartbeat實現web服務器的高可用

         三台服務器,加上真機頂替一台客戶端服務器

         Xuegod63         web

         Xuegod64         web

         Xuegod66         存儲池

拓撲圖如下

 

環境准備

Xuegod616366,主機名對應,永久生效,且能相互解析(hosts文件),清空防火牆,關閉selinux

[root@xuegod64 ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.63 xuegod63

192.168.1.64 xuegod64

192.168.1.66 xuegod66

[root@xuegod64 ~]# getenforce

Disabled

[root@xuegod64 ~]# iptables -F && /etc/init.d/iptables save

iptables:將防火牆規則保存到 /etc/sysconfig/iptables     [確定]

配置存儲池

這里我們使用的XueGod66作為我們的存儲池,配置我們NFS共享資源

1.安裝NFS軟件包

[root@xuegod66 ~]# rpm -ivh /media/Packages/nfs-utils-1.2.3-39.el6.x86_64.rpm

warning: /media/Packages/nfs-utils-1.2.3-39.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

Preparing...                ########################################### [100%]

package nfs-utils-1:1.2.3-39.el6.x86_64 is already installed

2.創建共享目錄

[root@xuegod66 ~]# mkdir /wwwdir

3.創建一個首頁測試文件

[root@xuegod66 ~]# echo "HeartBeat HTTP Server Test" > /wwwdir/index.html

4.編輯NFS的配置文件

[root@xuegod66 ~]# cat /etc/exports

/wwwdir 192.168.1.0/24(rw)

5.啟動服務並查看

[root@xuegod66 ~]# service nfs start

啟動 NFS 服務:                                            [確定]

關掉 NFS 配額:                                            [確定]

啟動 NFS mountd                                          [確定]

啟動 NFS 守護進程:                                        [確定]

正在啟動 RPC idmapd                                      [確定]

查看端口是否啟動

[root@xuegod66 ~]# netstat -anptu|grep 2049

tcp        0      0 0.0.0.0:2049                0.0.0.0:*                   LISTEN      -                  

tcp        0      0 :::2049                     :::*                        LISTEN      -                  

udp        0      0 0.0.0.0:2049                0.0.0.0:*                               -                  

udp        0      0 :::2049                     :::*                                    

[root@xuegod66 ~]# showmount -e

Export list for xuegod66:

/wwwdir 192.168.1.0/24

 

[root@xuegod66 ~]# chkconfig nfs on

添加開機自動掛載

/etc/fstab

 

WEB1服務器主配置

[root@xuegod63 mnt]# mount -t nfs 192.168.1.66:/wwwdir /var/www/html

[root@xuegod63 mnt]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda2             9.9G  3.7G  5.8G  39% /

tmpfs                1000M  224K 1000M   1% /dev/shm

/dev/sda1             485M   39M  421M   9% /boot

/dev/sdb1             197G  188M  187G   1% /server

/dev/sr0              3.6G  3.6G     0 100% /media

192.168.1.66:/wwwdir  9.9G  3.6G  5.9G  38% /var/www/html

xuegod64同上面一樣的操作

[root@xuegod63 mnt]# service httpd status

httpd 已停

[root@xuegod63 mnt]# service httpd start

正在啟動 httpdhttpd: Could not reliably determine the server's fully qualified domain name, using 192.168.1.63 for ServerName

                                                           [確定]

[root@xuegod63 mnt]# curl 127.0.0.1

HeartBeat HTTP Server Test

 

---------------------------------------------------------------------------------------------------------------------------------

[root@xuegod64 ~]# umount /var/www/html/     //卸載資源:后期這些資源通過heartbeat直接加載

[root@xuegod64 ~]# service httpd stop

[root@xuegod64 ~]# chkconfig httpd off

 

制作HeartbeatRPM

 [root@xuegod63 ~]# vim /etc/yum.repos.d/rhel-source.repo

[rhel-source]

name=Red Hat Enterprise Linux LocalYUM

baseurl=file:///media/

enabled=1

gpgcheck=0

 

 

 

[rhel-ha]

name=Red ha

baseurl=file:///media/HighAvailability

enabled=1

gpgcheck=0

#說明,如果不配置這個baseurl=file:///mnt/HighAvailabilit  ,則無法使用yum安裝cluster-glueresource-agents             

 

centos 6.25的源里 cluster-glueresource-agentspacemaker 都有,就是沒有heartbeat幸好heartbeatsource里提供了.spec 可以用rpmbuild來生成rpm包。

部署之前,我們需要生產heartbeatrpm

上傳下載的heartbeat軟件包

[root@xuegod63 mnt]# tar jxvf heartbeat.tar.bz2

[root@xuegod63 ~]# cd Heartbeat-3-0-958e11be8686

[root@xuegod63 Heartbeat-3-0-958e11be8686]# rpmbuild  -ba heartbeat-fedora.spec

error: File /root/rpmbuild/SOURCES/heartbeat.tar.bz2: No such file or directory

#雖然報了錯,但是幫你生成了目錄:/root/rpmbuild/SOURCES/  。如你系統本身就有此目錄,可以直接拷貝這個壓縮包到這個目錄

[root@xuegod63 Heartbeat-3-0-958e11be8686]# tar xvf /root/Heartbeat-3-0-958e11be8686.tar.bz2 -C /root/rpmbuild/SOURCES/

         [root@xuegod63 Heartbeat-3-0-958e11be8686]# cd /root/rpmbuild/SOURCES/

[root@xuegod63 SOURCES]# mv Heartbeat-3-0-958e11be8686/ heartbeat

[root@xuegod63 SOURCES]# tar cjvf heartbeat.tar.bz2 heartbeat

生成heartbeat.tar.bz2軟件包,如果直接使用源碼包,生成rpm包時,會報錯:

         [root@xuegod63 SOURCES]# cd /root/rpmbuild/SOURCES/heartbeat/

[root@xuegod63 heartbeat]# rpmbuild -ba heartbeat-fedora.spec

error: File /root/rpmbuild/SOURCES/heartbeat.tar.bz2: No such file or directory

[root@xuegod63 heartbeat]# yum –y install ncurses-devel cluster-glue-libs-devel  uuid  libuuid-devel 

[root@xuegod63 heartbeat]# rpmbuild -ba heartbeat-fedora.spec

 

安裝heartbeat

web

[root@xuegod63 heartbeat]# cd /root/rpmbuild/RPMS/x86_64/

[root@xuegod63 x86_64]# yum install -y cluster-glue resource-agents

[root@xuegod63 x86_64]# rpm -ivh heartbeat-libs-3.0.6-1.el6.x86_64.rpm

[root@xuegod63 x86_64]# rpm -ivh heartbeat-3.0.6-1.el6.x86_64.rpm

[root@xuegod63 x86_64]# scp heartbeat-libs-3.0.6-1.el6.x86_64.rpm heartbeat-3.0.6-1.el6.x86_64.rpm 192.168.1.64:/root

[root@xuegod63 x86_64]# scp /etc/yum.repos.d/rhel-source.repo 192.168.1.64:/etc/yum.repos.d/

Web

         [root@xuegod64 ~]# yum install cluster-glue-libs-devel cluster-glue resource-agents -y

         [root@xuegod64 ~]# rpm -ivh heartbeat-libs-3.0.6-1.el6.x86_64.rpm

[root@xuegod64 ~]# rpm -ivh heartbeat-3.0.6-1.el6.x86_64.rpm

查看生產的用戶和組

         [root@xuegod63 x86_64]# cd && grep haclient /etc/group

haclient:x:492:

         [root@xuegod63 ~]# id hacluster

uid=496(hacluster) gid=492(haclient) groups=492(haclient)

 

配置heartbeat

XueGod6364的配置差不多,先在XueGod63上配好,copy64

[root@xuegod63 ~]# cp /usr/share/doc/heartbeat-3.0.6/ha.cf /etc/ha.d/  #主配置文件

[root@xuegod63 ~]# cp /usr/share/doc/heartbeat-3.0.6/authkeys /etc/ha.d/     #主備節點間通信時所使用的驗證文件,保證安全性

[root@xuegod63 ~]# cp /usr/share/doc/heartbeat-3.0.6/haresources /etc/ha.d/  #定義浮動資源的配置文件

什么是浮動資源:1. 公網IP地址       2. HTTP服務            3. 存儲:NFS掛載

[root@xuegod63 ~]# vim /etc/ha.d/authkeys                   //設置主備節點間通信時所使用的驗證文件,保證安全性。主備節點配置要求一致。

23auth 3                  #去掉注釋

      24#1 crc

      25#2 sha1 HI!

      263md5findkey       #去掉注釋,修改md5加密值已經名字

[root@xuegod63 ~]# chmod 600 /etc/ha.d/authkeys              //此文件權限必須是600,否則啟動不成功

/etc/ha.d/authkeys 文件決定了認證密鑰。共有三種認證方式:crcmd5,和sha1

如果Heartbeat運行於安全網絡之上,如本例中的交叉線,可以使用crc,從資源的角度來看,這是代價最低的方法。如果網絡並不安全,但也希望降低CPU使用,則使用md5。最后,如果想得到最好的認證,而不考慮CPU使用情況,則使用sha1,它在三者之中最難破解。

定義浮動資源:

[定義好了資源之后,我們可以測試是否正常]

[root@xuegod63 ~]# vim /etc/ha.d/haresources            //44行加一行

44#node-name resource1 resource2 ... resourceN

45 xuegod63.cn IPaddr::192.168.1.200/24/eth0 Filesystem::192.168.1.61:/wwwdir::/var/www/html::nfs  httpd

#注:node-name填的是主服務器的主機名。 xuegod64上不需要修改。這樣資源默認會加一這個主機上。當xuegod63壞了,xuegod64會再接管。

#IPaddr::192.168.1.200/24/eth0  指定VIP及綁定到哪個網卡上

#Filesystem::192.168.1.62:/wwwdir::/var/www/html::nfs   指定要掛載的存儲

#httpd   指定要啟動的服務。注,這個服務必須是/etc/init.d下,可以通過service去啟動或關閉

         [root@xuegod63 ~]# /etc/ha.d/resource.d/IPaddr 192.168.1.200/24/eth0 start

INFO: Adding inet address 192.168.1.200/24 with broadcast address 192.168.1.255 to device eth0

INFO: Bringing device eth0 up

INFO:/usr/libexec/heartbeat/send_arp -i 200 -r 5 -p /var/run/resource-agents/send_arp-192.168.1.200 eth0 192.168.1.200 auto not_used not_used

INFO:  Success

INFO:  Success

ARPING 192.168.1.200 from 192.168.1.200 eth0

Sent 5 probes (5 broadcast(s))

Received 0 response(s)

         [root@xuegod63 ~]# ip addr                               //查看IPifconfig看不到200ip

2: eth0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:d7:42:30 brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.63/24 brd 192.168.1.255 scope global eth0

    inet 192.168.1.200/24 brd 192.168.1.255 scope global secondary eth0

    inet6 fe80::20c:29ff:fed7:4230/64 scope link

       valid_lft forever preferred_lft forever

         [root@xuegod63 ~]# /etc/ha.d/resource.d/Filesystem 192.168.1.61:/wwwdir /var/www/html/ nfs start                    //手動加載NFS存儲資源到/var/www/html

INFO: Running start for 192.168.1.61:/wwwdir on /var/www/html

INFO:  Success

INFO:  Success

         [root@xuegod63 ~]# ll /var/www/html/

-rwxrwxrwx 1 root root 27 Dec 2215:55 index.html

         [root@xuegod63 ~]# mount                      //查看掛載的資源

……

192.168.1.61:/wwwdir on /var/www/html type nfs (rw,vers=4,addr=192.168.1.61,clientaddr=192.168.1.63)

         [root@xuegod63 ~]# /etc/init.d/httpd start

配置主配置文件

[root@xuegod63 ~]# grep ^[^#] /etc/ha.d/ha.cf                       //看一下配置文件有效行

logfacility local0

auto_failback on

#auto_failback on on 時,主結點恢復正常后,資源自動轉給主結點。建議設為 auto_failback off ,等主節點恢復正常后,在業務不繁忙時,切換回來。防止主節點恢復正常時,回切時,再次影起網絡中斷。

[root@xuegod63 ~]# vim /etc/ha.d/ha.cf

24 debugfile /var/log/ha-debug        #調試日志文件,取默認值

29 logfile /var/log/ha-log                         #系統日志文件,取默認值                        

48 keepalive 2                      #心跳頻率,可以自己設定 heartbeat 之間的時間間隔為 2 秒。也可以200ms 表示200毫秒

56 deadtime 30                      #節點死亡時間的閥值,就是從節點在過了 30 秒后還沒有收到心跳就認為主節點死亡

61 warntime 10                      #在日志中發出“late heartbeat“警告乀前等待的時間,單位為秒。

71 initdead 120                     #在某些系統上,系統啟動或重啟之后需要經過一段時間網絡才能正常工作,該選項用於解決這種情況產生的時間間隔。取值至少為 deadtime 的兩倍。

76 udpport 694                      #心跳信息傳遞的UDP端口,使用端口 694 進行 bcast ucast 通信。這是默認的,並且在 IANA 官方注冊的端口號。

113 #mcast eth0 225.0.0.1 694 1 0    #說明:采用udp多播播來通知心跳,建議在副節點不只一台時使用

121 ucast eth0 192.168.1.64          #需要修改,表示從本機的 eth0 接口發心跳消息給對方節點,寫另一端的IP 地址。這是單播地址。 xuegod64 上改為 192.168.1.63  。心跳網卡,如果你有兩個網卡,可以寫成 eth1 注:配置文件中 91 #bcast  eth0   #表示在 eth0 接口上使用廣播 heartbeat(將 eth1 替換為 eth0 eth2,或者您使用的任何接口)。

157 auto_failback on                                            #默認啟用,當 auto_failback 設置為 on 時,一旦主節點重新恢復聯機,將從從節點取回所有資源。若該選項設置為 off,主節點便不能重新獲得資源。

211 node    xuegod63                                            #需要修改,該選項是必須配置的。集群中機器的主機名,與“uname –n”的輸出相同。

212 node    xuegod64                                            #需要修改

220 ping 192.186.1.254                        #需要修改,通過ping命令實現仲裁

253 respawn hacluster /usr/libexec/heartbeat/ipfail         #需要修改

259 apiauth ipfail gid=haclient uid=hacluster

Web

         63cp文件過去即可

[root@xuegod63 ~]# cd /etc/ha.d/

         [root@xuegod63 ha.d]# scp ha.cf haresources authkeys 192.168.1.64:/etc/ha.d/

         [root@xuegod64 ~]# chmod 600 /etc/ha.d/authkeys

         [root@xuegod64 ~]# vim /etc/ha.d/ha.cf

改:

ucast eth0 192.168.1.64

為:

ucast eth0 192.168.1.63

#修改單播地址

啟動heartbeat

[root@xuegod63 ~]# /etc/init.d/heartbeat restart

[root@xuegod64 ~]# /etc/init.d/heartbeat restart

Stopping High-Availability services:                       [  OK  ]

Waiting to allow resource takeover to complete:     [ OK ]

#等待資源接管完成。 takeover接管。  當啟動停留在這個界面時,xuegod64會接管所有浮動資源。等下面啟動成功時,xuegod64會釋放資源,浮動資源,再次加載。

Starting High-Availability services: IPaddr[27857]: INFO:  Resource is stopped

                                                           [  OK  ]

[root@xuegod63 ~]# netstat -antup | grep 694

udp        0      00.0.0.0:694              0.0.0.0:*                               61266/heartbeat: wr

[root@xuegod64 ~]# netstat -antup | grep 694

udp        0      00.0.0.0:694               0.0.0.0:*                               46002/heartbeat: wr

 

查看集群資源

WEB

[root@xuegod63 ~]# ip addr                                                  //VIP 1.200

……

2: eth0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

……

    inet 192.168.1.200/24 brd 192.168.1.255 scope global secondary eth0

……

[root@xuegod63 ~]# /etc/init.d/httpd status                            //服務是啟動的

httpd(pid  66549) is running...

         [root@xuegod63 ~]# df –h                                            //NFS是掛載的

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda2             9.93.95.542%/

tmpfs                 491224491M   1%/dev/shm

/dev/sda1             194M   3015516%/boot

/dev/sr0              3.63.6G     0100%/media

192.168.1.61:/wwwdir  9.93.9G  5.642%/var/www/html

WEB

         [root@xuegod64 ~]# ip addr                                   //沒有虛擬IP

……

2: eth0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:ae:04:06 brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.64/24 brd 192.168.1.255 scope global eth0

……

         [root@xuegod64 ~]# /etc/init.d/httpd status                           //服務沒有啟動

httpd(pid  66549) is running...

         [root@xuegod64 ~]# df –h                                                               //NFS未掛載

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda2       9.93.95.642%/

tmpfs           491224491M   1%/dev/shm

/dev/sda1       194M   3015516%/boot

/dev/sr0        3.63.6G     0100%/media

測試

使用客戶端訪問192.168.1.200

關閉XueGod63的網卡,等待30s,在cong上查看IPNFS等狀態

         [root@xuegod63 ~]# ifdown eth0(虛擬機效果,有時候很有問題,可以直接斷開)

XueGod64

         [root@xuegod64 ~]# ip addr             //虛擬IP已經轉移過來

2: eth0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

 ……

    inet 192.168.1.64/24 brd 192.168.1.255 scope global eth0

    inet 192.168.1.200/24 brd 192.168.1.255 scope global secondary eth0

……

         [root@xuegod64 ~]# df –h

……

192.168.1.62:/wwwdir  9.91.18.312%/var/www/html     #NFS也已經掛載

         [root@xuegod64 ~]# service httpd status                     //HTTPD已經啟動

httpd(pid  50334) is running...

訪問測試

XueGod63恢復鏈接

         [root@xuegod63 ~]# ifup eth0

         [root@xuegod63 ~]# ip addr

……

2: eth0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

……

    inet 192.168.1.63/24 brd 192.168.1.255 scope global eth0

    inet 192.168.1.200/24 brd 192.168.1.255 scope global secondary eth0

……

         [root@xuegod63 ~]# df –h

……

192.168.1.62:/wwwdir  9.91.18.312%/var/www/html

         [root@xuegod63 ~]# service httpd status

httpd(pid  68370) is running...

#發現資源已經卻換回來

XueGod64

         [root@xuegod64 ~]# ip addr

……

2: eth0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

……

    inet 192.168.1.64/24 brd 192.168.1.255 scope global eth0

……

         [root@xuegod64 ~]# df –h

……

/dev/sr0        3.63.6G     0100%/mnt

         [root@xuegod64 ~]# service httpd status

httpd is stopped

訪問測試:

拓展:heartbeat 自帶的斷網切換的工具-ipfail

ipfail 斷網切換的原理:   關於 ipfail 這個斷網切換的原理很簡單,首先 heartbeat 要判斷自己的網絡是否正常其實就是通過 ping某個 ip,如果可以 ping 的通,說明網絡是通的,如果 ping 不通了,說明是網絡斷了,或者是主服務器的網卡壞了,然后執行切換的動作。

 

視頻講課:鏈接:http://pan.baidu.com/s/1hsqI1eO 密碼:請在評論處留下郵箱,統一發送

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM