一、NAT负载均衡
1.0 架构概况
作用 | IP地址 | 安装服务 | root密码 |
负载均衡器 | 192.168.13.10 | ipvsadm | aaabbb |
节点服务器1 | 192.168.13.20 | httpd | aaabbb |
节点服务器2 | 192.168.13.30 | httpd | aaabbb |
NFS资源存储器 | 192.168.13.40 | rpcbind/nfs | aaabbb |
1.1 NFS资源存储器
systemctl disable --now firewalld #关闭防火墙 setenforce 0 sed -i "7c SELINUX=disabled" /etc/sysconfig/selinux yum install -y rpcbind nfs #安装rpcbind/nfs服务 mkdir -p /opt/nfs/web1 /opt/nfs/web2 #准备两个分享的测试文件 chmod 777 /opt/nfs/web1 /opt/nfs/web2 echo 'this is test web1!' >/opt/nfs/web1/index.html echo 'this is test web2!' >/opt/nfs/web2/index.html cat >/etc/exports<<EOF /opt/nfs/web1 192.168.13.0/24(rw,sync,no_root_squash) /opt/nfs/web2 192.168.13.0/24(rw,sync,no_root_squash) EOF #分享目录 享受分享的IP地址 可读可写,可修改分享目录,root用户不降权 systemctl start rpcbind #启动rpcbind服务(必须必nfs先启动) systemctl start nfs #启动nfs服务 showmount -e #查看是否配置成功
1.2 节点服务器
systemctl disable --now firewalld #关闭防火墙 setenforce 0 sed -i "7c SELINUX=disabled" /etc/sysconfig/selinux yum install httpd -y #安装httpd网页服务 mount 192.168.13.40:/opt/nfs/web1 /var/www/html/ #挂载资源到本地 systemctl start httpd.service #启动httpd服务 sed -i "s/GATEWAY=\"192.168.13.2\"/GATEWAY=\"192.168.13.10\"/" /etc/sysconfig/network-scripts/ifcfg-ens33 systemctl restart network #将网关IP设置为负载均衡器的网关 #在节点服务器2重复此操作
1.3 配置负载均衡器
systemctl disable --now firewalldsystemctl disable --now firewalld #关闭防火墙 setenforce 0 sed -i "7c SELINUX=disabled" /etc/sysconfig/selinux cd /etc/sysconfig/network-scripts/ #添加ens35网卡,并配置好 cp ifcfg-ens33 ifcfg-ens35 vim ifcfg-ens35 ifdown ens35 && ifup ens35 vim /etc/sysctl.conf #开启路由转发功能,连同内外网 net.ipv4.ip_forward=1 sysctl -p iptables -t nat -A POSTROUTING -s 192.168.13.0/24 -o ens35 -j SNAT --to 12.0.0.1 #开启SNAT源地址转换功能,保护节点服务器IP地址 modprobe ip_vs #加载LVS内核模块 yum install ipvsadm -y #安装ipvsadm工具,并创建目录(必须先创建才能启动) ipvsadm-save >/etc/sysconfig/ipvsadm ipvsadm -C #清空所有原有调度策略 ipvsadm -A -t 12.0.0.1:80 -s rr #添加调度器 指定调度器IP/端口 指定调度算法 ipvsadm -a -t 12.0.0.1:80 -r 192.168.13.20:80 -m #添加节点服务器 指定调度器IP/端口 指定节点服务器IP/端口 指定集群模式 ipvsadm -a -t 12.0.0.1:80 -r 192.168.13.30:80 -m ipvsadm #启动调度策略 ipvsadm -ln #查看调度策略 ipvsadm-save >/etc/sysconfig/ipvsadm #保存现有调度规则,下次重启后,会自动加载该文件
二、DR负载均衡
2.1 部署共享资源
systemctl stop firewalld #关闭防火墙 setenforce 0 yum install -y rpcbind nfs #安装rpcbind/nfs服务 mkdir -p /opt/nfs/web1 /opt/nfs/web2 #准备两个分享的测试文件 chmod 777 /opt/nfs/web1 /opt/nfs/web2 echo 'this is test web1!' >/opt/nfs/web1/index.html echo 'this is test web2!' >/opt/nfs/web2/index.html vim /etc/exports /opt/nfs/web1 192.168.13.0/24(rw,sync,no_root_squash) /opt/nfs/web2 192.168.13.0/24(rw,sync,no_root_squash) #分享目录 享受分享的IP地址 可读可写,可修改分享目录,root用户不降权 systemctl start rpcbind #启动rpcbind服务(必须必nfs先启动) systemctl start nfs #启动nfs服务 showmount -e #查看是否配置成功
2.2 配置节点服务器
systemctl stop firewalld #关闭防火墙 setenforce 0 yum install -y httpd #安装网页服务 cd /etc/sysconfig/network-scripts #配置VIP地址 cp ifcfg-lo ifcfg-lo:0 vim ifcfg-lo:0 DEVICE=lo:0 #修改虚拟网卡VIP地址与调度器VIP地址一致 IPADDR=192.168.13.21 NETMASK=255.255.255.255 ifup lo:0 #启动虚拟网卡lp:0 route add -host 192.168.13.21 dev lo:0 #将VIP地址绑定到虚拟网卡上 vim /etc/rc.local #配置开机自动将VIP地址与虚拟网卡绑定 chmod +x /etc/rc.d/rc.local vim /etc/sysctl.conf net.ipv4.conf.lo.arp_ignore = 1 #本机只相应目的IP为物理网卡的ARP请求 net.ipv4.conf.lo.arp_announce = 2 #不使用数据包的源地址作为ARP的源地址,使用发送接口的IP作为ARP源地址 net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 sysctl -p mount 192.168.13.10:/opt/nfs/web1 /var/www/html #将nfs共享资源挂载到本地 #在节点服务器2重复此操作
2.3 配置负载均衡器
systemctl stop firewalld #关闭防火墙 setenforce 0 cd /etc/sysconfig/network-scripts #配置虚拟ens33:0网卡作为VIP地址 cp ifcfg-ens33 ifcfg-ens33:0 vim ifcfg-ens33:0 NAME="ens33:0" DEVICE="ens33:0" ONBOOT="yes" IPADDR="192.168.13.21" PREFIX="32" #注:子网掩码必须为32位 ifup ens33:0 ifconfig vim /etc/sysctl.conf net.ipv4.ip_forward = 0 #关闭路由转发功能 net.ipv4.conf.all.send_redirects = 0 #关闭icmp重定向 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.ens33.send_redirects = 0 sysctl -p #启动规则 modprobe ip_vs #加载LVS内核模块 yum install -y ipvsadm #安装ipvsadm工具,并创建目录(必须先创建才能启动) ipvsadm-save > /etc/sysconfig/ipvsadm systemctl start ipvsadm ipvsadm -C #清空所有原有调度策略,并配置新的调度策略 ipvsadm -A -t 192.168.13.21:80 -s rr ipvsadm -a -t 192.168.13.21:80 -r 192.168.13.30:80 -g ipvsadm -a -t 192.168.13.21:80 -r 192.168.13.40:80 -g ipvsadm #启动调度策略 ipvsadm -ln #查看调度策略 ipvsadm-save >/etc/sysconfig/ipvsadm #保存现有调度规则,下次重启后,会自动加载该文件 systemctl stop firewalld
三、思维导图
四、结语
思路:负载均衡主要是为了横向扩大服务器性能,加快处理速度,那么就要有调度器作为指挥官,节点服务器作为小兵,共享资源作为仓库。
易错点:DR模式与NAT模式不同,需要关闭路由转发功能,并且配置节点服务器的虚拟网卡IP地址与VIP地址保持一致,且配置ARP规则,防止出现广播紊乱。