前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Cent0S下使用LVS+KeepLive进行负载均衡及高可用web服务器

Cent0S下使用LVS+KeepLive进行负载均衡及高可用web服务器

作者头像
全栈程序员站长
发布于 2022-09-06 09:41:05
发布于 2022-09-06 09:41:05
5440
举报

大家好,又见面了,我是你们的朋友全栈君。

Cent0S下使用LVS+KeepLive,进行负载均衡及高可用web服务器

通过对本文章的阅读:你可以了解LVS+KeepLive的安装,按照步骤一步一步完成就能实现对2台或N台web服务器进行负载均衡,实现LVS的负载均衡及失效转移。

一、需要的文件:

1、ipvsadm-1.24.tar.gz,下载地址:下载

2、keepalived-1.1.15.tar.gz,下载地址:下载

二、对LVS学习的网站推荐:

LVS官方中文站点:http://zh.linuxvirtualserver.org/

对keepalived各项参数进行了详细的解释 http://download.csdn.net/detail/missrian/7338313

三、安装及使用:

一、LVS的安装:

1、拷贝2个安装包到/usr/local/src下的lvs目录下。(不存在则建立)

2、tar -zxvf ipvsadm-1.24.tar.gz 再进入目录cd ipvsadm-1.24

3、sudo make 该步骤进行编译,在make时可能会出现错误编译信息,这是由于编译程序找不到对应内核的原因。

此时解决的方法为,首先获取系统的版本uname -a

Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

再执行:ln -s /usr/src/kernels/ 2.6.32-431.el6.x86_64/ /usr/src/linux

然后重新执行make编译命令。

4、sudo make install 该步骤为安装。

5、如果安装成功则可以通过ipvsadm –help查看lvs是否安装成功

6、通过find / -name ipvsadm可以查看lvs 安装在哪些目录下。

二、KeepLive的安装

1、tar -zxvf keepalived-1.1.15.tar再进入keepalived-1.1.15目录

2、执行sudo ./config,

1)、如果报错

configure: error:

!!! OpenSSL is not properly installed on your system. !!! !!! Can not include OpenSSL headers files.

则yum -y install openssl-devel,然后重新执行sudo ./config

2)、如果报错

configure: error: Popt libraries is required

则yum install popt-devel,然后重新执行sudo ./config

3、编译sudo make

4、安装sudo make install

5、可用find / -name keepalived查看安装位置

6、可通过keepalived –version查看是否安装成功。

7、拷贝文件

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

cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ mkdir /etc/keepalived cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/ cp /usr/local/sbin/keepalived /usr/sbin/ 8、启动或停止:service keepalived start

9、配置为随系统启动: sudo chkconfig –add keepalived sudo chkconfig –level 35 keepalived on

三、配置keepalived

由于LVS存在单点故障,因此一般采用LVS主从备份的方式进行负载均衡.

如果有时候主备LVS没有生效,比如反而是备LVS优先起作用,此时只需重启主LVS,service keepalived restart

