LVS负载均衡群集

群集的类型
1、负载均衡群集:以提高应用系统的相应能力,尽可能处理更多的相应请求,较少延迟为目标,获得搞并发高负载的整体性能。例如:反向代理、LB的负载分配依赖于朱姐点的分流算法,将客户及的请求分担给多个服务器节点,从而缓解整个系统的负载压力。
2、高可用群集:以提高系统的可靠性,尽可能的减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果。例如:故障切断、双机热备、多级热备,等都属于高可用群集技术。
3、高性能运算群集:以提高应用系统的CPU运算速度,扩展硬件资源和分析能力为布标,获得相当于大型,超级计算机的高性能运算(HPC)能力。例如:云计算,网格计算,也可视为高性能运算的一种,高性能运算集群的高性能依赖于、分布式运算、并行运算,通过专用的硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力。

负载均衡的分层结构
LVS负载均衡群集_第1张图片
1、 第一层,负载调度器:这是访问整个集群系统的唯一入口,对外使用所有服务器共有的V-IP(Virtual IP,虚拟IP)地址,已成为集群IP地址。通常会配置主、被两台调度器来实现热备份,当朱调度器失效后将平滑替换至备用调度器,确保高可用性
2、 第二层,服务器池:集群所提供的应用服务(如 ftp http)由服务器池承担,其中每个节点都具有独立的R-IP (Real IP,真实IP)地址,只处理调度器分配过来的客户端请求,当某个节点暂时失效时,负责调度器的容错机制会将其隔离,等待错误排除以后重新纳入服务器池。
3、 第三层,共享存储:为服务器池中的所有节点提供稳定、一致的文件存取服务、确保整个集群的统一性,在Linux/Unix环境中,共享存储可以使用NAS设备,或者提供NFS(network file system网络文件系统)共享服务的专用服务器。

负载均衡的工作模式
关于集群的负载调度技术,可以基于IP、端口、内容等进行分发,其中基于IP的负载调度是效率最高的。基于IP的负载均衡模式最常见的有以下三种
LVS负载均衡群集_第2张图片
1、 地址转换:简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户及的访问出口。服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式。
2、 IP隧道:简称TUN模式,采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的Internet连接直接回复客户机,而不在经过负载调度器,服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信。
3、 直接路由:简称DR模式,采用半开放式的网络结构,与TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络。负责调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道。

LVS虚拟服务器
LVS现在已经成为Linux内核的一部分,默认编译为ip_vs模块,必要时能够自动调用。怎centos7中,一下操作可以手动加载ip_vs模块,并查看当前系统中ip_vs模块的版本信息。
[root@localhost ~]# modprobe ip_vs
[root@localhost ~]# cat /proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
1、LVS的负载调度算法,常见的有一下四种。
1)、轮询:将收到的服务器访问请求按照顺序轮流分配给集群中的各节点,均等的对待每一台服务器,而不管服务器实际的连接数和系统负载。
2)、加权轮询:根据真实服务器的处理能力轮流分配收到的访问请求,调度器可以自动查询各节点的负载情况,并动态调整其权重,这样可以保证处理能力强的服务器承担更多的访问量。
3)、最少连接:根据真实服务器已建立的连接数进行分配,将收到的访问请求有限分配给连接数最少的节点,如果所有的服务器节点性能相近,采用这种方式可以更好的均衡负载
4)、加权最少连接:在服务器节点的性能差异较大的情况下,可以为真实服务器自动调整权重,权重较高的节点将承担更大比例的活动链接负载。
2、使用ipvsadm管理工具
Ipvsad是在负载调度器上使用的LVS群集管理工具, 通过调用ip_vs模块来添加、删除服务器节点,以及查看群集运行状态。在centos7中,需要手动安装ipvsadm.x86_64.0.1.27-7.el7
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# rm -rf /etc/yum.repos.d/*
[root@localhost ~]# vi /etc/yum.repos.d/centos.repo
[local]
name=local
baseurl=file:///mnt/
enabled=1
gpgcheck=0
:wq
[root@localhost ~]# yum -y install ipvsadm
LVS集群的管理工作主要包括创建虚拟服务器、添加服务器节点、查看群集节点状态、删除服务器节点和保存负载分配策略。下面我们分别展示一下ipvsadm命令的操作方法
1)、创建虚拟服务器
若群集的IP地址为192.168.10.20,针对TCP的80端口提供负载分流服务,使用的调度算法为轮询,则对应的ipvsadm命令操作如下所示,对于负载均衡调度器来说, Virtual IP必须是本机实际已启用的IP地址。
[root@localhost ~]# ipvsadm -A -t 192.168.10.20:80 -s rr
上述命令中,选项:-A表示添加虚拟服务器。
选项:-t用来指定Virtual IP地址及端口。
选项:-s用来指定负载调度算法,rr:轮询、wrr:加权轮询、lc:最少连接、wlc:加权最少连接
2)、添加服务器节点
为虚拟服务器192.168.10.20添加四个服务器节点,IP地址分别为192.168.10.30、40、50、60对应的命令如下。
[root@localhost ~]# ipvsadm -a -t 192.168.10.20:80 -r 192.168.10.30:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.20:80 -r 192.168.10.40:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.20:80 -r 192.168.10.50:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.20:80 -r 192.168.10.60:80 -m -w 1
上述命令中,选项:-a表示添加真实服务器
选项:-t表示表示指定virtual IP地址及TCP端口
选项:-r用来指定RIP地址及TCP端口,
选项:-m用来指定NAT集群模式(-g DR模式,-I TUN模式)
选项:-w用来设置权重(权重为0 时表示暂停节点)
3)、查看群集节点状态
[root@localhost ~]# ipvsadm -ln ##查看服务器节点状态
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.10.20:80 rr
-> 192.168.10.30:80 Masq 1 0 0
-> 192.168.10.40:80 Masq 1 0 0
-> 192.168.10.50:80 Masq 1 0 0
-> 192.168.10.60:80 Masq 1 0 0
上述结果中Forward列下的Masq为(伪装地址),表示采用的是群集模式为NAT模式,如果Route,则表示采用的群集模式为DR
删除服务器节点

