LVS之NAT模式
一.前言
LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中,LVS主要用于多服务器的负载均衡。它工作在网络层,可以实现高性能,高可用的服务器集群技术。它廉价,可把许多低性能的服务器组合在一起形成一个超级服务器。它易用,配置非常简单,且有多种负载均衡的方法。它稳定可靠,即使在集群的服务器中某台服务器无法正常工作,也不影响整体效果。另外可扩展性也非常好。
LVS有三种工作模式:
本文主要介绍NAT模式的搭建步骤,具体的原理可百度参考其他资料
点此查看LVS之DR模式
实验背景:
vm01(负载均衡)
eth0:192.168.1.9
eth1:10.10.0.12 (其中10.10.0.0网段可以连接外网)
vip:10.10.0.10
vm02(后端服务器)
eth1:192.168.1.11 (gateway:192.168.1.9)
vm03 (后端服务器)
eth1:192.168.1.12(gateway:192.168.1.9)
注意:vm02和vm03网关需要配置为vm01 eth0的ip地址
vim /etc/sysconfig/network-scripts/ifcfg-eth0
二.负载均衡器安装
vm01上操作
yum install -y ipvsadm lsmod |grep ip_vs modprobe ip_vs
#判断是不是加载了ip_vs模块 lsmod |grep ip_vs
![](https://img2020.cnblogs.com/blog/1147891/202101/1147891-20210112163001656-664949006.png)
三.创建lvsnat模式启动脚本
vim /etc/init.d/lvsnat
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#!/bin/bash VIP=10.10.0.10 RIP1=192.168.1.11 RIP2=192.168.1.12 case "$1" in start) echo "start LVS of DirectorServer NAT" echo "1" > /proc/sys/net/ipv4/ip_forward /sbin/iptables -F /sbin/ipvsadm -C /sbin/ifconfig ens37:0 $VIP netmask 255.255.255.0 up /sbin/ipvsadm -A -t $VIP:80 -s rr /sbin/ipvsadm -a -t $VIP:80 -r $RIP1 -m /sbin/ipvsadm -a -t $VIP:80 -r $RIP2 -m /sbin/ipvsadm ;; stop) echo "stop LVS of DirectorServer NAT" echo "0" >/proc/sys/net/ipv4/ip_forward /sbin/ipvsadm -C /sbin/ifconfig ens37:0 down ;; *) echo "argements error" esac exit 1
添加执行权限
chown +x /etc/init.d/lvsnat
启动lvsnat
/etc/init.d/lvsnat start
四.测试
1.vm02和vm03上安装nginx
yum -y install nginx
#启动nginx
nginx
vm02 修改index.html文件
echo "<h1 style='color:red;'>I am vm02</h1>" > /usr/share/nginx/html/index.html
vm03修改index.html文件
echo "<h1 style='color:green;'>I am vm03</h1>" > /usr/share/nginx/html/index.html
2.浏览器访问10.10.0.10
![](https://img2020.cnblogs.com/blog/1147891/202101/1147891-20210112164241259-1073376872.png)
3.vm01查看负载情况
ipvsadm -lnc
![](https://img2020.cnblogs.com/blog/1147891/202101/1147891-20210112164419264-1388729834.png)