1、编辑:vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs { notification_email { hezx@gaojiasoft.com #故障通知接收者邮箱,可以多个 caoli@gaojiasoft.com } notification_email_from hezx@gaojiasoft.com #故障发送者邮箱 smtp_server 192.168.62.130 #邮件服务器的IP smtp_connect_timeout 30 router_id LVS_DEVEL }

vrrp_instance VI_1 { state MASTER #如果是备份LVS,则修改为BACKUP interface eth0 virtual_router_id 51 #2个LVS必须在一致 priority 100 #如果是备份LVS,则修改得比MASTER小,至少50的差距,比如49 advert_int 1 authentication { auth_type PASS #主从LVS的时候,PASS一致才可以。 auth_pass 1111 }

#VIP,浮动IP,发生切换时Keepalived自动添加、删除虚拟地址,无需ifoncig-eth0去设置 virtual_ipaddress { 192.168.62.100 #LVS的对外虚拟IP,可以是多个,这样一般可以再域名解析的时候有帮助,比如电信,联通的IP 192.168.62.99 192.168.62.98 }

#虚拟路由,发生切换时候自动添加删除路由

#virtual_routes{

# 192.168.62.100 dev eth0:0

#}

#nopreempt #不抢占,去掉前面的#则生效,仅用与BACKUP上,当MASTER失效后,BackUP生效,但当Master重新生效后,面临的问题是继续成为Master还是BACKUP,发生了变化 Master ->BACKup,再到BACKup -> Master,这样的切换开销很大,我们希望新生效的Master成为BackUP,不进行抢占,但此时必须修改原先master的状态为BACKUP,即此时存在2个UPBACK,此时通过priority的值高的就是Master。 }

#虚拟LVS代理80端口 virtual_server 192.168.62.100 8080 { delay_loop 6 lb_algo wrr #压力最小轮询 lb_kind DR #LVS的路由模式 nat_mask 255.255.255.0 persistence_timeout 10 protocol TCP #指定转发协议,TCP OR UDP

#真实服务器1 real_server 192.168.62.133 8080 { weight 5 #权重,越大越高 TCP_CHECK {#relserve的状态检测设置部分,单位是秒 connect_timeout 10 #表示10秒无响应超时 nb_get_retry 3 #表示重试次数 dealy_before_retry 3 #表示重试间隔 connect_port 8080 } }

#真实服务器2 real_server 192.168.62.134 8080 { weight 1 #权重,越大越高,依据机器配置来设置 TCP_CHECK {#relserve的状态检测设置部分,单位是秒 connect_timeout 10 #表示10秒无响应超时 nb_get_retry 3 #表示重试次数 dealy_before_retry 3 #表示重试间隔 connect_port 8080 } } }

2、配置完毕后,重启 service keepalived restart

3、查看LVS的负载生效情况:ipvsadm -ln 可以看到

IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.62.100:8080 wrr persistent 10 -> 192.168.62.134:8080 Route 1 0 0 -> 192.168.62.133:8080 Route 5 0 0

4、网络设置

1)、LVS服务器 (此步应该是不需要执行的)

ifconfig eth0 192.168.62.130 //(DIP) ifconfig eth0:0 192.168.62.100 //(VIP),这个VIP通过防火墙映射到公网IP route add -host 192.168.62.100 dev eth0:0 //让发往192.168.62.100的请求都经过eth0:0

2)、RelServer 1-N个服务器的配置,每个都要执行下 使用root用户,在任意目录下建议lvs_real.sh文件,将如下文字拷贝进去

#!/bin/bash 

#Description: Config realserver script SNS_VIP=192.168.62.100 #对应LVS服务器的VIP /etc/rc.d/init.d/functions case “$1” in start)        /sbin/ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP        /sbin/route add -host $SNS_VIP dev lo:0        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        sysctl -p >/dev/null 2>&1        echo “RealServer NETWork OK”        ;; stop)        /sbin/ifconfig lo:0 down        /sbin/route del $SNS_VIP >/dev/null 2>&1        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 “RealServer Stoped”        ;; *)        echo “Usage: $0 {start|stop}”        exit 1 esac  exit 0 #———————————

给予可执行权限: chmod 755 ./lvs_real.sh

启动脚本: ./lvs_real.sh start :

四、其中LVS是存在单点故障的,即如果LVS服务器挂了,此时无论服务是否生效,都不能访问真实的服务器。

因此,需要实现LVS的双机热备,Master LVS挂了后,自动切换到BACKUP LVS.

LVS的BACKUP,只是修改keepalived.conf中的state MASTER 为 BACKUP,同时把priority 100的值设置为 priority 49,至少50的差距。

五、监控:

1、sudo watch ipvsadm -ln 查看lvs服务是否正常,包括活动链接。此命令动态监控LVS的连接和realServer的健康状况。

1、sudo watch ipvsadm -lcn|grep 192.168.62.100 此命令可以实时看到分发的情况,非常有效

2、查看LVS的吞吐量情况:watch ipvsadm -L -n –rate #此功能非常有效,可以实时看到LVS在各个真实部件的分发情况

3、sudo watch ipvsadm -lcn 此命令动态监控终端连接过来后,LVS的处理状态,连接失败等

4、实时查看LVS连接状态变化: watch ipvsadm -ln

6、查看LVS的连接情况:ipvsadm -L -n

7、查看LVS的统计信息:ipvsadm -L -n –stats

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134245.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年6月7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
LVS+KeepAlived+Nginx高可用软负载方案
LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器。 通过LVS达到的负载均衡技术和Linux操作系统实现一个高性能高可用的Linux服务器群集,它具有良好的可靠性,可拓展性和可操作性。从而以低廉的成本实现负载均衡。 Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。
范一刀
2021/08/10
3.1K0
在 Linux下使用 LVS+keepalived 搭建高可用集群
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR); 十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)。
SuperDream
2019/02/28
1.4K0
在 Linux下使用 LVS+keepalived 搭建高可用集群
主从热备+负载均衡(LVS + keepalived)
  淘宝架构师李智慧大牛的书籍《大型网站技术架构》以及旭龙兄的博客 ---》【大型网站技术实践】初级篇:借助LVS+Keepalived实现负载均衡。
