ipvs是集成与内核空间的,用户无法直接操作,因此需要借助管理工具ipvsadm,通过定义规则使得ipvs工作,类似于iptables。同样该工具可以借助yum安装和源码安装。
常用选项:
-A --add-server 新加一条虚拟服务器记录
-E --edit-server 编辑虚拟服务器记录
-D --delete-server 删除一条虚拟服务器记录
-C --clear 清空所有的虚拟服务器记录
-S --save 保存虚拟服务器规则
-R --restore 恢复虚拟服务器规则,从-S保存的规则中恢复
-t --tcp-service 表示tcp服务,指虚拟服务器
-u --udp-service 表示udp服务,指虚拟服务器
-s --schedule 使用的调度算法
rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq the default scheduler is wlc
-p 代表持久连接
-f 代表防火墙的标记
例子:
ipvsadm -A -t 192.168.239.129:80 -s wlc
ipvsadm -E -t 192.168.239.129:80 -s rr
ipvsadm -S > /etc/sysconfig/ipvsadm
ipvsadm -R < /etc/sysconfig/ipvsadm
-a 添加一条新的真实主机记录
-r 添加真实主机的地址
-m 指定LVS的工作模式为NAT
-w 指定真实服务器的权值
-g 指定LVS的工作模式为DR(默认)
-i 指定LVS的工作模式为TUN
例子:
ipvsadm -a -t 192.168.239.129:80 -r 192.168.239.130 -m -w 1
-e 编辑一条虚拟服务器记录中的某条真实服务器
-d 删除一条虚拟服务器记录中的某条真实服务器
-L|-l 列出所有的虚拟服务器记录
-Z 清空当前的连接数(-l会显示虚拟服务器中连接数量)
例子:
ipvsadm -e -t 192.168.239.129:80 -r 192.168.239.130 -g -w 3
ipvsadm -d -t 192.168.239.129:80 -r 192.168.239.230
LVS-DR模型
环境拓扑:
LVS 192.168.239.250 调度器
Web1 192.168.239.129 RS
Web2 192.168.239.133 RS
前端负载均衡器的配置:
# 配置VIP至网卡别名
[root@LVS ~]# ifconfig eth0:0 192.168.239.250 netmask 255.255.255.0 up
# 定义LVS规则
[root@LVS ~]# ipvsadm -A -t 192.168.239.250:80 -s wrr
[root@LVS ~]# ipvsadm -a -t 192.168.239.250:80 -r 192.168.239.129:80 -g -w 1
[root@LVS ~]# ipvsadm -a -t 192.168.239.250:80 -r 192.168.239.133:80 -g -w 2
[root@LVS ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.239.250:80 wrr
-> 192.168.239.129:80 Route 1 0 0
-> 192.168.239.133:80 Route 2 0 0
后端RS的配置(两台RS的配置过程一样,下面仅以Web1为例):