4)、删除服务器节点
要从池中删除某个节点时,使用选项:-d。执行删除操作必须指定目标对象,包括节点地址、虚拟IP地址
例如:以下命令将会删除LVS群集192.168.10.20中的节点192.168.10.30
[root@localhost ~]# ipvsadm -d -r 192.168.10.30:80 -t 192.168.10.20:80
[root@localhost ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.10.20:80 rr
-> 192.168.10.40:80 Masq 1 0 0
-> 192.168.10.50:80 Masq 1 0 0
-> 192.168.10.60:80 Masq 1 0 0
需要删除真个虚拟服务器时,使用选项:-D并制定虚拟IP地址即可,无需指定节点,
例如:以下操作
[root@localhost ~]# ipvsadm -D -t 192.168.10.20:80
[root@localhost ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn

5)、保存负载分配策略
使用导入/导出工具:ipvsadm-save:保存。Ipvsadm-restore:恢复LVS策略。也可以使用快速清除、重建负载分配策略
[root@localhost ~]# ipvsadm -A -t 192.168.10.20:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.10.20:80 -r 192.168.10.60:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.20:80 -r 192.168.10.50:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.20:80 -r 192.168.10.40:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.20:80 -r 192.168.10.30:80 -m -w 1
[root@localhost ~]# ipvsadm-save > /etc/sysconfig/ipvsadm ##保存策略
[root@localhost ~]# cat /etc/sysconfig/ipvsadm ##查看保存的结果
-A -t localhost.localdomain:http -s rr
-a -t localhost.localdomain:http -r 192.168.10.30:http -m -w 1
-a -t localhost.localdomain:http -r 192.168.10.40:http -m -w 1
-a -t localhost.localdomain:http -r 192.168.10.50:http -m -w 1
-a -t localhost.localdomain:http -r 192.168.10.60:http -m -w 1
[root@localhost ~]# systemctl stop ipvsadm ##停止服务(清除策略)
[root@localhost ~]# systemctl start ipvsadm ##启动服务(重建规则)

共享存储服务器:NFS
NFS是一种基于tcp/ip传输的网络文件系统协议,通过使用NFS协议,客户机可以向访问本地目录一样访问远程服务器中的共享资源。
1、 使用NFS发布共享资源
NFS服务的实现依赖于RPC(远端过程调用)机制,可完成远程到本地的映射过程,我们需要以下两个安装包
nfs-utils:用于NFS共享发布和访问
rpcbind:用于RPC支持
操作服务器为:192.168.10.70
1)、安装nfs-utils、rpcbind软件包:并设置开机启动。
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# rm -rf /etc/yum.repos.d/*
[root@localhost ~]# vi /etc/yum.repos.d/centos.repo
[local]
name=local
baseurl=file:///mnt/
enabled=1
gpgcheck=0
:wq

