一、LVS 集群部署
1、LVS 集群工作结构图
![](https://img-blog.csdnimg.cn/img_convert/c39fb36270d14e7795a0ababcb7c075f.png)
2、LVS的负载调度算法
1、轮询(rr,RoundRobin)
2、加权轮询(wrr,Weighted RoundRobin)
3、最少连接(lc, LeastConnections)
4、加权最少连接(wlc,WeightedLeastConnections)
5、source hashing源地址hash(sh)
3、LVS优点
1.抗负载能力强
2.配置性低
3.工作稳定
4.无流量
5.lvs基本上能支持所有应用
4、LVS工作模式
LVS有三种工作模式:NAT,DR,TUN,DR是三种工作模式中性能最高的,TUN次之。
1.NAT(NetworkAddress Translation)即网络地址映射模式
2.DR(DirectRouting)即直接路由模式
3.TUN(IP Tunneling)即IP隧道模式
5、LVS-NAT 模式工作原理
1.客户端访问VIP1的网站
CIP 客户端的IP
VIP 是域名解析的IP, 是集群对外的公网IP
DIP 用来和后端服务器进行数据交互的IP, 请求报文转发给后端服务器从此口出去
RIP 真实服务器的IP
![](https://img-blog.csdnimg.cn/img_convert/c16332e1baee4d16b4bf769e72380192.png)
2.调度器使用NAT进行地址转换
![](https://img-blog.csdnimg.cn/img_convert/dbd17a519c014dc88a12946f274a269a.png)
3.真实服务器返回处理结果
![](https://img-blog.csdnimg.cn/img_convert/d8c629547165444d879031c913df58d4.png)
4.配置LVS-NAT
1.项目拓扑
![](https://img-blog.csdnimg.cn/img_convert/68025e6b3cbb4fb28dce5d4250fba2ea.png)
2.机器部署
![](https://img-blog.csdnimg.cn/img_convert/0aaf3881f55b4dfdaa6153115ec5f223.png)
3.环境准备
3台机器全部关闭防火墙,做静态解析,做免密登录
node2、node3上安装httpd服务
配置真实服务器
node2、node3上安装httpd服务
[root@node2 ~]# yum install -y httpd
[root@node2 ~]# systemctl start httpd
[root@node2 ~]# systemctl enable httpd
[root@node2 ~]# systemctl status httpd
[root@node3 ~]# yum install -y httpd
[root@node3 ~]# systemctl start httpd
[root@node3 ~]# systemctl enable httpd
[root@node3 ~]# systemctl status httpd
![](https://img-blog.csdnimg.cn/img_convert/998c20dcb38c4a4b8c49339395746278.png)
node2、node3上生成测试网页
[root@node2 ~]# echo 'Node2:192.168.0.99 server is serving you!!!' >
/var/www/html/index.html
[root@node3 ~]# echo 'Node3:192.168.0.111 server is serving you!!!' >
/var/www/html/index.html
node2、node3上修改网关
[root@node2 ~]# sed -i "s/192.168.0.2/192.168.0.88/g"
/etc/sysconfig/network-scripts/ifcfg-ens32
[root@node3 ~]# sed -i "s/192.168.0.2/192.168.0.88/g"
/etc/sysconfig/network-scripts/ifcfg-ens32
node2、node3上做访问测试
[root@node2 ~]# curl 192.168.0.99
Node2:192.168.0.99 server is serving you!!!
[root@node2~]# curl 192.168.0.111
Node3:192.168.0.111server is serving you!!!
![](https://img-blog.csdnimg.cn/img_convert/fc7e905b96fd4a3c8ed15f9ba4fa5fb0.png)
[root@node3 ~]# curl192.168.0.111
Node3:192.168.0.111 server is serving you!!!
[root@node3 ~]# curl192.168.0.99
Node2:192.168.0.99 server is serving you!!!
![](https://img-blog.csdnimg.cn/img_convert/0039f5c29c1349189bef012e18be5617.png)
node1上做访问测试
[root@node1 ~]# curl 10.20.5.88
Node3:192.168.0.111 server is serving you!!!
[root@node1 ~]# curl 10.20.5.88
Node2:192.168.0.99 server is serving you!!!
![](https://img-blog.csdnimg.cn/img_convert/0eebec7a2dea4165b8ba31a9544dfbde.png)
Windows端访问测试
![](https://img-blog.csdnimg.cn/img_convert/66257c2a9beb410cb08b4e01c3622a5f.png)
Windows访问测试
![](https://img-blog.csdnimg.cn/img_convert/f86b77de912946668e05299cdec3e078.png)
4.配置负载均衡器
a.node1添加一张网卡
![](https://img-blog.csdnimg.cn/img_convert/c843cae919544701bed19e729ef7578f.png)
第2张网卡选择自定义模式
![](https://img-blog.csdnimg.cn/img_convert/a8a39ff9956d4b54997f322493d8295a.png)
设置VMnet1属性
![](https://img-blog.csdnimg.cn/img_convert/34f525b1048d4508b1aad47414c99a5f.png)
禁用并重启
node1:修改第2张网卡配置文件
[root@node1 ~]# nmcli conn
![](https://img-blog.csdnimg.cn/img_convert/2e7f954da67a4dbf8b418390e75175df.png)
[root@node1 ~]# cd/etc/sysconfig/network-scripts/
[root@node1 network-scripts]# cp ifcfg-ens32 ifcfg-ens34
[root@node1 network-scripts]# vim ifcfg-ens34
![](https://img-blog.csdnimg.cn/img_convert/c4dcc8c5ee4549c4a3c96eac772dbe14.png)
node1:重启网卡,查看网卡信息
[root@node1 ~]# systemctl restart network
[root@node1 ~]# ip a
![](https://img-blog.csdnimg.cn/img_convert/460d80646eaf4a82af9a5efa457bdaa9.png)
b.node1打开路由转发功能
[root@node1 ~]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
[root@node1 ~]# sysctl -p
net.ipv4.ip_forward = 1
c.加载LVS内核模块
[root@node1 ~]# modprobe ip_vs
[root@node1 ~]# lsmod | grep ip_vs
[root@node1 ~]# cat /proc/net/ip_vs
![](https://img-blog.csdnimg.cn/img_convert/18fdc0f3546142d08d7d9f39dd2ce447.png)
node1做静态解析
[root@node1 ~]# vim /etc/hosts
[root@node1 ~]# cat /etc/hosts
![](https://img-blog.csdnimg.cn/img_convert/ba47a4d040884469902a5d78681aff40.png)
d.安装LVS管理工具: ipvsadm
[root@node1 ~]# yum install -y ipvsadm
[root@node1 ~]# systemctl enable ipvsadm
[root@node1 ~]# ipvsadm-C #清除内核虚拟服务器表中的所有记录
[root@node1 ~]# ipvsadm -A -t 10.20.5.88:80 -s rr #创建虚拟服务器
[root@node1 ~]# ipvsadm -a -t 10.20.5.88:80 -r 192.168.0.99:80 -m
[root@node1 ~]# ipvsadm -a -t 10.20.5.88:80 -r 192.168.0.111:80 -m
查看配置
[root@node1 ~]# ipvsadm -Ln
![](https://img-blog.csdnimg.cn/img_convert/2cf370134eee4a36829d3e1130232d8f.png)
保存配置或规则
[root@node1 ~]# ipvsadm --save > /etc/sysconfig/ipvsadm
[root@node1 ~]# cat /etc/sysconfig/ipvsadm
![](https://img-blog.csdnimg.cn/img_convert/ed420a0c75c945a78056b21205e97425.png)
二、测试LVS集群
1、crul命令访问
[root@node1 ~]# curl 10.20.5.88
Node2:192.168.0.99 server is serving you!!!
[root@node1 ~]# curl 10.20.5.88
Node3:192.168.0.111 server is serving you!!!
[root@node1 ~]# curl 10.20.5.88
Node2:192.168.0.99 server is serving you!!!
[root@node1 ~]# curl 10.20.5.88
Node3:192.168.0.111 server is serving you!!!
查看客户端连接分发器和real server的情况
[root@node1 ~]# ipvsadm -Lnc
![](https://img-blog.csdnimg.cn/img_convert/4c077a39d21740c88c64885b104060ad.png)
2、Windows端访问测试
![](https://img-blog.csdnimg.cn/img_convert/ddd3b214dd494d4eab6e3ec457dc0054.png)
![](https://img-blog.csdnimg.cn/img_convert/a58d0098d8f04affbd872191148ded31.png)
3、查看分发情况
[root@node1 ~]# ipvsadm -Ln --stats
![](https://img-blog.csdnimg.cn/img_convert/cdfcad15fcf44b33bcc145d14ca67ebe.png)
4、查看速率
[root@node1 ~]# ipvsadm -Ln --rate
![](https://img-blog.csdnimg.cn/img_convert/861c4e15d61e4a6faa307693a88a81a7.png)
5、清空当前连接数量
[root@node1 ~]# ipvsadm -Z
[root@node1 ~]# ipvsadm -Ln --stats
![](https://img-blog.csdnimg.cn/img_convert/bd8f1cba23b944b0b54ed26e01e44f5f.png)
删除服务器节点
[root@node1 ~]# ipvsadm -d -t 10.20.5.88:80 -r 192.168.0.111:80
[root@node1 ~]# ipvsadm -Ln
删除整个虚拟服务器
[root@node1 ~]# ipvsadm -D -t 10.20.5.88:80
[root@node1 ~]# ipvsadm -Ln
![](https://img-blog.csdnimg.cn/img_convert/15f6166ba1284d13aab3998119b0b688.png)