heartbeat什么意思

更新时间:2022-11-27 15:00:39 阅读: 评论:0


2022年11月27日发(作者:veronicamars)

双机热备配置(Heartbeat)引用

:)前言:

一.安装前环境设定

===================================================================

两台主机硬件环境可以不一样,本人用的是vmware来做的实验,还没有在真实的在两台机

器上安装。

硬件环境:dell1800(虚拟2个机器)

软件环境:vmware5redhatas4heartbeat2.0.4

环境描述:

两台计算机(两个节点),一个共享SCSI硬盘盒(用于存储共享,参考下边"添加硬件")。每

个节点都安装支持共享总线的

SCSI卡;每个节点有自己的系统磁盘;每个分别带有两块以太网卡,(其中一块用于网络通

讯,另一块用于心跳功能。)

。两个节点的网络设置如下:

节点1:主机名为:www1,第一块网卡(eth0)的IP地址:192.168.0.197(用于网络通讯)。

第二块网卡(eth1)的IP地址:

192.168.1.1(用于心跳通讯)。

节点2:主机名为:www2,第一块网卡(eth0)的IP地址:192.168.0.198(用于网络通讯)。

第二块网卡(eth1)的IP地址:

192.168.1.2(用于心跳通讯)。

vm里用eth1做心跳(只要互相可以ping就可以了)。实际安装时,两台主机的eht1使用双

机对联线直接连接。

vmware下快速安装双系统!^_^

1.在d:vmfile目录下新建目录linuxha2,在把d:vmfilelinuxha1里面刚才安装好的虚拟操作

系统复制一份到linuxha2

这样子,我们就得到了两个虚拟的RedHatAdvancedServer4了,当然,他们是一样的,我

们需要进行些修改。

2.进入d:vmfilelinuxha2,用写字板打开,修改displayName="Linuxha1"为

displayName="Linuxha2",

这样子,在vmware控制台,你就看到两个不同的名字了。尽管如此,如果你同时启动两个虚

拟机,这两个虚拟系统还是一样

的,所以,我们需要修改他们的ip地址,主机名字等。

3.将linuxha2目录中的系统启动,修改主机名字

#vi/etc/sysconfig/network

将HOSTNAME=www1改为HOSTNAME=www2

接下来修改ip地址:

#vi/etc/sysconfig/network-scripts/ifcfg-eth0

将IPADDR=192.168.1.1改为IPADDR=192.168.1.2

修改/etc/hosts,参考下边的步骤

4.Poweroff这个虚拟机,这个样子,我们就得到了两个不同的系统,一个是linuxha1,位于

d:vmfilelinuhxad1,一个是

linuxha2位于d:vmfilelinuxha2

添加硬件

在两个系统都poweroff的状态下。我们需要分别给两个系统添加一块网卡,还要添加一个

共享磁盘

1.用vmware打开linuxha1,注意不是poweron哦。在tting菜单下选择configurationedtior

,点击add,添加一块网卡,这个就不需要讲了吧。还需要添加一个虚拟磁盘,还是点add,硬

件类型是Harddisk,然后”

Creatanewvirtualdisk”,大小我分配了0.5G,并选择上下面的“Allocatealldiskspace”.下一步

是给共享磁盘起

名字叫””,然后确定。这样子就添加好了。

2.用vmware打开linuxha2,注意不是poweron哦。同样添加一块网卡。接着添加虚拟磁

盘,这次是”Uanexisting

virtualdisk”,然后选择我们刚才在linuxone中创建的,按照提示就可以了。

3.磁盘和网卡都添加好了。这里,还需要注意,由于vmware中的系统启动后会锁定磁盘,

所以当你启动linuxha1后共享磁

盘被锁定了,你的linuxha2就起不来了。因此,我们需要处理一下先。首先,到

d:vmfilelinuxha1下,用写字板打开

,在最后一行加入

g=fal

然后到d:vmfilelinuxha2,同样修改,在最后一行加入

g=fal

保存退出。

4.好了,到此为止,两个系统的硬件都配置好了.

分区方式:

[root@www1ha.d]#df-h

FilesystemSizeUdAvailU%Mountedon

/dev/mapper/VolGroup00-LogVol00

7.4G2.8G4.3G40%/

/dev/sda199M9.0M85M10%/boot

*安装启动服务后

[root@www1ha.d]#df-h

FilesystemSizeUdAvailU%Mountedon

/dev/mapper/VolGroup00-LogVol00

7.4G2.8G4.3G40%/

/dev/sda199M9.0M85M10%/boot

none94M094M0%/dev/shm

