1.对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势
NAT模式和DR模式的区别 两种模式都是实现负载均衡lvs的方法,NAT模式在包进入的时候在分发器上做了目的地址的mac转换,也就是DNAT,包回去的时候从哪进来的也要从哪里出去,这就造成了NAT模式在real server过多的时候造成了数据包在回去的时候都是从一个出口方向,也就造成了瓶颈。
DR模式在数据包进入的时候由分发器上把收到的数据包分派给架构下的real server来工作,而数据包在返回的时候没有经过分发器而直接发送给数据包的来源地址,这样就解决了数据包都从分发器上返回数据包的瓶颈,从而解决大量的用户访问。
2. 构建 LVS-DR 群集时,在调度器与节点服务器中的 /proc 参数调整有何区别?
DR群集模式:LVS负载调度器和节点需要共同VIP地址,应关闭Linux内核的重定向参数响应。
节点服务器:同样要有VIP地址,但此地址仅用作发送Web响应数据包的原地址,不需要监听客户机的访问请求(改由调度器监听毕分发)。
3.基于 CentOS 7 构建 LVS-DR 群集。
配置虚拟地址
nmcli con mod ens33 +ipv4.addresses 192.168.28.200/24
nmcli con up ens33
ipvsadm -A -t 192.168.28.200:80 -s rr
ipvsadm -a -t 192.168.28.200:80 -r 192.168.28.130:80
ipvsadm -a -t 192.168.28.200:80 -r 192.168.28.131:80
配置web服务器
yum install httpd -y
vim /var/www/html/index.html
systemctl start httpd
ifconfig lo:100 192.168.28.200 netmask 255.255.255.255
route add -host 192.168.28.200 dev lo
web1
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
web2
yum install https://rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/arptables-0.0.4-8.el7.x86_64.rpm
arptables -A INPUT -d 192.168.28.200 -j DROP
arptables -A OUTPUT -s 192.168.28.200 -j mangle --mangle-ip-s 192.168.28.131
arptables-save >/etc/sysconfig/arptables
systemctl restart arptables.service
4. 基于 CentOS 7 构建 LVS-NAT 群集。
开启路由转发
echo net.ipv4.ip_foward=1 >> /etc/sysctl.conf
调度器配置ipvsadm
[root@localhost ~]# ipvsadm -A -t 192.168.149.130:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.149.130:80 -r 192.168.28.130:80 -m
[root@localhost ~]# ipvsadm -a -t 192.168.149.130:80 -r 192.168.28.131:80 -m
进行测试: