提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
由多台主机构成,但对外只表现为一个整体,只提供一个访问入口(域名与IP地址),相当于一台大型计算机
主要来源于市场需求(企业需求),以及企业管理维护人员的合理性和效率;为了解决互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器已经无法满足负载均衡及高可用性的要求
主要是:增强单体和集群化
使用价格昂贵的小型机、大型机
使用多台相对廉价的普通服务器构建服务集群
根据功能性角度、决绝问题的角度可以分为三种类型
第一层:负载调度器(Load Balancer或Director)
第二层:服务器池(Server Pool)
第三层:共享存储(Share Storage)
负载均衡群集是目前企业用得最多的群集类型
群集的负载调度技术有3种工作模式
首先看最少连接数,若连接数一样的情况下,看权重的优先级高
以接近实时连接的请求数(连接数)做为基础
以权重的方式,决定在real servers中连接数相同的情况下,该如何分配请求(以权重的方式判断)
ipvsadm工具选项说明
-A 添加虚拟服务器
-D 删除整个虚拟服务器
-s 指定负载调度算法 (轮询:rr、加权轮询: wrr、最少连接: lc、加权最少连接: wlc )
-a 表示添加真实服务器 (节点服务器)
-d 删除某一个节点
-t 指定 VIP地址及 TCP端口
-r 指定 RIP地址及 TCP端口
-m 表示使用 NAT群集模式.
-g 表示使用 DR模式
-i 表示使用 TUN模式
-w 设置权重 (权重为 0 时表示暂停节点)
-p 60 表示保持长连接60秒
-l 列表查看 LVS 虚拟服务器 (默认为查看所有)
-n 以数字形式显示地址、端口等信息,常与 “-l” 选项组合使用;ipvsadm -ln
环境:LVS调度器作为Web 服务器池的网关,LVS具有两块网卡,分别连接内外网,使用轮询(rr)调度算法
LVS负载调度器:ens33:192.168.35.40(net模式) ens37:192.168.10.100(vmnet1)
Web 节点服务器1:192.168.35.10
Web 节点服务器2:192.168.35.20
NFS服务器:192.168.35.30
客户端(win10模拟外网):192.168.10.200 (Vmnet1)
本机vm1的配置:
注意点:
win10虚拟机(客户端)网关设置为192.168.10.100
web服务器 网关设置为 192.168.35.40
NFS服务器:192.168.35.30
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
yum install -y nfs-utils rpcbind
systemctl start nfs.service
systemctl start rpcbind.service
systemctl enable nfs.service
systemctl enable rpcbind.service
mkdir /opt/klkl /opt/zwzyt
chmod 777 /opt/klkl /opt/zwzyt
vim /etc/exports
/opt/klkl 192.168.35.10/24(rw,sync,no_root_squash)
/opt/zwzyt 192.168.35.20/24(rw,sync,no_root_squash)
exportfs -rv ##验证共享
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
#ifconfig ens36 192.168.10.100 ##临时虚拟网卡,也可以使用此种方法增加网卡,方法自选
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p ##刷新生效
或者:echo '1' > /proc/sys/net/ipv4/ip_forward
systemctl start firewalld ##开启防火墙
iptables -F ##全部清空规则
iptables -t nat -F ##清空nat表内的规则
[root@lvs ~]# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
iptables -t nat -A POSTROUTING -s 192.168.35.0/24 -o ens37 -j SNAT --to-source 192.168.10.100
## http服务器的流量通过ens37接口,把192.168.35.0网段通过LVS映射192168.10.100
nat表:修改数据包中的源、目标IP地址或端口
POSTROUTING: 在进行路由判断之"后"所要进行的规则(SNAT/MASQUERADE)
PREROUTING: 在进行路由判断之"前"所要进行的规则(DNAT/REDIRECT)
-A: 在规则链的末尾加入新规则
-s:匹配来源地址IP/MASK.
-o 网卡名称匹配从这块网卡流出的数据
-i 网卡名称匹配从这块网卡流入的数据
-j 控制类型
ll /proc/nat ##查询没有ip_vs模块
modprobe ip_vs ##手动加载ip_vs模块
cat /proc/net/ip_vs ##查看ip_vs版本信息
yum install -y ipvsadm
#注意:启动服务前必须保存负载分配策略,否则将会报错
ipvsadm-save > /etc/sysconfig/ipvsadm ##ipvsadm-save:策略保存;>:覆盖
或者
ipvsadm --save > /etc/sysconfig/ipvsadm
或者
touch /etc/sysconfig/ipvsadm
systemctl start ipvsadm ##开启管理工具
ipvsadm -C #清除原有策略
ipvsadm -A -t 192.168.10.100:80 -s rr ##指定分流算法是rr轮询
-A ##添加虚拟服务器
-s ##指定负载调度算法 (轮询:rr、加权轮询: wrr、最少连接: lc、加权最少连接: wlc )
-a ##表示添加真实服务器 (后端节点服务器)
-t ##指定 VIP地址及 TCP端口
-m ##表示使用 NAT群集模式
-w ##设置权重 (权重为 0 时表示暂停节点)
ipvsadm -a -t 192.168.10.100:80 -r 192.168.35.10:80 -m -w 1
ipvsadm -a -t 192.168.10.100:80 -r 192.168.35.20:80 -m -w 1
-r ##real server
-m ##mode;模式
-w ##weight;权重
ipvsadm #启动策略
ipvsadm -ln #查看节点状态,Masq代表 NAT模式
ipvsadm-save > /etc/sysconfig/ipvsadm #保存策略
ntpdate ntp.aliyun.com
vim /etc/reslove.conf ##地址映射
nameserver 114.114.114.114
两台节点服务器(192.168.35.10、192.168.35.20)都更改网关为192.168.35.40,重启,安装apache
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
yum install -y httpd ##下载http服务
systemctl start httpd.service ##开启http服务
systemctl enable httpd.service
yum install -y nfs-utils rpcbind ##下载nfs服务
systemctl start rpcbind.service
systemctl enable rpcbind.service
showmount -e 192.168.35.30
mount.nfs 192.168.35.30:/opt/klkl /var/www/html/
echo 'this is klkl' > /var/www/html/index.html
vim /etc/fstab ##永久挂载
192.168.35.30:/opt/klkl /var/www/html nfs defaults,_netdev 0 0
mount -a
web2:192.168.35.20
mount.nfs 192.168.35.30:/opt/zwzyt /var/www/html/
echo 'this is zwzyt' > /var/www/html/index.html
vim /etc/fstab
192.168.35.30:/opt/zwzyt /var/www/html nfs defaults,_netdev 0 0
mount -a
在win10上使用浏览器访问192.168.10.100,刷新浏览器测试负载均衡
刷新出来网页之后最好清除一下浏览记录,再次刷新网页轮询
此时更改虚拟win的配置