1.部署lvs
DR
准备三台虚拟机 一台安装ipvsadm 两台安装http
添加一个vip地址
ip addr add 192.168.0.100/24 dev ens33
添加一个tcp服务
ipvsadm -A -t 192.168.0.100:80 -s rr
编写策略
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.207:80 -g
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.209:80 -g
访问会自动负载均衡
由于实在同一网络 访问 有可能会冲突 需要正确 对外宣称地址 屏蔽 192.168.0.100地址
两台 http主机 首先安装 arptables
使用命令 arptables -A INPUT -d 192.168.0.100 -j DROP
arptables -A OUTPUT -s 192.168.0.100 -j mangle --mangle-ip-s 192.168.0.207
这个策略会重启消失 我们要保存重启后依然存在
DR工作原理 client -> vs -> rs- > client
arptables 策略 优先级 高于 vs策略DR 缺点 及优化
如果后端 出现问题 直接 报错
解决办法 对后端 添加一个健康检测 安装 keepalived刷新ipvsadm 删除ip addr 策略
修改配置文件
重启服务
当 后端挂掉 健康检测 会自动 去除 访问也不会报错
如果 master节点错误 则还会无法访问 这时候 采取高可用 双主机 master
第二台主机 安装keepalived更改conf配置
完成后 重启服务 即使 主机1 挂掉 也可以正常访问
主机1开启后 会抢回master权利