上期文章我用nginx配置了负载均衡,nginx的负载均衡是7层架构,下面我向大家介绍的是四层架构的负载均衡LVS,LVS负载均衡有三种工作模式,NAT、DR、隧道模式,本次向大家介绍其中前两项工作模式。
在开始之前,我们先提前准备好一台NAT服务器(用最小化安装,再用MX连接防火墙...都需要关闭),两台web服务器(这里只用三台,实际环境下肯定会有更多的服务器,但是配置方式差不多)
VIP:客户端访问的IP地址,是虚拟的
DIP:是LVS服务器内部的IP地址
RIP:是真实的web服务器IP地址
LVS-NAT模式
第一步:在NAT服务器上先安装ipvsadm(因为VIP一端需要桥接模式,另一端DIP需要内网的连接方式,如果配置有问题可以去看我发的 ’桥接模式有问题如何做‘ 的文章 )
# yum install ipvsadm -y
第二步:先启动 ip_forward,然后配置VIP的地址和添加RIP到服务中
# vim /etc/sysctl.conf
net.ipv4.ip_forward=1 #开启转发模式
# ipvsadm -A -t VIP:port -s rr #采用轮询算法
#ipvsadm -a -t VIP:port -r RIP_01:port -m
#ipvsadm -a -t VIP:port -r RIP_02:port -m
# ipvdadm -L -n #查看是否配置成功
第三步:在web端配置网关
# route del default
# route add default gw VIP
最后修改宿主机中的hosts文件,劫持域名
第四步:测试一下自己的项目是否可以访问就可以了
LVS-DR模式
第一步:同样是先下载ipvsadm(这里的网络模式没有要求,都是可以读,建议再克隆一台新的服务器)
# yum install ipvsadm -y
第二步:配置好ipvsadm的IP地址,将VIP绑定在网卡上,用子接口绑定就可以,设置好路由
# ifconfig ens33:1 VIP broadcast VIP netmask 255.255.255.255 up
# route add -host VIP dev ens33:1
# ipvsadm -A -t VIP:port -s rr
# ipvsadm -a -t VIP:port -r RIP -g
# ipvsadm -a -t VIP:port -r RIP -g
第三步:在web端禁止ARP并同样在网卡上绑定VIP
在两台服务器上都要执行
# vim vip.sh
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
#source vip.sh
# ifconfig lo:0 VIP broadcast VIP netmask 255.255.255.255 up
# route add -host VIP dev lo:0