使用Keepalived+ipvs构建(高可用+负载均衡)环境!

简介:

   之前写过一个heartbeat-ldirectord实现LVS的高可用,这里引入一个轻量级的程序Keepalived基于VRRP协议工作,也能为服务提供高可用功能,这个程序的开发初衷是为了给lvs提供高可用。


下面我们来看看如何使用keepalived+ipvs实现高可用+负载均衡。

在RHEL6.4以后就提供了rpm格式的安装包,这里我们用源码编译安装。

先去官网下载源码包http://keepalived.org/

解压源程序包,预编译配置,编译程序,安装程序。

tar zxvf keepalived-1.2.13.tar.gz

./configure  --prefix=/usr/local/keepalived  --sysconfdir=/etc/

make && make install

编辑服务脚本,修改程序路径。

vim /etc/init.d/keepalived

wKioL1PgO0zD0cJAAADv96mxCJg145.jpg

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

! Configuration File for keepalived


global_defs {    //全局配置段

   notification_email {   //收件人邮箱

        root@localhost

   }

   notification_email_from keepadmin@localhost    //发件人

   smtp_server 127.0.0.1     //邮件服务器

   smtp_connect_timeout 30   //等待超时时间

   router_id LVS_DEVEL

}


vrrp_instance VI_1 {   //定义一个VRRP路由实例

    state MASTER    //初始状态(备节点改为BACKUP)

    interface eth0

    virtual_router_id 51  //路由实例ID(唯一)

    priority 100     //优先级 (备节点的值要设置比主的低)

    advert_int 1     //通告频率

    authentication {    //认证配置

        auth_type PASS   //认证类型

        auth_pass 1111   //密码

    }

    virtual_ipaddress {    //虚拟IP

        192.168.18.18

    }

 notify_master "/etc/keepalived/notify.sh master"  //状态转换通知,要自己写好脚本。

 notify_backup "/etc/keepalived/notify.sh backup"

 notify_fault "/etc/keepalived/notify.sh fault"

}


virtual_server 192.168.18.18 80 {   //定义虚拟服务

    delay_loop 6   

    lb_algo wlc    //指定调度算法

    lb_kind DR     //指定工作模型

    nat_mask 255.255.255.0  

    persistence_timeout 0    //持久连接

    protocol TCP


    real_server 192.168.18.203 80 {     //定义RealServer

        weight 1      //设置权重 

        HTTP_GET {    //配置HTTP健康状态检测

            url {

              path /   //检测的路径

              status_code 200   //响应的状态信息

            }

            connect_timeout 3   //超时时间

            nb_get_retry 3      //重试次数

            delay_before_retry 3  //每一次重试之前等待的时间

        }

    }

    real_server 192.168.18.204 80 {

        weight 2

        HTTP_GET {

            url {

              path /

              status_code 200

            }

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

}

把配置文件同步到备节点,修改我上面提到的两个地方即可,两个节点启动Keepalived服务。

RealServer配置(略)

scp /etc/keepalived/keepalived.conf admin2:/etc/keepalived/

/etc/init.d/keepalived start

查看主节点生成的配置

wKioL1PgQsXQSilFAARhbTuMsPI761.jpg

访问vip 192.168.18.18

wKioL1PgQ0vSUdFEAADPguPp12k580.jpg


刷新一下,请求自动转发到第二台realserver。

wKioL1PgQ9HjnDxjAADU-ggc238496.jpg



这时我们模拟坏了一台RealServer,将Realserver2-192.168.18.203网络服务给stop,再看看状态。

wKioL1PgRd-hoPxxAAInQXlGlLI194.jpg

再把Realserver2给恢复。

wKioL1PgR36D_f42AAH3A0Pw9QM939.jpg

这时我们模拟主Director故障了,把主节点网络服务stop。

我们来到备节点

wKioL1PgSKPRDU53AATldlDQ0sY874.jpg

主节点下线了,备节点优先级为最高,继承资源,如果这是当主节点恢复后,资源还是会回到主节点的,因为主节点的优先级更高。

好了,这就实现了用keepalived给lvs提供高可用。


有问题欢迎与我交流QQ1183710107



本文转自qw87112 51CTO博客,原文链接:http://blog.51cto.com/tchuairen/1535840

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
17天前
|
负载均衡 网络协议 Java
构建高效可扩展的微服务架构:利用Spring Cloud实现服务发现与负载均衡
本文将探讨如何利用Spring Cloud技术实现微服务架构中的服务发现与负载均衡,通过注册中心来管理服务的注册与发现,并通过负载均衡策略实现请求的分发,从而构建高效可扩展的微服务系统。
|
2月前
|
存储 缓存 运维
解密一致性哈希算法:实现高可用和负载均衡的秘诀
解密一致性哈希算法:实现高可用和负载均衡的秘诀
134 0
|
3月前
|
Kubernetes 负载均衡 监控
Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装
Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装
|
4月前
|
tengine Kubernetes Cloud Native
Tengine-Ingress 高性能高可用的云原生网关
Tengine-Ingress 高性能高可用的云原生网关
|
5月前
|
负载均衡 算法 网络协议
Keepalived+LVS搭建高可用负载均衡
Keepalived+LVS搭建高可用负载均衡
180 1
|
5月前
|
负载均衡 关系型数据库 PostgreSQL
Pgpool-II实现高可用+读写分离+负载均衡(八)---- 维护工具
Pgpool提供了一些维护工具,用于日常观察Pgpool运行状态、上线、下线节点等操作。主要有:pcp_stop_pgpool,pcp_node_count,pcp_node_info,pcp_health_check_stats,pcp_proc_count,pcp_proc_info,pcp_detach_node,pcp_attach_node,pcp_recovery_node,pcp_promote_node,pcp_pool_status,pcp_watchdog_info,pcp_reload_config
182 0
|
5月前
|
负载均衡 前端开发 网络协议
Keepalived+HAProxy 搭建高可用负载均衡(二)
Keepalived+HAProxy 搭建高可用负载均衡
|
5月前
|
负载均衡 算法 调度
Keepalived+HAProxy 搭建高可用负载均衡
Keepalived+HAProxy 搭建高可用负载均衡
216 0
|
10天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
28 0
|
3月前
|
负载均衡 应用服务中间件 nginx
百度搜索:蓝易云【Nginx和tomcat实现负载均衡教程】
至此,你已经成功地使用Nginx和Tomcat实现了负载均衡。Nginx将根据配置的负载均衡策略将客户端请求分发到多个Tomcat服务器上,以提高系统的性能和可用性。请注意,在实际生产环境中,还需要进行其他配置和优化,如健康检查、会话保持等,以满足具体的需求。
34 0