一、LVS 集群部署
1、LVS 集群工作结构图

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

2.调度器使用NAT进行地址转换

3.真实服务器返回处理结果

4.配置LVS-NAT
1.项目拓扑

2.机器部署

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

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!!!

[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!!!

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!!!

Windows端访问测试

Windows访问测试

4.配置负载均衡器
a.node1添加一张网卡

第2张网卡选择自定义模式

设置VMnet1属性

禁用并重启
node1:修改第2张网卡配置文件
[root@node1 ~]# nmcli conn

[root@node1 ~]# cd/etc/sysconfig/network-scripts/
[root@node1 network-scripts]# cp ifcfg-ens32 ifcfg-ens34
[root@node1 network-scripts]# vim ifcfg-ens34

node1:重启网卡,查看网卡信息
[root@node1 ~]# systemctl restart network
[root@node1 ~]# ip a

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

node1做静态解析
[root@node1 ~]# vim /etc/hosts
[root@node1 ~]# cat /etc/hosts

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

保存配置或规则
[root@node1 ~]# ipvsadm –save > /etc/sysconfig/ipvsadm
[root@node1 ~]# cat /etc/sysconfig/ipvsadm

二、测试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

2、Windows端访问测试


3、查看分发情况
[root@node1 ~]# ipvsadm -Ln –stats

4、查看速率
[root@node1 ~]# ipvsadm -Ln –rate

5、清空当前连接数量
[root@node1 ~]# ipvsadm -Z
[root@node1 ~]# ipvsadm -Ln –stats

删除服务器节点
[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
