公网客户机访问一个固定地址(vip),负载调度器收到请求,将请求转发到web服务器节点。节点收到请求后,直接将与客户机建立连接,不在经过调度器 要求源ip(客户机)与目标IP(vip)是不变的,怎么来调节呢? 解决思路 负载调度器开启子网口ens33:0,设vip地址 由于负载调度器和web节点需要共用一个vip地址,故还要关闭linux内核重定向参数响应 配置负载调度策略
1、配置环回口的子接口lo:0为vip地址 2、调整/proc响应参数,只响应只响应目的IP地址为接收网卡上的本地地址的arp请求,并且arp请求的源IP必须和接收网卡同网段。 3、尽量仅向该网卡回应与该网段匹配的ARP报文 4、安装httpd服务,挂载存储服务器的数据 5、存储服务器安装启动nfs共享服务,开放数据文件共享
一台调度器: VM1:20.0.0.100 二台WEB服务器集群池:20.0.0.31、20.0.0.32 一台NFS共享服务器:20.0.0.33
【1】配置虚拟IP地址(VIP)
cd /etc/sysconfig/network-scripts/ cp ifcfg-ens33 ifcfg-ens33:0 vi ifcfg-ens33:0 ##只要下面内容,其它删除 NAME=ens33:0 DEVICE=ens33:0 ONBOOT=yes IPADDR=20.0.0.101 ##虚拟地址,客户机是访问此地址的 NETMASK=255.255.255.255 ifup ifcfg-ens33:0 ifconfig【2】调整/proc响应参数 对于 DR 群集模式来说,由于 LVS 负载调度器和各节点需要共用 VIP 地址,应该关闭 Linux 内核的重定向参数响应 服务器不是一台路由器,那么它不会发送重定向,所以可以关闭该功能
vi /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 ##刷新参数,配置生效【3】配置负载分配策略
yum -y install ipvsadm ipvsadm -v modprobe ip_vs cat /proc/net/ip_vs ipvsadm -A -t 20.0.0.101:80 -s rr ipvsadm -a -t 20.0.0.101:80 -r 20.0.0.31:80 -g -w 1 ipvsadm -a -t 20.0.0.101:80 -r 20.0.0.32:80 -g -w 1 ipvsadm-save systemctl enable ipvsadm【1】配置虚拟IP地址
cd /etc/sysconfig/network-scripts/ cp ifcfg-lo ifcfg-lo:0 vi ifcfg-lo:0 DEVICE=lo:0 IPADDR=20.0.0.101 NETMASK=255.255.255.255 ONBOOT=yes ifup lo:0 ifconfig lo:0: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 20.0.0.101 netmask 255.255.255.255 loop txqueuelen 1000 (Local Loopback) vi /etc/rc.local /sbin/route add -host 20.0.0.101 dev lo:0 route add -host 20.0.0.101 dev lo:0【2】调整/proc响应参数
[root@localhost network-scripts]# 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 sysctl -p【3】安装httpd 挂载测试页
showmount -e 20.0.0.33 Export list for 20.0.0.33: /opt/51xit (everyone) /opt/52xit (everyone) yum -y install httpd mount 20.0.033:/opt/51xit /var/www/html/ vi /etc/fstab 20.0.0.33:/opt/51xit /var/www/html nfs defaults,_netdev 0 0 systemctl start httpd systemctl enable httpd即可测试,访问20.0.0.101,会自动轮询51xit和52xit