[root@localhost ~]# yum -y install nfs-utils rpcbind
[root@localhost ~]# systemctl enable nfs
[root@localhost ~]# systemctl enable rpcbind
2)、设置共享目录
NFS的配置文件为/etc/exports,文件内容默认为空(无任何共享)。
exports文件的设置格式为“目录位置 客户机地址(权限选项)”
[root@localhost ~]# mkdir -p /opt/wwwroot/ ##创建共享路径
[root@localhost ~]# vi /etc/exports ##修改配置文件
/opt/wwwroot 192.168.10.0/24(rw,sync,no_root_squash)
:wq
其中客户机地址可以是主机名、IP地址、IP网段、允许使用、?通配符;权限选项中rw表示允许读写(ro为只读),sync表示同步写入,no_root_squash表示当客户机以root身份访问时赋予本地root权限,(默认是root_squash,将作为nfsnobody用户降权对待)。
如果需要将同一个共享目录共享给不同的客户机时,且权限分配不同时,只要使用空格分割多个“客户机(权限选项)”例如以下操作:
[root@localhost ~]# vi /etc/exports
/opt/wwwroot 192.168.10.30(ro) 192.168.10.40(rw)
:wq
3)、启动nfs服务程序
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# netstat -anpt | grep rpc
tcp 0 0 0.0.0.0:20048 0.0.0.0:
LISTEN 1592/rpc.mountd
tcp 0 0 0.0.0.0:52291 0.0.0.0: LISTEN 1590/rpc.statd
tcp6 0 0 :::20048 :::
LISTEN 1592/rpc.mountd
tcp6 0 0 :::46238 ::: LISTEN 1590/rpc.statd
4)、查看本机发布的NFS共享目录
[root@localhost ~]# showmount -e
Export list for localhost.localdomain:
/opt/wwwroot 192.168.10.0/24
2、 在客户机中访问NFS共享资源
NFS协议的目标是提供一种网络文件系统,因此对NFS共享的访问也是用mount命令进行挂载,对应的文件系统类型为nfs,既可以手动挂载,也可以使用fstab配置文件实现开机自动挂载。考录到集群系统的稳定性,建议使用专用的网络进行连接。
操作服务器为:192.168.10.30\40\50\60节点服务器
1)、安装rpcbind、nfs-utils软件包,并设置为开机启动。
在四台节点服务器上分别安装软件包
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# rm -rf /etc/yum.repos.d/

[root@localhost ~]# vi /etc/yum.repos.d/centos.repo
[local]
name=local
baseurl=file:///mnt/
enabled=1
gpgcheck=0
:wq

[root@localhost ~]# yum -y install nfs-utils rpcbind
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# systemctl start rpcbind
如果安装了nfs-utils软件包,也可以在客户机中查看指定NFS共享服务器共享了那些目录
例如:以下命令
[root@localhost ~]# showmount -e 192.168.10.70
Export list for 192.168.10.70:
/opt/wwwroot 192.168.10.0/24
2)、手动挂载NFS共享目录
以root身份执行mount操作,将NFS服务器共享的/opt/wwwroot目录挂载到本地目录的/var/www/html
[root@localhost ~]# mkdir -p /var/www/html
[root@localhost ~]# mount 192.168.10.70:/opt/wwwroot /var/www/html
[root@localhost ~]# tail -1 /etc/mtab ##确认挂载结果
192.168.10.70:/opt/wwwroot /var/www/html nfs4 rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.10.30,local_lock=none,addr=192.168.10.70 0 0
[root@localhost ~]# vi /var/www/html/index.html

my web server


:wq

查看192.168.10.70 NFS共享服务器的共享路径
[root@localhost ~]# ls /opt/wwwroot/
index.html ##看到我们刚刚创建的网页文档,表示共享成功

