3、配置节点服务器
Web节点服务器1:ens33:192.168.94.152 lo:0 (VIP):192.168.94.188
Web节点服务器2:ens33:192.168.94.153 lo:0 (VIP):192.168.94.188
接下来是两台服务器相同的配置
(1)配置虚拟 IP 地址(VIP:192.168.94.188)
#此地址仅用做发送 Web 响应数据包的源地址,并不需要监听客户机的访问请求(改由调度器监听并分发)。 #因此使用虚接口 lo:0 来承载 VIP 地址,并为本机添加一条路有记录,将访问 VIP 的数据限制在本地,以避免通信紊乱。 vim /etc/sysconfig/network-scripts/ifcfg-lo:0 DEVICE=lo:0 IPADDR=192.168.94.188 NETMASK=255.255.255.255 ONBOOT=yes ifup lo:0 ifconfig lo:0 #设置临时的路由,重启失效;禁锢路由 route add -host 192.168.94.152 dev lo:0 #查看路由 route -n #开机自动添加路由,生产环境应该用这个 vim /etc/rc.local /sbin/route add -host 192.168.94.152 dev lo:0 chmod +x /etc/rc.d/rc.local
(2)调整内核的ARP 响应参数以阻止更新 VIP 的MAC 地址,避免发生冲突
vim /etc/sysctl.conf ...... net.ipv4.conf.lo.arp_ignore = 1 #系统只响应目的IP为本地IP的ARP请求 net.ipv4.conf.lo.arp_announce = 2 #系统不使用IP包的源地址来设置ARP请求的源地址,而选择发送接口的IP地址 net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 sysctl -p yum install -y nfs-utils rpcbind httpd systemctl start rpcbind systemctl enable rpcbind systemctl start httpd.service systemctl enable httpd.service 下面两个服务器设置有点不一样了 Web节点服务器1:ens33:192.168.94.151 lo:0 (VIP):192.168.80.188 showmount -e 192.168.94.152 mount.nfs 192.168.94.152:/opt/test1 /var/www/html echo 'this is test1 web!' > /var/www/html/index.html Web节点服务器2:ens33:192.168.94.152 lo:0 (VIP):192.168.94.188 showmount -e 192.168.94.152 mount.nfs 192.168.80.8:/opt/test2 /var/www/html echo 'this is test2 web!' > /var/www/html/index.html
4、配置负载调度器
负载调度器:192.168.94.19 lo:0 (VIP):192.168.94.188
(1)关防火墙,加载ip_vs模块
systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0 #加载ip_vs模块,并安装ipvsadm工具 modprobe ip_vs cat /proc/net/ip_vs yum install -y ipvsadm
(2)配置虚拟 IP 地址(VIP:192.168.94.188)
vim /etc/sysconfig/network-scripts/ifcfg-ens33:0 DEVICE=ens33:0 ONBOOT=yes IPADDR=192.168.94.188 NETMASK=255.255.255.255 ifup ens33:0 ifconfig ens33:0
(3)调整 proc 响应参数
#由于 LVS 负载调度器和各节点需要共用 VIP 地址,应该关闭Linux 内核的重定向参数响应,不充当路由器, vim /etc/sysctl.conf net.ipv4.ip_forward = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.ens33.send_redirects = 0 sysctl -p
(4)配置负载分配策略
ipvsadm-save > /etc/sysconfig/ipvsadm 或者 ipvsadm --save > /etc/sysconfig/ipvsadm systemctl start ipvsadm.service #清除原有策略 ipvsadm -C ipvsadm -A -t 192.168.94.188:80 -s rr ipvsadm -a -t 192.168.94.80:188 -r 192.168.94.152:80 -g #如果这里是隧道模式,直接将-g替换成-i即可 ipvsadm -a -t 192.168.94.188:80 -r 192.168.94.153:80 -g #查看节点状态,Route代表 DR模式 ipvsadm -ln
5、测试验证