RHEL6搭建 keepalived (HA) 任意单故障节点的高可用集群

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RHEL6搭建 keepalived (HA) 任意单故障节点的高可用集群相关的知识,希望对你有一定的参考价值。

搭建 keepalived (HA) 任意单故障节点的高可用集群


实验拓扑图

技术分享图片



实验要求:

使用Keepalived实现web服务器的高可用

Web服务器IP地址分别为192.168.4.53和192.168.4.54

Web服务器53 为主服务器,Web服务器54为备服务器

Web服务器的VIP地址为192.168.4.251

客户端通过访问VIP地址访问Web页面



实验步骤:

实验准备

    配置yum源

    # service iptables stop            //关闭防火墙

    # chkconfig iptables off            //关闭开机自启

    # setenforce 0                            //设置SELinux 为宽松模 

    配置WEB服务器  pc53 / pc54

    #yum -y install httpd  

    #service httpd start 

    #chkconfig httpd on

    [[email protected] ~] #echo " 192.168.4.53  " > /var/www/html/test.html

    [[email protected] ~] #echo " 192.168.4.54 " > /var/www/html/test.html




1 在高可用集群主机上安装 keepalived

# yum list | grep keepalived

keepalived.x86_64                      1.2.13-5.el6_6                    LoadBalancer

# yum -y install keepalived 

# rpm -qc keepalived

/etc/keepalived/keepalived.conf //主配置文件

/etc/sysconfig/keepalived


2 分别修改服务的主配置文件

# cp /etc/keepalived/keepalived.conf /root/ //备份主配置文件


[[email protected] ~]# vim /etc/keepalived/keepalived.conf 

...

vrrp_instance webha {

    state MASTER // 描述信息  MASTER为主服务器

    interface eth0         // 定义网络接口

    virtual_router_id 51          //主 备VRID号必须一致

    priority 150 //服务器优先级

    advert_int 1

    authentication {

        auth_type PASS         //验证方式

        auth_pass 123456 //验证密码     主  备服务器密码必须一致 

    }

    virtual_ipaddress {

        192.168.4.251 //VIP地址

    }

}

...         //为了方便实验 32行以下 可以全部删除


在一个一主多备的Keepalived集群中,“priority”值最大的将成为集群中的Master节点,而其他都是Backup节点。在Master节点发生故障后,Backup节点之间将进行“民主选举”,通过对节点优先级值“priority”和““weight”的计算,选出新的Master节点接管集群服务。


[[email protected] ~]# vim /etc/keepalived/keepalived.conf 

 ...

vrrp_instance webha {

    state BACKUP            // 描述信息 BACKUP为备用服务器

    interface eth0

    virtual_router_id 51

    priority 100

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 123456

    }

    virtual_ipaddress {

        192.168.4.251

    }

}

...

//为了方便实验 32行以下 可以全部删除


3 分别启动keepalived服务

# service keepalived start //启动服务


4 在高可用集群主机上分别查看是否获取VIP地址

# ip addr show //查看主机上的虚拟IP地址

[[email protected] ~]# ip addr show | grep 192.168.4

    inet 192.168.4.53/24 brd 192.168.4.255 scope global eth0

    inet 192.168.4.251/32 scope global eth0

[[email protected] ~]# ip addr show | grep 192.168.4

    inet 192.168.4.54/24 brd 192.168.4.255 scope global eth0



//客户端测试

# elinks --dump 192.168.4.251/test.html

   192.168.4.53

# elinks --dump 192.168.4.251/test.html

   192.168.4.53


模拟 主机53 故障  测试高可用

[[email protected] ~]# service keepalived stop

[[email protected] ~]# ip addr show | grep 192.168.4

    inet 192.168.4.53/24 brd 192.168.4.255 scope global eth0


[[email protected] ~]# ip addr show | grep 192.168.4

    inet 192.168.4.54/24 brd 192.168.4.255 scope global eth0

    inet 192.168.4.251/32 scope global eth0


//客户端测试

# elinks --dump 192.168.4.251/test.html

   192.168.4.54

# elinks --dump 192.168.4.251/test.html

   192.168.4.54


模拟修复 主机53 故障

[[email protected] ~]# service keepalived start

[[email protected] ~]# ip addr show | grep 192.168.4

    inet 192.168.4.53/24 brd 192.168.4.255 scope global eth0

    inet 192.168.4.251/32 scope global eth0

[[email protected] ~]# ip addr show | grep 192.168.4

    inet 192.168.4.54/24 brd 192.168.4.255 scope global eth0


//客户端测试

# elinks --dump 192.168.4.251/test.html

   192.168.4.53

# elinks --dump 192.168.4.251/test.html

   192.168.4.53



如果53 网站服务 停止 其VIP地址不会释放

可以通过脚本 监测当80端口 down 的时候 自动关闭 keepalived 服务

使用周期性计划任务 定时执行次脚本










以上是关于RHEL6搭建 keepalived (HA) 任意单故障节点的高可用集群的主要内容,如果未能解决你的问题,请参考以下文章

Kubeadm HA master(v1.11.0)集群搭建(离线包+自动化脚本+ipvs+keepalived+calico)

基于Nginx搭建Web服务器HA架构(实现高可用web服务)

基于Nginx搭建Web服务器HA架构(实现高可用web服务)

基于Nginx搭建Web服务器HA架构(实现高可用web服务)

Mysql双主+keepalived实现HA

高可用集群HA架构搭建