3)、fstab自动挂载
修改fstab配置文件,注意文件系统类型为nfs,挂载参数建议添加”_netdev”(网络设备)
[root@localhost ~]# vi /etc/fstab
192.168.10.70:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0
:wq

构建LVS负载均衡群集
地址转换模式(LVS-NAT)
1、 准备案例环境
在NAT模式的群集中,LVS负载调度器使所有节点的Internet网关服务器,其外网地址10.10.10.10同事也是整个群集的V IP地址,LVS有两块网卡,分别连接内网,外网。
LVS负载均衡群集_第3张图片
对于LVS负载调度器来说,需要开启路由转发规则,以便节点服务器能够访问Internet。所有的节点服务器、共享存储服务器均无语私有网络内,默认网关为LVS负载调度器的内网地址(192.168.10.20)
2、 配置负载调度器-在192.168.10.20服务器上操作
重启服务器并添加一块新网卡,编辑网络配置文件。
[root@localhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens34
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens34
TYPE=Ethernet
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens34
DEVICE=ens34
ONBOOT=yes
IPADDR=10.10.10.10
PREFIX=24
GATEWAY=10.10.10.1
:wq
[root@localhost ~]# systemctl restart network
1)、开启路由转发规则
[root@localhost ~]# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
:wq
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
2)配置负载分配策略
[root@localhost ~]# ipvsadm -C ##清除原有策略
[root@localhost ~]# ipvsadm -A -t 10.10.10.10:80 -s rr
[root@localhost ~]# ipvsadm -a -t 10.10.10.10:80 -r 192.168.10.30:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 10.10.10.10:80 -r 192.168.10.40:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 10.10.10.10:80 -r 192.168.10.50:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 10.10.10.10:80 -r 192.168.10.60:80 -m -w 1
[root@localhost ~]# ipvsadm-save ##保存策略
-A -t localhost.localdomain:http -s rr
-a -t localhost.localdomain:http -r 192.168.10.30:http -m -w 1
-a -t localhost.localdomain:http -r 192.168.10.40:http -m -w 1
-a -t localhost.localdomain:http -r 192.168.10.50:http -m -w 1
-a -t localhost.localdomain:http -r 192.168.10.60:http -m -w 1
[root@localhost ~]# systemctl enable ipvsadm
3、置节点服务器-在192.168.10.30-40-50-60上操作
所有的节点服务器均使用相同的配置,包括httpd服务端口,网站文档内容。在实际上各节点的网站文档可存放在共享存储设备中,从而免去同步的过程,但在案例调试阶段可以为各节点采用不同的网页,以便测试负载均衡效果
1)、安装httpd,创建测试网页
[root@localhost ~]# yum -y install nfs-utils rpcbind httpd
[root@localhost ~]# mkdir -p /var/www/html
[root@localhost ~]# mount 192.168.10.70:/opt/wwwroot /var/www/html ##测试群集权重效果可以跳过
[root@localhost ~]# vi /var/www/html/index.html

LVS负载均衡群集--测试网页


