centos搭建keepalived+ipvsadm实现高可用lvs分发

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介:

这文档适合非常简单的不需要任何技术完全照着弄的拥有三台以上机器的情况。


虚ip192.168.200.16

keepalived主192.168.98.11

keepalived备192.168.98.98

realserver一192.168.99.131

realserver二192.168.98.11或192.168.98.98(当11存活时候,就是11当rs,死了就98当rs)


1、keepalived主192.168.98.11进行如下安装配置。

yum install -y wget ipvsadm vim

wget http://www.keepalived.org/software/keepalived-1.2.24.tar.gz

tar xf keepalived-1.2.24.tar.gz 

cd keepalived-1.2.24

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

make && make install

find /usr/local/keepalived -name "keepliaved" -type f |while read L;do chmod +x $L;done

cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

mkdir /etc/keepalived

cd /usr/local/keepalived/etc/keepalived/

ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/

chkconfig --add keepalived

chkconfig keepalived on

vim /etc/keepalived/keepalived.conf 粘贴下面的。

vrrp_instance ha44 {

    state MASTER

    interface eth0

#virtual_router_id后面的数字相同就是在同一组了,取值0-255,且auth_pass也必须相同。

    virtual_router_id 251

#priority取值范围1-254

    priority 150

#advert_int广播间隔,这值影响master挂多久切换到backup,我实测设置2或者3的话切换间隔较短。

    advert_int 2

    authentication {

        auth_type PASS

        auth_pass 1234

    }

    virtual_ipaddress {

        192.168.200.16

#可以自定义掩码、广播。

#        192.168.200.16/16 brd 192.168.255.255 dev eth0

    }

#可以自定义网关,不过我没这么用过。

#    virtual_routes {

#        192.168.200.0/16 via 192.168.98.1 dev eth0

#    }

}

#如果想用lvs的功能,就添加以下内容,keepalived会自动调用ipvsadm功能。