青石路
2018/09/10
1.4K1
主从热备+负载均衡(LVS + keepalived)
LVS+Keepalived实现高可用集群
LVS+Keepalived 介绍 LVS LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR); 十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)。 Keepalvied Keepalived在这里主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现
DevinGeng
2019/04/09
7680
LVS+Keepalived实现高可用集群
FastDFS蛋疼的集群和负载均衡(十八)之LVS+Keepalived双主模式
Interesting things 我们之前的Keepalived+LVS单主模式,是只有一台lvs工作,这会造成资源浪费,可以采用双主结构,让两台lvs都进行工作,采用dns轮询方式,当用户访问
用户2032165
2018/06/06
8940
LVS+Keepalived实现四层负载及高可用
最近要上线一个新项目,需要软负载,本来决定用nginx做反向代理,但装完nginx以后,发现nginx无法显示css、js,目前还在研究中,但由于项目较急,所以依然采用了经典架构LVS+Keepalived来实现。
星哥玩云
2022/07/04
5760
搭建LVS-DR负载均衡集群、Keepalived-LVS高可用负载均衡集群
在浏览器访问VIP:192.168.8.100,刷新网页,访问结果由real1、real2交替回复。
阿dai学长
2019/04/03
8730
Mysql双主热备+LVS+Keepalived高可用操作记录
MySQL复制能够保证数据的冗余的同时可以做读写分离来分担系统压力,如果是主主复制还可以很好的避免主节点的单点故障。然而MySQL主主复制存在一些问题无法满足我们的实际需要:未提供统一访问入口来实现负载均衡,如果其中master宕掉的话需要手动切换到另外一个master,而不能自动进行切换。前面介绍了Mysql+Keepalived双主热备高可用方案记录,那篇文档里没有使用到LVS(实现负载均衡),而下面要介绍的就是如何通过Keepalived+LVS方式来是实现MySQL的高可用性,利用LVS实现MySQ
洗尽了浮华
2018/01/22
3K0
Mysql双主热备+LVS+Keepalived高可用操作记录
LVS+Keepalived+Nginx+ web 四七层负载及高可用集群构建
之前我们介绍了四层负载均衡LVS,七层负载均衡HAProxy 和 Nginx,以及keepalived,heartbeat 搭建高可用集群。今天我们就结合之前讲过的内容搭建一个四七层负载均衡(LVS+Nginx)以及高可用(keepalived)的集群。
小土豆Yuki
2020/06/19
1.9K0
LVS+Keepalived+Nginx+ web 四七层负载及高可用集群构建
LVS+Keepalived负载均衡主备&双主架构全攻略
LVS+Keepalived 介绍 LVS LVS 是 Linux Virtual Server 的简写,意即 Linux 虚拟服务器,是一个虚拟的服务器集群系统。本项目在 1998 年 5 月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。目前有三种 IP 负载均衡技术(VS/NAT、VS/TUN 和 VS/DR); 十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)。 Keepalvied Keepalived 在这里主要用作 RealServe
张戈
2018/03/23
3.2K2
Linux下安装lvs和keeplived实现负载均衡
在生产工作中,后端服务器并不可能永远都处于正常运行状态,若服务器发生宕机,为了不影响正在进行的业务以及给用户更好的体验,我们可以通过keepalived监控后台服务器运行情况,当有服务器发生故障时,会从把该服务器剔除出LVS转发策略;等到服务器恢复正常后,keepalived也会重新把该服务器加入LVS转发策略中。
星哥玩云
2022/06/06
1.7K0
Linux下安装lvs和keeplived实现负载均衡
LVS高并发负载均衡实现 原
    LVS:LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。