:wq
2)、启用httpd服务
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
3)、将4台节点服务器的网关均设置为192.168.10.20
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens32
……… ##省略部分
IPADDR=192.168.10.30
PREFIX=24
GATEWAY=192.168.10.20
[root@localhost ~]# systemctl restart network
4、测试LVS群集
可以安排多台测试机,网关指向LVS外网地址(10.10.10.10),使用浏览器访问http://10.10.10.10直接可以看到真实服务器提供的网页文档,如:4台服务器的网页文档不一样,一可以试着多刷新几次,验证权重效果。
在LVS负载调度器中,通过查看节点状态可以观察当前负载分配的情况。
[root@localhost ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.10.10.10:80 rr
-> 192.168.10.30:80 Masq 1 1 0
-> 192.168.10.40:80 Masq 1 0 1
-> 192.168.10.50:80 Masq 1 0 1
-> 192.168.10.60:80 Masq 1 0 1

直接路由模式(LVS-DR)
1、准备案例环境
在DR模式的群集中,LVS负载调度器作为群集的访问入口,但不作为网关使用,服务器池中的所有节点都各自介入Internet,发给客户机的响应数据包不需要经过LVS负载调度器。
这种方式入站,出站访问数据被分别处理,因此LVS负载调度器和虽有节点都需要配置VIP地址,以便响应对整个群集的访问,考录到数据存储的安全性,共享存储设备会放在内部的专用网络中
LVS负载均衡群集_第4张图片
2、配置负载调度器
操作192.168.10.20负载调度服务器
1)、配置虚拟IP地址
采用虚接口的方式(ens32:0),为王珂ens32绑定VIP地址,以便响应群集访问
配置结果为ens32 192.168.10.20、ens33:0 192.168.10.21
[root@localhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens32:0
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens32:0
TYPE=Ethernet
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens32:0
DEVICE=ens32:0
ONBOOT=yes
IPADDR=192.168.10.21
PREFIX=24
GATEWAY=192.168.10.1
DNS1=202.106.0.20
:wq
[root@localhost ~]# ifup ens32:0
[root@localhost ~]# ifconfig ens32:0
ens32:0: flags=4163 mtu 1500
inet 192.168.10.21 netmask 255.255.255.0 broadcast 192.168.10.255
ether 00:0c:29:2a:25:be txqueuelen 1000 (Ethernet)
2)、调整/proc相应参数
对于DR群集模式来说,由于LVS负载调度器和各节点需要共用VIP地址,应关闭Linux内核的重定向参数响应。
[root@localhost ~]# vi /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens32.send_redirects = 0
:wq
3)、配置负载分配策略
[root@localhost ~]# ipvsadm -C ##清除原有策略
[root@localhost ~]# ipvsadm -A -t 192.168.10.21:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.10.21:80 -r 192.168.10.30:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.21:80 -r 192.168.10.40:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.21:80 -r 192.168.10.50:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.21:80 -r 192.168.10.60:80 -m -w 1
[root@localhost ~]# ipvsadm-save ##保存策略
[root@localhost ~]# systemctl enable ipvsadm

3、配置节点服务器
使用DR模式时,节点服务器也需要配置VIP地址,并调整内个的ARP响应参数以阻止更新VIP的mac地址,避免发生冲突。除此之外,web服务的配置与NAT方式类似。
1)、配置虚拟IP地址
在把每个节点服务器,同样需要具有VIP地址:192..168.10.21,但此地址仅用于发送web响应数据包的原地址,并不需要监听客户机的访问请求(改由调度器监听并分发),因此使用虚接lo:0来承载VIP地址,并未本机添加一条路由路径,将访问VIP的数据限制在本地,以避免通信紊乱。
[root@localhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-lo /etc/sysconfig/network-scripts/ifcfg-lo:0
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.10.21
NETMASK=255.255.255.255 ##注意子网掩码全为1
ONBOOT=yes
NAME=loopback
:wq
[root@localhost ~]# ifup ifcfg-lo:0
[root@localhost ~]# ifconfig lo:0
lo:0: flags=73 mtu 65536
inet 192.168.10.21 netmask 255.255.255.255
loop txqueuelen 1 (Local Loopback)
[root@localhost ~]# vi /etc/rc.local
/sbinroute add -host 192.168.10.21 dev lo:0 ##添加进去即可
:wq
[root@localhost ~]# route add -host 192.168.10.21 dev lo:0
2)、调整/proc响应
[root@localhost ~]# vi /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
:wq
3)、安装httpd,创建测试网页
[root@localhost ~]# yum -y install nfs-utils rpcbind httpd
[root@localhost ~]# mkdir -p /var/www/html
[root@localhost ~]# mount 192.168.10.70:/opt/wwwroot /var/www/html ##测试群集权重效果可以跳过
[root@localhost ~]# vi /var/www/html/index.html

LVS负载均衡群集--测试网页


:wq
4)、启用httpd服务
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
重复以上配置在其他节点服务器

4、测试LVS群集
可以安排多台测试机,使用浏览器从外网直接访问http://192.168.10.21直接可以看到真实服务器提供的网页文档,如:4台服务器的网页文档不一样,一可以试着多刷新几次,验证权重效果。
在LVS负载调度器中,通过查看节点状态可以观察当前负载分配的情况。
[root@localhost ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.10.10.10:80 rr
-> 192.168.10.30:80 Masq 1 1 0
-> 192.168.10.40:80 Masq 1 0 1
-> 192.168.10.50:80 Masq 1 0 1
-> 192.168.10.60:80 Masq 1 0 1