virtual_server 192.168.200.16 80 {

    delay_loop 3

    lb_algo rr

    lb_kind DR

    persistence_timeout 50

    protocol TCP


    real_server 192.168.98.11 80 {

        weight 20

        TCP_CHECK

        {

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

    real_server 192.168.99.131 80 {

        weight 100

        TCP_CHECK

        {

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

}

保存退出

/etc/init.d/keepalived start


2、keepalived备192.168.98.98进行如下安装配置。

yum install -y wget ipvsadm vim

wget http://www.keepalived.org/software/keepalived-1.2.24.tar.gz

tar xf keepalived-1.2.24.tar.gz 

cd keepalived-1.2.24

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

make && make install

cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

mkdir /etc/keepalived

cd /usr/local/keepalived/etc/keepalived/

ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/

chkconfig --add keepalived

vim /etc/keepalived/keepalived.conf 粘贴下面的。

vrrp_instance ha44 {

    state BACKUP

    interface eth0

#virtual_router_id后面的数字相同就是在同一组了,取值0-255,且auth_pass也必须相同。

    virtual_router_id 251

#priority取值范围1-254

    priority 20

#advert_int广播间隔,这值影响master挂多久切换到backup,我实测设置2或者3的话切换间隔较短。

    advert_int 2

    authentication {

        auth_type PASS

        auth_pass 1234

    }

     virtual_ipaddress {

        192.168.200.16

#可以自定义掩码、广播。

#        192.168.200.16/16 brd 192.168.255.255 dev eth0

    }

#可以自定义网关,不过我没这么用过。

#    virtual_routes {

#        192.168.200.0/16 via 192.168.98.1 dev eth0

#    }

}

#如果想用lvs的功能,就添加以下内容,keepalived会自动调用ipvsadm功能。

virtual_server 192.168.200.16 80 {

    delay_loop 3

    lb_algo rr

    lb_kind DR

    persistence_timeout 50

    protocol TCP


    real_server 192.168.98.98 80 {

        weight 20

        TCP_CHECK

        {

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

    real_server 192.168.99.131 80 {

        weight 100

        TCP_CHECK

        {

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

}

保存退出

service keepalived start


3、realserver一192.168.99.131的配置。

yum install -y vim

vim /etc/init.d/lvsrs 粘贴如下内容。

#!/bin/sh

#chkconfig:345 61 61

#description:LVSRS

VIP=192.168.200.16


Usage ()

{

echo "Usage:`basename $0` (start|stop)"

exit 1

}


if [ $# -ne 1 ];then

Usage

fi


case $1 in

start)

echo "configuring vip for Real Server"

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

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

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

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

echo "1" >/proc/sys/net/ipv4/conf/eth0/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/eth0/arp_announce

if [ $? -eq 0 ]

then

/sbin/ifconfig lo:0 $VIP netmask 255.255.255.255 up

/sbin/route add -host $VIP dev lo:0

sleep 5

echo "Real Server started."

else

echo "error occurred!"

fi

;;

stop)

/sbin/ifconfig lo:0 down

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

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

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

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

echo "0" >/proc/sys/net/ipv4/conf/eth0/arp_ignore

echo "0" >/proc/sys/net/ipv4/conf/eth0/arp_announce

if [ $? -eq 0 ]

then

sleep 2

echo "Real Server has stopped."

else

echo 'error occurred occurred! Maybe "lo:0" has stopped already.'

fi

;;

*)

Usage

esac

保存退出

chmod +x /etc/init.d/lvsrs

chkconfig --add lvsrs

service lvsrs start


4、realserver二192.168.98.11或192.168.98.98,这俩由于已经配置了keepalived,由keepalived服务代管ipvsadm,所以它俩不需要再配置啥就已经自然成为了realserver了。


备注:

1、以上配置用于这仨机器都提供http服务的情况。

2、如果多台keepalived服务器需要提供更多服务,就复制添加更多virtual_server并修改端口即可。如果不配置virtual_server部分,keepalived就不代管lvs了,那么同一时刻只有一台机器工作而已,这台出了问题,vip才会飘到下一台上。vip在哪台,就是哪台工作,所以通常,lvs和keepalived是配合使用的,是需要配置virtual_server部分的。

3、若配置多个vrrp_instance,每个instance需要拥有独一无二的virtual_router_id,与其他instance相同是不行的。多台机器启动keepalived服务后,就是以virtual_router_id的值来进行配对儿的。

4、keepalived配置文件中的priority优先级的设置大有玄机!设置的不科学就会事与愿违!建议查看一下相关资料儿了解了以后再设置。



本文转自 朱科强 51CTO博客,原文链接:http://blog.51cto.com/zhukeqiang/1868886,如需转载请自行联系原作者

相关实践学习
小试牛刀,一键部署电商商城
SAE 仅需一键,极速部署一个微服务电商商城,体验 Serverless 带给您的全托管体验,一起来部署吧!
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
4月前
|
负载均衡 算法 Linux
LVS+Keepalived:实现高效软负载均衡的利器
本文介绍了如何使用LVS(Linux Virtual Server)和Keepalived搭建高可用负载均衡集群。LVS通过不同调度算法将请求转发给后端服务器,而Keepalived基于VRRP协议实现服务高可用,避免IP单点故障。具体步骤包括环境准备、安装配置ipvsadm和Keepalived、启动服务及测试。文中还详细解释了配置文件中的关键参数,并提供了故障转移测试方法。最后,文章简要对比了软件、硬件和云负载均衡方案的特点,帮助读者选择合适的负载均衡策略。
740 4
|
7月前
|
运维 负载均衡 网络协议
LVS+Keepalived 负载均衡
LVS+Keepalived 负载均衡
141 8
LVS+Keepalived 负载均衡
|
7月前
|
域名解析 运维 负载均衡
LVS+Keepalived 负载均衡(二)28-1
【8月更文挑战第28天】LVS+Keepalived 负载均衡 配置 LVS VIP
113 5
|
11月前
|
运维 负载均衡 监控
keepalived+LVS实现高可用性集群
通过结合keepalived和LVS,你可以创建一个高可用性的负载均衡集群,确保服务器的稳定性和性能。这对于托管Web服务、应用服务器等关键服务的服务器集群非常有用。
158 1
|
11月前
|
负载均衡 监控 Linux
CentOS6.5高可用集群LVS+Keepalived(DR模式)
CentOS6.5高可用集群LVS+Keepalived(DR模式)
|
11月前
|
关系型数据库 MySQL Linux
centos7下 Mysql+Keepalived 双主热备高可用图文配置详解
centos7下 Mysql+Keepalived 双主热备高可用图文配置详解
178 0
|
11月前
|
负载均衡 监控 调度
Keepalived+Lvs(dr)调度器主备配置小实验
Keepalived和LVS(Linux Virtual Server)是两个常用的开源软件,通常结合使用以提供高可用性和负载均衡的解决方案。 Keepalived是一种用于实现高可用性的软件,它可以监控服务器的健康状态,并在主服务器出现故障时自动切换到备份服务器。
283 2
|
负载均衡 测试技术 Linux
Centos 6.8 配置Lvs
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。 宗旨:   使用集群技术和Linux操作系统实现一个高性能、高可用的服务器.   很好的可伸缩性(Scalability)   很好的可靠性(Reliability)   很好的可管理性(Manageability)。
2430 0
|
5天前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
110 26