Hearbeat和keepalived區別
Keepalived使用的vrrp協議方式,虛擬路由冗余協議 (Virtual Router Redundancy Protocol,簡稱VRRP);
Heartbeat是基於主機或網絡的服務的高可用方式;
keepalived的目的是模擬路由器的雙機
heartbeat的目的是用戶service的雙機
lvs的高可用建議用keepavlived
業務的高可用用heartbeat
Heartbeat高可用介紹
Heartbeat,心跳的意思,這里是Linux-HA 工程的一個組成部分,它實現了一個高可用集群系統。心跳服務和集群通信是高可用集群的兩個關鍵組件,在 Heartbeat 項目里,由 heartbeat 模塊實現了這兩個功能。
heartbeat最核心的包括兩個部分,心跳監測部分和資源接管部分,心跳監測可以通過網絡鏈路和串口進行,而且支持冗余鏈路,它們之間相互發送報文來告訴對方自己當前的狀態,如果在指定的時間內未收到對方發送的報文,那么就認為對方失效,這時需啟動資源接管模塊來接管運行在對方主機上的資源或者服務
keepalived主要控制IP飄移,配置應用簡單,而且分層,layer3,4,5,各自配置極為簡單
heartbeat不但可以控制IP飄移,更擅長對資源服務的控制,配置,應用比較復雜
Heartbeat工作原理
通過修改Heartbeat的配置文件,可以指定哪台Heartbeat服務器作為主服務器,則另一台服務器自動成為熱備服務器,然后在熱備服務器上配置Heartbeat守護程序來監聽來自主服務器的心跳消息。如果熱備服務器在指定的時間內未監聽到來自主服務器的心跳,就會啟動故障轉移程序,並取得主服務器上的相關資源服務的所有權,接替主服務器繼續不間斷的提供服務,從而達到資源及服務高可用性的目的。
以上描述是heartbeat主備的模式,heartbeat還支持主主模式,即兩台服務器互為主備,這時它們之間會相互發送報文來告訴對方自己當前的狀態,如果在指定的時間內未收到對方發送的心跳報文,那么,一方就會認為對方失效或者宕機了,這每個運行正常的主機就會啟動自身的資源接管模塊來接管運行在對方主機上的資源或者服務,繼續為用戶提供服務。一般情況下,可以較好的實現一台主機故障后,企業業務仍能不間斷的持續運行。注意:所謂的業務不間斷,在故障轉移期間也是需要切換時間的<例如:停止數據庫及存儲服務等>heartbeat的主備高可用的切換時間一般是在5-20秒左右(服務器宕機的切換比人工切換要快)
另外,和keepalived高可用軟件一樣,heartbeat高可用是操作系統級別的,不是服務(軟件)級別的,可以通過簡單的腳本控制,實現服務級別的高可用
高可用服務器切換的常見場景:
1)主服務器物理宕機(硬件損壞,操作系統故障),主要解決目標
2)Heartbeat服務軟件本身故障
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/UDP的694號端口【端口都是有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 與各標准化組織一同管理協議編號系統。
Hearbeat心跳鏈接
兩台Server之間heartbeat心跳通訊的方法:
1:利用串口電纜,使用串口線直連兩台服務器,缺點是距離不能太遠
2:使用一個Enternet電纜,兩張網卡直連
如何選擇:
最好使用串口電纜,次之兩張網卡直連
Hearbeat腦裂
兩台服務都正常,但是就是檢測不到對方的心跳信息(心跳通信出現故障),兩台heartbeat都綁定VIP,這就是腦裂,由於相互失去聯系,兩台服務器本能的爭取接管資源,最嚴重的后果:共享資源被瓜分,服務都起不起來了,又或者服務都起來,但是共享資源同時寫,最后數據就被破壞了!
1:心跳線斷了,無法通訊(老鼠咬了,線材老化)
2:使用網路直連時,網卡驅動壞了,局域網IP沖突
3:心跳線之間的中轉設備壞了(仲裁設備壞了)
4:iptables
5:地址信息不對(掩碼……),配置丟失
6:網線誤拔
解決腦裂的辦法:
做冗余
做好腦裂監控報警(在仲裁設備上做),仲裁方式停服
多個仲裁機制(仲裁設備,第三方仲裁軟件)
一旦報警,短信電話通知運維人員,服務不要自動接管服務,有人員操作
Heartbeat集群環境
使用Heartbeat實現web服務器的高可用
三台服務器,加上真機頂替一台客戶端服務器
Xuegod63 web主
Xuegod64 web從
Xuegod66 存儲池
拓撲圖如下
環境准備
Xuegod61,63,66,主機名對應,永久生效,且能相互解析(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
正在啟動 httpd:httpd: 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
制作Heartbeat的RPM包
[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-glue和resource-agents
centos 6.2或5的源里 cluster-glue、resource-agents、pacemaker 都有,就是沒有heartbeat。幸好heartbeat的source里提供了.spec 可以用rpmbuild來生成rpm包。
部署之前,我們需要生產heartbeat的rpm包
上傳下載的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
XueGod63和64的配置差不多,先在XueGod63上配好,copy給64
[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 文件決定了認證密鑰。共有三種認證方式:crc,md5,和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 //查看IP,ifconfig看不到200的ip
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從
從63上cp文件過去即可
[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.9G 3.9G 5.5G 42%/
tmpfs 491M 224K 491M 1%/dev/shm
/dev/sda1 194M 30M 155M 16%/boot
/dev/sr0 3.6G 3.6G 0100%/media
192.168.1.61:/wwwdir 9.9G 3.9G 5.6G 42%/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.9G 3.9G 5.6G 42%/
tmpfs 491M 224K 491M 1%/dev/shm
/dev/sda1 194M 30M 155M 16%/boot
/dev/sr0 3.6G 3.6G 0100%/media
測試
使用客戶端訪問192.168.1.200
關閉XueGod63的網卡,等待30s,在cong上查看IP,NFS等狀態
[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.9G 1.1G 8.3G 12%/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.9G 1.1G 8.3G 12%/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.6G 3.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 密碼:請在評論處留下郵箱,統一發送