LVS负载均衡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVS负载均衡相关的知识,希望对你有一定的参考价值。

安装LVS
1、加载LVS内核模块
modprobe ip_vs //加载ip_vs模块

cat /proc/net/ip_vs //查看ip_vs版本信息

2、安装LVS管理工具
rpm -ivh /mnt/Packages/ipvsadm-1.27-7.el7.x86_64.rpm
或者
yum install ipvsadm -y

ipvsadm -v //查看版本


LVS调度器——NAT模式
LVS负载均衡群集—地址转换模式(LVS-NAT)
环境:
调度服务器一台:Linux—CentOS7.4
IP地址:192.168.80.100(内网)
192.168.90.100(外网)
Web服务器两台:Linux—CentOS7.4
IP地址:192.168.80.101(SERVER AA)
IP地址:192.168.80.102(SERVER BB)
客户端一台:以win7为例,用于测试验证
IP地址:192.168.90.10(外网)


在80.103虚拟机上
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
modprobe ip_vs //加载ip_vs模块
cat /proc/net/ip_vs //查看ip_vs版本信息

rpm -q ipvsadm //查看是否安装ipvsadm安装包

rpm -ivh /mnt/Packages/ipvsadm-1.27-7.el7.x86_64.rpm
或者
yum install ipvsadm -y

ipvsadm -v //查看版本

ls /mnt/Packages/ | grep ipvsadm //查看有没有这个软件包
技术分享图片

到虚拟机中添加一块网卡
技术分享图片
ifconfig //查看网卡
技术分享图片

cd /etc/sysconfig/network-scripts/
cp -p ifcfg-ens32 ifcfg-ens34
vi ifcfg-ens34
技术分享图片
修改后:
技术分享图片

systemctl restart network //重启网卡
ifconfig //查看网卡
技术分享图片

ipvsadm -A -t 192.168.90.103:80 -s rr
注:
"-A"表示添加虚拟服务器
"-t"用来指定VIP地址及TCP端口
"-s"用来指定负载调度算法——轮询(rr)、加权轮询(wrr)、最少连接(lc)、加权最少连接(wlc)

添加服务器节点:
ipvsadm -a -t 192.168.90.103:80 -r 192.168.80.104:80 -m
ipvsadm -a -t 192.168.90.103:80 -r 192.168.80.105:80 -m
注:
"-a"表示添加真实服务器
"-t"用来指定VIP地址及TCP端口
"-r"用来指定RIP地址及TCP端口
"-m"表示使用NAT群集模式
"-g"是DR模式
"-i"是TUN模式
ipvsadm -Ln //查看节点状态
技术分享图片

删除服务器节点:
ipvsadm -d -r 192.168.80.105:80 -t 192.168.90.103:80
ipvsadm -Ln
技术分享图片

删除整个虚拟服务器:
ipvsadm -D -t 192.168.90.103:80
ipvsadm -Ln
技术分享图片

vi nat.sh
#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward //开启路由地址转换
ipvsadm -C //清除内核虚拟服务器表中的所有记录
ipvsadm -A -t 192.168.90.103:80 -s rr //创建虚拟服务器
ipvsadm -a -t 192.168.90.103:80 -r 192.168.80.104:80 -m //添加服务器节点
ipvsadm -a -t 192.168.90.103:80 -r 192.168.80.105:80 -m //添加服务器节点
ipvsadm -Ln //查看节点状态

chmod +x nat.sh //给nat.sh文件权限
./nat.sh
技术分享图片

在80.104虚拟机上
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
yum install httpd -y
vi /etc/httpd/conf/httpd.conf
把 ServerName www.example.com:80 前面的#去掉

cd /var/www/html/
echo "<h1>SERVER AA</h1>" > index.html
systemctl start httpd //开启http
在网页上访问http://192.168.80.104
技术分享图片

vi /etc/sysconfig/network-scripts/ifcfg-ens32
添加GATEWAY=192.168.80.103
技术分享图片

systemctl restart network //重启网卡

在80.105虚拟机上
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
vi /etc/httpd/conf/httpd.conf
把 ServerName www.example.com:80 前面的#去掉

cd /var/www/html/
echo "<h1>SERVER BB</h1>" > index.html
systemctl start httpd //开启http
在网页上访问http://192.168.80.105
技术分享图片

vi /etc/sysconfig/network-scripts/ifcfg-ens32
添加GATEWAY=192.168.80.103
技术分享图片

systemctl restart network //重启网卡

在网页上访问http://192.168.90.103

以上是关于LVS负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

超详细!一文带你了解 LVS 负载均衡集群!

基于lvs实现4层负载均衡

IPVS(LVS)负载均衡简介及实验测试

负载均衡介绍LVS介绍算法介绍LVS_NAT负载均衡模式配置

LVS负载均衡策略的部署与应用

LVS负载均衡策略的部署与应用