天天看点

CentOS7通过HeartBeat配置实现高可用HA

最近,研究了下HA即(high available)高可用,即双机热备,不久前曾用redhat做过mysql-cluster双机集群,现在想用CentOS7做下双机热备,主要是想研究研究VIP的MAC地址漂移。

双机热备主要用于业务场景,假设有两台服务器,一台主服务器平时是正常工作的,另外一台备服务器是闲置的,当工作状态的服务器处于宕机状态时,备服务器立刻投入业务。为了方便用户使用,采用VIP,当主服务器提供服务时,VIP设置在主服务器上,当主服务器处于宕机状态时,VIP设置在备服务器上。

对于通过HeartBeat来做HA测试:

双节点集群IP地址信息:

节点01:linux01 192.168.209.128

节点02:linux 02 192.168.209.129

虚拟IP: 192.168.209.130

在主备服务器都配置好HeartBeat并启动的情况下,通过本地命令行ping命令访问主备服务器和vip

CentOS7通过HeartBeat配置实现高可用HA

接下来通过输入命令arp -a,查看ARP地址表,可以看到192.168.209.130的MAC地址漂移

CentOS7通过HeartBeat配置实现高可用HA

可以发现vip和主服务器192.168.209.128的mac地址一样,说明vip正在提供业务服务。

现在我将主服务器linux01进行重启,然后再输入命令arp -a 看下:

CentOS7通过HeartBeat配置实现高可用HA

我们发现。vip的mac地址进行了漂移,vip的mac地址和备服务器linux02的一样,说明在主服务器宕机的情况下此时备服务器提供业务。

随着主服务器的重启结束,我们发现vip的mac地址又发生了漂移,变成和主服务器linux01的一样,此时主服务器linux01提供业务,备服务器linux02处于闲置状态。

CentOS7通过HeartBeat配置实现高可用HA

为了便于直观和在更加恶劣条件下进行测试,我们可以安装httpd,WEB应用,切换是否访问正常;

在主备服务器上安装并启动httpd:

yum install -y httpd
systemctl enable httpd
systemctl start httpd
           

此时在网页上输入主服务器linux01的IP地址192.168.209.128,备服务器linux02的IP地址192.168.209.129,vip的地址192.168.209.130。

CentOS7通过HeartBeat配置实现高可用HA
CentOS7通过HeartBeat配置实现高可用HA
CentOS7通过HeartBeat配置实现高可用HA

说明此时httpd已经可以正常提供服务了

现在对主备服务器的默认index.html页面进行替换和修改,主服务器中index.html的内容为"主服务器_linux01",备服务器中index.html的内容为"备服务器_linux02"。

现在对输入虚拟地址的网页进行刷新:

CentOS7通过HeartBeat配置实现高可用HA

可以看到现在是主服务器提供业务,现在将主服务器linux01关机,再次刷新网页:

CentOS7通过HeartBeat配置实现高可用HA

可以发现不再由主服务器提供业务了,而是变成备服务器提供业务。

CentOS7配置HeartBeat实现HA的详细步骤:https://download.csdn.net/download/boyas/19768281

继续阅读