初识keepalived(二)——keepalived与LVS实现高可用

简介:

背景介绍

通过前面的介绍了解到LVS其实是工作在netfilter框架input链上的一组规则,而LVS本身无法实现高可用和对realserver的健康状态检测,keepalived为了解决上述2点问题而诞生,同时keepalived还可以直接在配置文件里设置LVS规则,而不需要再单独设置。在配置高可用之前需要提前做2个准备:

1.需要进行高可用的服务器指向相同的NTP服务器,保证时间的一致性

2.可以相互间进行名称解析,推荐使用/etc/hosts文件进行

实验环境

本次实验使用4台CentOS6.8虚拟机组成,其中2台为director,2台为WebServer,拓扑结构如下图所示:

7bab908f6a7b9dc001885740c845961c.png

操作步骤

1.2台web服务器上安装httpd服务,便于区分将设置不同的主页面(略)

2.设置2台web服务器的arp_ignore和arp_announce参数,可以通过脚本

#!/bin/sh

case $1 in

   start)

        echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

        echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

        echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

        echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

        ;;

    stop)

        echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore

        echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore

        echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce

        echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce

        ;;

    *)

        echo "Wrong Arguments"

        ;;

esac

3.将vip地址设置到web服务器的lo接口上

ip addr add 172.16.10.50/32 dev lo

4.给2台direcotr安装keepalived和ipvsadm软件包(略)

5.编辑keepalived配置文件,设置LVS规则和keepalived角色(后文介绍)

6.启动keepalived服务,查看vip地址是否正常添加,ipvs策略是否生成,至此操作完成。

ip addr list

ipvsadm -Ln

keepalived配置文件说明

全局配置段:

可以设置接收邮件的账号(工作场景常以监控软件实现),其中router_id是设备名称,名称不需要唯一,可以使用主机名

aa35c3d7119cf31dfc0df221a5725c63.png

脚本配置段:

该配置段是一个独立的配置段,配置文件中默认并没有这一段,加入这一段的目的是如果后期keepalived服务器需要升级人为切换服务器角色时可以手动在相应目录下创建一个down文件,使他的权重-20,此处注意:判断为假时(echo $?值为1)才会执行weight -20

a182010dbc2fe0d432c6accc690c6924.png

vrrp实例配置段:

同一vrrp实例名称保持一致,虚拟路由id必须保持一致,tarck_script是调用上面定义的脚本配置段

9fa027f86e869889540b1c2a9f8cfb08.png

LVS规则配置段:

virltual_server    #设置vip地址和端口

delay_loop    #RS恢复服务后延迟上线的时间,单位为妙

lb_algo    #调度策略,支持rr|wrr|lc|wlc|lblc|sh|dh

lb_kind    #LVS转发模式,此处是DR模型

keepalived只支持TCP协议

e4d1cff48ac28148380c840fa365e665.png

HTTP_GET    #健康监测,同时还支持SSL_GET

status_code    #状态码检测,判断RS服务器是否正常

5abc09ff84c9723aa44013db31275c91.png

遗留问题

1.只使用LVS时,vip地址可以设置在director的lo接口上,结合keepalived后vrrp实例设置在lo接口上IP地址和IPVS规则无法生效,设置在eth0接口上恢复正常

2.当前vip地址生效director自己无法正常使用curl命令通过vip获取到页面,另一个director使用curl命令通过vip可以正常获取到页面,2个director交换角色后依然如此



本文转自 qiao645 51CTO博客,原文链接:http://blog.51cto.com/arkling/1983538


相关文章
|
6月前
|
负载均衡 应用服务中间件 Linux
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
215 0
|
10天前
|
运维 负载均衡 监控
keepalived+LVS实现高可用性集群
通过结合keepalived和LVS,你可以创建一个高可用性的负载均衡集群,确保服务器的稳定性和性能。这对于托管Web服务、应用服务器等关键服务的服务器集群非常有用。
22 1
|
15天前
|
负载均衡 监控 Linux
CentOS6.5高可用集群LVS+Keepalived(DR模式)
CentOS6.5高可用集群LVS+Keepalived(DR模式)
|
5月前
|
负载均衡 监控 调度
Keepalived+Lvs(dr)调度器主备配置小实验
Keepalived和LVS(Linux Virtual Server)是两个常用的开源软件,通常结合使用以提供高可用性和负载均衡的解决方案。 Keepalived是一种用于实现高可用性的软件,它可以监控服务器的健康状态,并在主服务器出现故障时自动切换到备份服务器。
102 2
|
5月前
|
负载均衡 网络协议 Linux
小白带你学习linux的keepalived+lvs和keepalived双机热备(三十七)
小白带你学习linux的keepalived+lvs和keepalived双机热备(三十七)
80 0
|
6月前
|
负载均衡 算法 网络协议
Keepalived+LVS搭建高可用负载均衡
Keepalived+LVS搭建高可用负载均衡
190 1
|
7月前
|
负载均衡 应用服务中间件 nginx
71分布式电商项目 - nginx高可用以及lvs+nginx负载均衡(资料)
71分布式电商项目 - nginx高可用以及lvs+nginx负载均衡(资料)
43 0
|
8月前
|
负载均衡 监控 Linux
LVS + keepalived
LVS + keepalived
70 1
|
8月前
|
负载均衡 测试技术
LVS+KeepAlived构建高可用集群
LVS+KeepAlived构建高可用集群
55 0
|
7月前
|
负载均衡 应用服务中间件 Linux
企业实战(13)LVS负载均衡NAT(网络地址转换)模式实战详解(一)
企业实战(13)LVS负载均衡NAT(网络地址转换)模式实战详解(一)