LVS DR模式(直接路由模式)
DS:192.168.43.200
RS1:192.168.43.203
RS2:192.168.43.204
VIP:192.168.0.1
1.在DS端安装ipvsadm(如果源里面没有可以通过换源解决或者用编译方式安装)
yum install ipvsadm
2.在RS端都安装apache
忽略
3.在DS端创建一个副网卡配置VIP
第一种配置模式
[root@swarm ~]# cd /etc/sysconfig/network-scripts/ [root@swarm network-scripts]# cp ifcfg-ens33 ifcfg-ens33:1 [root@swarm network-scripts]# vi ifcfg-ens33:1 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes NAME=ens33:1 DEVICE=ens33:1 ONBOOT=yes IPADDR=192.168.0.1 NETMASK=255.255.255.0 [root@swarm ~]# ifup ens33:1
第二种配置模式
yum install net-tools
ifconfig ens33:1 192.168.0.1/24
ifup ens33:1
4.在所有RS端创建lo副网卡配置vip,然后定义内核参数,禁止响应对VIP的ARP广播请求(注意:是创建lo的副网卡,DR端不用修改内核参数)
[root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:o [root@localhost network-scripts]# vi ifcfg-lo:0 DEVICE=lo:0 IPADDR=192.168.0.1 NETMASK=255.255.255.255 #掩码32是为了不对外通信 ONBOOT=yes ifup lo:0
每台RS都要添加一条路由
roue add -host 192.168.0.1 dev lo:0
每台RS都要修改内核参数
方法一: echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 方法二: vi /etc/sysctl.conf net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.lo.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 net.ipv4.conf.lo.arp_announce = 2 sysctl -p
5.启动ipvsadm
ipvsadm --save > /etc/sysconfig/ipvsadm #先执行这条命令否则启动会失败
6.配置ipvsadm
ipvsadm -A -t 192.168.0.1:80 -s -wlc #创建集群服务用加权最小连接法 ipvsadm -a -t 192.168.0.1:80 -r 192.168.43.203 -g -w 1 #添加集群节点权重为1 ipvsadm -a -t 192.168.0.1:80 -r 192.168.43.204 -g -w 1 #添加集群节点权重为1
7.到这里DR模式就完成,记得启用apache测试
附:抑制arp
arptables -A IN -d 172.25.254.111 -j DROP
arptables -A OUT -s 172.25.254.111 -j mangle --mangle-ip-s 172.25.254.2
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步