/dev/sdb1008M34M924M4%/ha##由ha自动加载

二.安装前网络环境设定:

========================================================

node1:主机名:www1(HA01)

eth0:192.168.0.197//对外IP地址

eth1:192.168.1.1//HA心跳使用地址

node2:主机名:www2(HA02)

eth0:192.168.0.198//对外IP地址

eth1:192.168.1.2//HA心跳使用地址

特别注意要检查以下几个文件:

/etc/hosts

/etc/

/etc/

/etc/sysconfig/network

/etc/sysconfig/network-scripts/ifcfg-eth0

/etc/sysconfig/network-scripts/ifcfg-eth1

/etc/

#vi/etc/hosts

node1的hosts内容如下:

omainlocalhost

192.168.0.197www1HA01

192.168.1.1HA01

192.168.1.2HA02

192.168.0.198www2

node2的hosts内容如下:

omainlocalhost

192.168.0.198www2HA02

192.168.1.2HA02

192.168.1.1HA01

192.168.0.197www1

#cat/etc/

orderhosts,bind

#cat/etc/

namerver202.98.0.68//DNS地址

#cat/etc/sysconfig/network

NETWORKING=yes

HOSTNAME=www1//主机名

#cat/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.0.197

NETMASK=255.255.255.0

GATEWAY=192.168.0.1

#cat/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=none

IPADDR=192.168.1.1

NETMASK=255.255.255.0

[node1]与[node2]在上面的配置中,除了

/etc/hosts

/etc/sysconfig/network

/etc/sysconfig/network-scripts/ifcfg-eth0

/etc/sysconfig/network-scripts/ifcfg-eth1

要各自修改外,其他一致。

配置完成后,试试在各自主机上ping对方的主机名,应该可以ping通:

/root#pingHA02

PINGHA02(192.168.1.2)56(84)bytesofdata.

64bytesfromHA02(192.168.1.2):icmp_q=0ttl=64time=0.198ms

64bytesfromHA02(192.168.1.2):icmp_q=1ttl=64time=0.266ms

64bytesfromHA02(192.168.1.2):icmp_q=2ttl=64time=0.148ms

---HA02pingstatistics---

3packetstransmitted,3received,0%packetloss,time2002ms

rttmin/avg/max/mdev=0.148/0.204/0.266/0.048ms,pipe2

三.安装HA与HA依赖包

===========================================================

//可以不装

【四】配置heartbeat

使用heartbeat,必须配置三个文件:authkeys、和haresources。

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

配置心跳的加密方式:authkeys

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

#vi/etc/ha.d/authkeys

如果使用双机对联线(双绞线),可以配置如下:

#vi/etc/hc.d/authkeys

auth1

1crc

存盘退出,然后

#chmod600authkeys

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

配置心跳的监控:haresources

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

#vi/etc/ha.d/haresources

1.没有共享磁盘的情况下配置

各主机这部分应完全相同。

www1192.168.0.200ipvsadmhttpd

指定www1调用ipvsadm启动http服务,系统附加一个虚拟IP192.168.0.200给eth0:0

这里如果www1宕机后,www2可以自动启动http服务,并新分配IP192.168.0.200给www2

的eth0:0

2.有共享磁盘情况的配置

www1192.168.0.200Filesystem::/dev/sdb::/ha::ext3ipvsadmhttpd

设置www1为主节点,集群服务器的ip地址为192.168.0.200,netmask集群的服务有httpd,

还有共享磁盘/dev/sdb

该文件只有一行,其含义就是,当主节点www1宕机时,自动启用备用节点里www2来提

供服务,在切换到www2上时,自动启动httpd服务,同时,将/dev/sdb1挂接到/ha。

*配置HA高可用,不要设置NFS挂载和mysql服务在启动服务器时自动运行,也就是说,把

与HA相关资源交给HeartbeatHA去自动管理。

3.由NFS服务的设置

www110.4.66.88Filesystem::192.168.0.252:/data::/data::

这一行配置了3个资源,第一个是IP地址,第二个是NFS共享数据,

第三个是服务,文件在/etc/rc.d/init.d/目录,

可以使用start或stop来启动或停止服务。

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

配置心跳的配置文件:

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

#vi/etc/ha.d/

logfile/var/log/ha_log/##ha的日志文件记录位置。如没有该目录,则需要手动

添加

logfacilitylocal0

#bcasteth1##使用eht1做心跳监测,这个我没有设置

keepalive2##设定心跳(监测)时间时间为2秒

#warntime10##超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中,

这个也没有设置

deadtime30##超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡

initdead120##在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工

作,该选项用于解决这种情况

产生的时间间隔。取值至少为deadtime的两倍。

udpport694##使用udp端口694进行心跳监测

auto_failbackon##heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用

资源并运行所有的服务,遇到故障时把资源交给从节点并由从节点运行服务。在该选项设为

on的情况下,一旦主节点恢复运行,则自动获取

nodewww1##节点1,必须要与uname-n指令得到的结果一致。

nodewww2##节点2

ping192.168.10.1##通过ping网关来监测心跳是否正常。

respawnhacluster/usr/lib64/heartbeat/ipfail

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

设置ipvsadm的巡回监测

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

ipvsadm-A-t192.168.10.200:80-srr

ipvsadm-a-t192.168.10.200:80-r192.168.10.201:80-m

ipvsadm-a-t192.168.10.200:80-r192.168.10.202:80-m

执行后进行监测:

#ipvsadm--list

如果返回结果与下相同,则设置正确。

IPVirtualServerversion1.2.0(size=4096)

ProtLocalAddress:PortSchedulerFlags

->RemoteAddress:PortForwardWeightActiveConnInActConn

TCP192.168.10.200:httprr

->www2:httpLocal100

->www1:httpMasq100

【五】HA服务的启动、关闭以及测试

=================================================

启动HA:rviceheartbeatstart

关闭HA;rviceheartbeatstop

系统在启动时已经自动把heartbeat加载了。

使用http服务测试heartbeat

首先启动httpd服务

#rvicehttpdstart

编辑各自主机的测试用html文件,放到/var/www/html/目录下。

启动node1的heartbeatwww1#rviceheartbeatstart

将看到不用的页面

在主节点(www1)上启动heartbeat服务:/etc/init.d/heartbeatstart。如果不出现错误,web服

务应该被heartbeat启动

,同时heartbeat为主节点设置IP地址192.168.0.200。使用ifconfigeth0:0可以看到如下信息:

eth0:0Linkencap:EthernetHWaddr00:0C:29:D8:FD:EB

inetaddr:192.168.0.200Bcast:192.168.0.255Mask:255.255.255.0

UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1

RXpackets:14970errors:0dropped:0overruns:0frame:0

TXpackets:14977errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:100

RXbytes:3624073(3.4Mb)TXbytes:3626223(3.4Mb)

Interrupt:19Baaddress:0x10a0

同时/dev/sdb,应该被挂接。使用df-h,可以看到的信息包含下面的行:

/dev/sdb485M8.1M452M2%/ha

在node2(www2)上启动heartbeat:/etc/init.d/heartbeatstart。使用ifconfigeth0:0可以看到如

下信息:

eth0:0Linkencap:EthernetHWaddr00:0C:29:E4:1E:F7

UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1

Interrupt:19Baaddress:0x10a0

表明现在node2节点没有被启用。

使用df-h,看到的信息不包含下面的行:

/dev/sdb1485M8.1M452M2%/ha

表明/dev/sdb1没有被加载。

直接关闭节点1的电源或者在www1上执行rviceheartbeatstop命令(模拟故障)。最慢30

秒后,在节点2(www2)上执行

ifconfigeth0:0,可以看到eth0:0已经被设置为192.168.0.200

还可以在客户机上这样来确定^_^

1挂起服务时的状态,仔细看197和200的mac地址是一样的

D:>arp-a

Interface:192.168.0.138---0x10005

InternetAddressPhysicalAddressType

192.168.0.19700-0c-29-71-4b-12dynamic

192.168.0.20000-0c-29-71-4b-12dynamic

192.168.0.25400-01-50-55-63-5bdynamic

2挂起服务mac地址变啦

D:>arp-a

Interface:192.168.0.138---0x10005

InternetAddressPhysicalAddressType

192.168.0.20000-0c-29-6c-54-91dynamic

192.168.0.25400-01-50-55-63-5bdynamic

(发现个小问题,如果把两台节点都手动stop以后,必须重新启动机器才能重新正常启用

heartbeat服务)

【六】防火墙设置

====================================================

heartbeat默认使用udp694端口进行心跳监测。如果系统有使用iptables做防火墙,应记

住把这个端口打开。

#vi/etc/sysconfig/iptables

加入以下内容

-ARH-Firewall-1-INPUT-pudp-mudp--dport694-d10.0.0.201-jACCEPT

意思是udp694端口对对方的心跳网卡地址192.168.1.2开放。

#rviceiptablesrestart

重新加载iptables。

本文发布于:2022-11-27 15:00:39,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/31644.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:communism
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图