中小企业web服务器的的负载均衡集群方案设计+脚本代码(20)
时间:2018-11-20 09:25 来源:毕业论文 作者:毕业论文 点击:次
而后重新载入nginx的配置文件: #service nginx reload 4.3.5配置DR模型实现LVS ipvs (1)首先判断内核是否支持ipvs #grep -i "vs" /boot/config-$(uname -r) 出现IP_VS字样并且不是注释信息表明内核支持ipvs (2)安装ipvsadm包 配置好yum源 #yum install ipvsadm (3)ipvsadm组件定义规则的格式: 1.定义集群服务格式: 添加集群服务: ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] -A: 表示添加一个新的集群服务 -E: 编辑一个集群服务 -t: 表示tcp协议 -u: 表示udp协议 -f: 表示firewall-Mark,防火墙标记 service-address: 集群服务的IP地址,即VIP -s 指定调度算法 -p 持久连接时长,如#ipvsadm -Lcn ,查看持久连接状态 -M 定义掩码 ipvsadm -D -t|u|f service-address 删除一个集群服务 ipvsadm -C 清空所有的规则 ipvsadm -R 重新载入规则 ipvsadm -S [-n] 保存规则 b.向集群服务添加RealServer规则: .添加RealServer规则 ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight] -a 添加一个新的realserver规则 -e 编辑realserver规则 -t tcp协议 -u udp协议 -f firewall-Mark,防火墙标记 service-address realserver的IP地址 -g 表示定义为LVS-DR模型 -i 表示定义为LVS-TUN模型 -m 表示定义为LVS-NAT模型 -w 定义权重,后面跟具体的权值 ipvsadm -d -t|u|f service-address -r server-address 删除一个realserver ipvsadm -L|l [options] 查看定义的规则 如:#ipvsadm -L -n ipvsadm -Z [-t|u|f service-address] 清空计数器 (4)ipvsadm的使用简单使用 director:DIP:eth0 192.168.1.20/24 VIP:eth0:1 192.168.1.19/24 / / 推荐此配置,也可以配置在lo的别名网卡上lo:0 realS_1: RIP: eth0 192.168.1.21/24 VIP: lo:0 192.168.1.19/24 realS_2: RIP: eth0 192.168.1.22/24 VIP: lo:0 192.168.1.19/24 (a)先在3台机器上安装ipvs. #yum install ipvsadm director #ifconfig eth0:1 192.168.1.19 broadcast 192.168.1.19 netmask 255.255.255.255 up #route add -host 192.168.1.19 dev eth0:1 #echo 1 > /proc/sys/net/ipv4/ip_forward # iptables -F # iptables -Z # ipvsadm -C # ipvsadm -A -t 192.168.1.19:80 -s wlc # ipvsadm -a -t 192.168.1.19:80 -r 192.168.1.21 -g -w 1 # ipvsadm -a -t 192.168.1.19:80 -r 192.168.1.22 -g -w 2 (b)在realS_1和realS_2上进行的配置 #echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore #echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce #echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore #echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce #ifconfig lo down #ifconfig lo up 重启lo,使暂时性的对lo网卡的配置失效 #ifconfig lo:0 192.168.1.19 broadcast 192.168.1.19 netmask 255.255.255.255 up #route add -host 192.168.1.19 dev lo:0 将接收目标地址是VIP的数据包送给lo:0网卡,lo:0将数据包解封装,处理,并重新封装,重新封装后的源IP就是lo:0,并从此网卡发送出去 (责任编辑:qin) |