1、地址转换模式(LVS-NAT)
(1)按下图要求部署网络。Client使用宿主机,其他四台为linux服务器,将所有linux服务器的防火墙关闭。web1和web2需要配置默认网关192.168.1.1
(2)Lvs服务器:开启路由转发功能。群集的虚拟服务器的IP地址为200.0.0.1,服务器节点的地址为:192.168.1.2和192.168.1.3
开启地址转发
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
配置负载策略
modprobe ip_vs (启动lvs功能)
yum -y install ipvsadm
ipvsadm -C (清除原有策略)
ipvsadm -A -t 200.0.0.1:80 -s rr
ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.2:80 -m -w 1
ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.3:80 -m -w 1
(为服务器200.0.0.1:80添加两个节点)
ipvsadm-save (保存策略)
systemctl enable ipvsadm
ipvsadm -ln (查看节点状态)
(3)在web1和web2服务器配置httpd服务,网页目录为/var/www/html,为测试效果,两台服务器的网页内容不一样。
yum -y install httpd
vim /var/www/html/index.html
<h1>aaaaaa<h1> (web1配置)
<h1>bbbbbb<h1> (web2配置)
systemctl restart httpd
systemctl enable httpd
(4)在客户端测试访问群集的虚拟服务器IP地址,验证是否能够看到两台web服务器的网页,实现负载均衡的功能
(5)nfs:在实际企业中,两台web服务器对应的网页来自于nfs服务器。所以在nfs服务器上部署nfs共享存储服务,网页存放在/var/www/html下。两台web服务器挂载nfs共享目录,并最后配置自动挂载。
设置共享目录
systemctl enable nfs
systemctl enable rpcbind
mkdir -p /opt/wwwroot
vim /etc/exports
/opt/wwwroot 192.168.2.0/24(rw,sync,no_root_squash)
启动NSF服务
systemctl restart rpcbind
systemctl restart nfs
netstat -anpu | grep rpcbind
showmount -e
echo 111111111 > /opt/wwwroot/index.html
在两台web服务器上配置临时挂载与永久挂载
systemctl restart rpcbind
systemctl enable rpcbind
showmount -e 192.168.2.1
mount 192.168.2.1:/opt/wwwroot /var/www/html (临时挂载)
vim /etc/fstab (永久挂载)
192.168.2.1:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0
(6)在客户端测试访问群集的虚拟服务器IP地址,验证是否能看到nfs服务器发布的网页。
2、直接路由模式(LVS-DR)
(1) 实现LVS-DR负载均衡群集
(2)在LVS服务器上配置负载调度器
配置虚拟IP地址
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0
vim ifcfg-ens33:0
NAME=ens33:0
DEVICE=ens33:0
IPADDR=200.0.0.254
ifup ens33:0
关闭ICMP重定向
vim /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
sysctl -p
配置负载分配策略
modprobe ip_vs
yum -y install ipvsadm
ipvsadm -C
ipvsadm -A -t 200.0.0.254:80 -s rr
ipvsadm -a -t 200.0.0.254:80 -r 200.0.0.2 -g -w 1
ipvsadm -a -t 200.0.0.254:80 -r 200.0.0.3 -g -w 1
systemctl enable ipvsadm
ipvsadm -ln
(2)在两台web上配置节点服务器
cd /etc/sysconfig/network-scripts
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=200.0.0.254
NETMASK=255.255.255.255
ONBOOT=yes
ifup lo:0
vim /etc/rc.local
/sbin/route add -host 200.0.0.254 dev lo:0
route add -host 200.0.0.254 dev lo:0
关闭部分ARP应答
vim /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
sysctl -p
安装HTTP 创建测试网页
yum -y install httpd
vim /var/www/html/index.html
<h1>1111111<h1> (web1配置)
<h1>2222222<h1> (web2配置)
systemctl restart httpd
systemctl enable httpd
(3)参考上面NFS配置
(4)客户端访问群集IP200.0.0.254