码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-01-15 11:18:34      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:1.2   master   stat   lob   x86   rpm   网络   web页面   style   

搭建 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

    [root@pc53 ~] #echo " 192.168.4.53  " > /var/www/html/test.html

    [root@pc54 ~] #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/ //备份主配置文件


[root@pc53 ~]# 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节点接管集群服务。


[root@pc54 ~]# 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地址

[root@pc53 ~]# 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

[root@pc54 ~]# 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 故障  测试高可用

[root@pc53 ~]# service keepalived stop

[root@pc53 ~]# ip addr show | grep 192.168.4

    inet 192.168.4.53/24 brd 192.168.4.255 scope global eth0


[root@pc54 ~]# 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 故障

[root@pc53 ~]# service keepalived start

[root@pc53 ~]# 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

[root@pc54 ~]# 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) 任意单故障节点的高可用集群

标签:1.2   master   stat   lob   x86   rpm   网络   web页面   style   

原文地址:http://blog.51cto.com/13558754/2060950

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!