部署架构:
IP 角色
192.168.16.135 负载均衡服务器 director
192.168.16.136 真实服务器 real server(已安装nginx)
192.168.16.137 真实服务器 real server(已安装nginx)
VIP为192.168.16.188(VIP为对外提供的IP,并不是真实物理IP)
部署过程:
1.director上配置:
#由于内核已集成ipvs模块,只需要安装ipvsadm即可
apt-get install ipvsadm
#在director上建立一个虚拟的ip地址进行消息广播
ifconfig eth0:0 192.168.16.188 netmask 255.255.255.0 broadcast 192.168.16.188
#将虚拟地址添加到路由表
route add -host 192.168.16.188 dev eth0:0
#此指令暂没发现有啥用处
echo "1">/proc/sys/net/ipv4/ip_forward
#使用ipvsadm安装LVS服务
ipvsadm -A -t 192.168.16.188:80 -s rr
#增加真实服务器
ipvsadm -a -t 192.168.16.188:80 -r 192.168.16.136 -g
ipvsadm -a -t 192.168.16.188:80 -r 192.168.16.137 -g
真实服务器
ifconfig lo:0 192.168.16.188 netmask 255.255.255.255 broadcast 192.168.16.188 up
route add -host 192.168.16.188 dev lo:0
echo "1">/proc/sys/net/ipv4/ip_forward
用到的相关命令
查看版本
ipvsadm -v
查看是否已加载进内核模块中
lsmod | grep ip_vs
#查看lvs规则
ipvsadm -L -n
#查看连接情况
ipvsadm -L -c
配置LVS VIP服务
说明:-A是添加一条虚拟服务器记录,即VIP。此处配置要选择算法
ipvsadm -A -t 192.168.16.188 -s wrr -p 300 #代理转发所有去往该IP TCP的报文,-s指定算法wrr为加权轮询算法,-p会话保持时间(默认值是300s)
ipvsadm -A -t 192.168.16.188:80 -s wrr -p 20 #代理转发去往该IP TCP80端口的报文
ipvsadm -A -t 192.168.16.188:3306 -s wrr -p 20
VIP维护
使用-E修改VIP设置
例:ipvsadm -E -t 192.168.16.188 -s wrr -p 40 #可修改会话保持时间与算法。
使用-D删除VIP设置
例:ipvsadm -D -t 192.168.16.188 #删除该条VIP
说明:以上配置系统重启以后无效,需重新配置一遍
参考:https://www.linuxidc.com/Linux/2016-12/138108.htm