Linux集群基于DR模式的LVS负载均衡

关键词:LVS负载均衡 DR模式 Linux Centos7

1.基础说明

1.1.LVS负载均衡说明

LVS(Linux Virtual Server)即Linux虚拟服务器,是一个虚拟的服务器集群系统。在1998年5月由章文嵩博士成立,目前 LVS是Linux内核标准的一部分。

使用LVS可以达到的技术目标是:通过LVS达到的负载均衡技术和Linux操作系统实现一个高性能高可用的Linux服务器集群,它具有良好的可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的性能。

LVS由2部分程序组成,包括ipvs和ipvsadm。ipvs(ip virtual server):一段代码工作在内核空间,叫ipvs,是真正生效实现调度的代码。ipvsadm:另外一段是工作在用户空间,叫ipvsadm,负责为ipvs内核框架编写规则,定义谁是集群服务,而谁是后端真实的服务器(Real Server)。

1.2.网络说明

LVS服务器有与RS真实服务器位于在同一局域网络,并能相互通信,为LVS服务器配置网络别名VIP,在每个RS真实服务器上绑定一个虚拟网卡IP地址lo:0,该虚拟IP地址为LVS服务器的VIP地址。用于RS真实服务器处理完LVS转发的请求后,使用该地址作为源IP返回给客户端。

1.3.Arp说明

ARP(地址解析协议)是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址。收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

arp_ignore和arp_announce参数都和ARP协议相关,主要用于控制系统返回arp响应和发送arp请求时的动作。arp_ignore参数的作用是控制系统在收到外部的arp请求时,是否要返回arp响应。arp_announce的作用是控制系统在对外发送arp请求时,如何选择arp请求数据包的源IP地址。

arp_ignore级别:只对指定级别的arp请求进行响应,当arp广播请求的目标ip不在同一个接口上就不予响应。

级别说明
0只要本地配置的有相应地址,就给予响应(默认);
1仅在请求的目标地址配置请求到达的接口上的时候,才给予响应。
arp_announce级别:向外主动通告自己的通告级别。
级别说明
--------
0将本地任何接口上的任何地址向外通告(默认);
1试图仅向目标网络通告与其网络匹配的地址;
2仅向与本地接口上地址匹配的网络进行通告。

2.环境准备

2.1.硬件设备

准备位于3台同一局域网络、安装CentOS7版本Linux系统的服务器(此处使用VMware虚拟机搭建),1台用于作为LVS负载均衡服务器,2台作为真实业务服务器。

2.2.IP地址

设备地址
LVS服务端管理IP192.168.233.130
LVS服务端VIP192.168.233.132
RS真实1服务器IP192.168.233.135
RS真实2服务器IP192.168.233.136

3.LVS负载均衡端配置

3.1.网络环境配置

清除所有测试服务器防火墙

Iptables –F


配置VIP和静态路由

ifconfig ens33:0 192.168.233.132/24 #配置网络别名
route add -host 192.168.233.132 dev ens33:0 #配置静态路由


检查网络环境配置

ifconfig

3.2.ipvsadm安装

(1)离线安装

查看Linux内核版本

cat /proc/version


下载安装包

http://www.linuxvirtualserver.org/software/


依赖包:

yum -y install gcc gcc-c++ make popt popt-devel libnl libnl-devel popt-static openssl-devel kernel-devel

解压文件

tar -xzvf ipvsadm-1.26.tar.gz

编译并安装

make && make install

(2)在线安装

安装ipvsadm工具

yum -y install ipvsadm


检测安装情况

ipvsadm -v

3.3.LVS规则配置

检查当前ipvsadm软件规则

ipvsadm -Ln


配置LVS规则

echo "1" >/proc/sys/net/ipv4/ip_forward #启动路由转发功能
ipvsadm -C #清除内核虚拟服务器表中的所有记录
ipvsadm -A -t 192.168.233.132:80 -s wlc #使用ipvsadm安装LVS服务
ipvsadm -a -t 192.168.233.132:80 -r 192.168.233.135:80 -g -w 1 #增加第一台realserver
ipvsadm -a -t 192.168.233.132:80 -r 192.168.233.136:80 -g -w 1 #增加第二台realserver


检查当前ipvsadm软件规则

ipvsadm -Ln


将规则保存到/etc/sysconfig/ipvsadm文件中

ipvsadm -Sn > /etc/sysconfig/ipvsadm

4.RS真实服务端配置

4.1.网络环境配置

清除所有测试服务器防火墙

iptables –F


配置realserver的arp_ignore、arp_announce、网络VIP、静态路由

echo 2 > /proc/sys/net/ipv4/conf/ens33/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/ens33/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
ifconfig lo:0 192.168.233.132 broadcast 192.168.233.132 netmask 255.255.255.255 up #配置虚拟IP
route add -host 192.168.233.132 dev lo:0 #配置静态路由


检查网络环境配置

ifconfig

4.2.测试服务配置

清除所有测试服务器防火墙

iptables –F


在真实服务端安装HTTPD和httpd-manual软件包

yum -y install http httpd-manual


修改HTTPD配置文件:监听所有访问80端口的请求,允许所有地址访问;

vim /etc/httpd/conf/httpd.conf
Listen 80

# Controls who can get stuff from this server.
Order allow,deny
Allow from all
Require all granted


创建/var/www/html/index.htm暂时作为 web 服务的主页

echo 'Welcome to 192.168.233.135' > /var/www/html/index.html


重启HTTPD服务

systemctl restart httpd


测试是否允许访问

5.测试

通过实体机浏览器访问服务地址(多次刷新)

http://192.168.233.132:80


yunxi p.deng 2021/10/24

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值