尚浩宇
2018/08/17
8880
linux利用lvs+Keepalived实现负载均衡
负载均衡:两台(一主一备)  LVS + Keepalived+三台HTTP服务器
黄啊码
2020/05/27
1K0
linux利用lvs+Keepalived实现负载均衡
高可用载均衡之LVS+Keepalived
LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器,通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能、高可用的服务器群集,它具有良好可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的服务性能。
星哥玩云
2022/06/29
2950
Mycat - 高可用与负载均衡实现,满满的干货!
前言   开心一刻     和朋友去吃小龙虾,隔壁桌一个小女孩问妈妈:"妈妈,小龙虾回不了家,它妈妈会不会着急?" 她妈妈愣住了,我扒虾的手停下了,这么善良的问题,怎么下得了口。这是老板急忙过来解围:
青石路
2019/01/28
2.5K0
FastDFS蛋疼的集群和负载均衡(十三)之LVS-DR环境安装
Interesting things 安装LVS-DR环境 vip:192.168.12.100 lvs-director:192.168.12.4 nginx1:192.168.12.2
用户2032165
2018/06/05
6150
LVS+Keepalived高可用环境部署梳理(主主和主从模式)
在介绍LVS之前,先介绍下集群的概念 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。 集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和/或可靠性。一般情况下集群 计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多。集群就是一组独立的计算机,通过网络连接组合成一个组合来共同完一个任务。 说的直白点,其实集群:就是一
洗尽了浮华
2018/01/22
4.7K0
LVS+Keepalived高可用环境部署梳理(主主和主从模式)
LVS详解及基于LVS实现web服务器负载均衡
前言 LVS(Linux Virtual Server)Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。通过LVS提供的负载均衡技术和Linux操作系统可实现一个高性能、高可用的服务器群集,从而以低成本实现最优的服务性能。 集群基础 集群简介 集群(Cluster)是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高
小小科
2018/05/02
1.3K0
LVS详解及基于LVS实现web服务器负载均衡
超详细!使用 LVS 实现负载均衡原理及安装配置详解
负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群。常用的负载均衡开源软件有nginx、lvs、haproxy,商业的硬件负载均衡设备F5、Netscale。这里主要是学习 LVS 并对其进行了详细的总结记录。 一、负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director Server上,然后它把用户的请求根据设置好的调度算法,智能均衡地分发到后端真正服务器(real server)上。为了避免不同机器上用户请求得到的数据不一
小小科
2018/05/04
4.2K1
超详细!使用 LVS 实现负载均衡原理及安装配置详解
生产LVS负载均衡与keepalive的高可用实践
VS/NAT模式(Network address translation) VS/TUN模式(tunneling) DR模式(Direct routing):常用;内网单用卡
以谁为师
2019/06/02
9730
相关推荐
LVS+KeepAlived+Nginx高可用软负载方案
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档