标签:
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 //可重复使用的群集组件(光盘)
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 与各标准化组织一同管理协议编号系统。
两台Server之间heartbeat心跳通讯的方法:
1:利用串口电缆,使用串口线直连两台服务器,缺点是距离不能太远
2:使用一个Enternet电缆,两张网卡直连
如何选择:
最好使用串口电缆,次之两张网卡直连
两台服务都正常,但是就是检测不到对方的心跳信息(心跳通信出现故障),两台heartbeat都绑定VIP,这就是脑裂,由于相互失去联系,两台服务器本能的争取接管资源,最严重的后果:共享资源被瓜分,服务都起不起来了,又或者服务都起来,但是共享资源同时写,最后数据就被破坏了!
1:心跳线断了,无法通讯(老鼠咬了,线材老化)
2:使用网路直连时,网卡驱动坏了,局域网IP冲突
3:心跳线之间的中转设备坏了(仲裁设备坏了)
4:iptables
5:地址信息不对(掩码……),配置丢失
6:网线误拔
解决脑裂的办法:
做冗余
做好脑裂监控报警(在仲裁设备上做),仲裁方式停服
多个仲裁机制(仲裁设备,第三方仲裁软件)
一旦报警,短信电话通知运维人员,服务不要自动接管服务,有人员操作
使用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 密码:1nv1
标签:
原文地址:http://www.cnblogs.com/miaoxg/p/148fe6d6a6f1052bdddbdaa814628cfa.html