LVS-DR 负载均衡集群搭建

it2025-02-09  12

##案列:LVS-DR 负载均衡集群搭建####

要求

公网客户机访问一个固定地址(vip),负载调度器收到请求,将请求转发到web服务器节点。节点收到请求后,直接将与客户机建立连接,不在经过调度器 要求源ip(客户机)与目标IP(vip)是不变的,怎么来调节呢? 解决思路 负载调度器开启子网口ens33:0,设vip地址 由于负载调度器和web节点需要共用一个vip地址,故还要关闭linux内核重定向参数响应 配置负载调度策略

web服务器节点

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

###在调度器配置:20.0.0.100######

【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

###配置存储服务器:20.0.0.33####

yum -y install rpcbind nfs-utils systemctl start rpcbind systemctl start nfs vim /etc/exports /opt/51xit 20.0.0.0/24 (rw,sync.no_root_squash) #root用户不降权 /opt/52xit 20.0.0.0/24 (rw,sync) systemctl restart rpcbind systemctl restart nfs systemctl enable rpcbind systemctl enable nfs mkdir /opt/51xit /opt/52xit echo "this is 51xit" >/opt/51xit/index.html echo "this is 52xit" >/opt/52xit/index.html

###配置节点服务器:20.0.0.31 20.0.0.32#### 配置过程相同,就注意ip地址以及挂载路径不同即可

【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

最新回复(0)