华子目录
lvs命令介绍
lvs软件ipvsadm相关信息
- 程序包:
ipvsadm
- 服务名:
ipvsadm.service
- 主程序:
/usr/sbin/ipvsadm
- 规则保存工具:
/usr/sbin/ipvsadm-save
- 规则重载工具:
/usr/sbin/ipvsadm-restore
- 配置文件:
/etc/sysconfig/ipvsadm-config
ipvs调度规则文件:/etc/sysconfig/ipvsadm
ipvsadm命令
核心功能:
lvs集群服务器管理:增、删、改
- 集群服务中对
RS服务器的管理:增、删、改`
规则查看
lvs集群中的增删改
管理集群服务lvs中的增删改
增加
bash
复制代码
[root@lvs ~]# ipvsadm -A -t(tcp)|-u(udp)|-f(防护墙标签) \
> service-address (lvs集群地址) \
> [-s scheduler (调度算法)] \
> [-p [timeout]]
单个删除
bash
复制代码
#删除单个规则
[root@lvs ~]# ipvsadm -D -t|-u|-f service-address
全部删除
bash
复制代码
[root@lvs ~]# ipvsadm --C #清空所有规则
清空计数器
bash
复制代码
[root@lvs ~]# ipvsadm -Z [-t|u|f service-address] #清空指定的计数器数据
[root@lvs ~]# ipvsadm -Z #清空所有的计数器数据
修改
bash
复制代码
[root@lvs ~]# ipvsadm -E -t(tcp)|-u(udp)|-f(防护墙标签) \
> service-address (lvs集群地址) \
> [-s scheduler (调度算法)] \
> [-p [timeout]]
| 参数 |
说明 |
| -A |
添加 |
| -E |
修改 |
| -D |
删除 |
| -t |
tcp服务 |
| -u |
udp服务 |
| -s |
指定调度算法,默认为WLC。注意:rr调度算法对权重不生效,wrr算法对权重生效 |
| -p |
设置持久连接超时,持久连接可以理解为在同一个时间段同一个来源的请求调度到同一Realserver |
| -f |
firewall mask 火墙标记,是一个数字 |
| -S |
保存规则,等同于ipvsadm-save |
| -R |
重载,等同于ipvsadm-restore |
实例
bash
复制代码
[root@lvs ~]# ipvsadm -A -t 172.25.254.100:80 -s rr
[root@lvs ~]# ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.10:80 -m
[root@lvs ~]# ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.20:80 -m
[root@lvs ~]# ipvsadm -A -t 172.25.254.200:80 -s wrr
[root@lvs ~]# ipvsadm -a -t 172.25.254.200:80 -r 192.168.0.10:80 -m
[root@lvs ~]# ipvsadm -a -t 172.25.254.200:80 -r 192.168.0.20:80 -m
[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 172.25.254.100:80 rr
-> 192.168.0.10:80 Masq 1 0 0
-> 192.168.0.20:80 Masq 1 0 0
TCP 172.25.254.200:80 wrr
-> 192.168.0.10:80 Masq 1 0 0
-> 192.168.0.20:80 Masq 1 0 0
[root@lvs ~]# ipvsadm -Ln --rate
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port CPS InPPS OutPPS InBPS OutBPS
-> RemoteAddress:Port
TCP 172.25.254.100:80 0 1 1 63 100
-> 192.168.0.10:80 0 1 0 36 57
-> 192.168.0.20:80 0 0 0 27 43
TCP 172.25.254.200:80 0 0 0 0 0
-> 192.168.0.10:80 0 0 0 0 0
-> 192.168.0.20:80 0 0 0 0 0
[root@lvs ~]# ipvsadm -Ln --rate
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port CPS InPPS OutPPS InBPS OutBPS
-> RemoteAddress:Port
TCP 172.25.254.100:80 0 1 1 63 100
-> 192.168.0.10:80 0 1 0 36 57
-> 192.168.0.20:80 0 0 0 27 43
[root@lvs ~]# ipvsadm -Z #清空计数器
[root@lvs ~]# ipvsadm -Ln --rate
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port CPS InPPS OutPPS InBPS OutBPS
-> RemoteAddress:Port
TCP 172.25.254.100:80 0 0 0 0 0
-> 192.168.0.10:80 0 0 0 0 0
-> 192.168.0.20:80 0 0 0 0 0
bash
复制代码
[root@lvs ~]# ipvsadm -D -t 172.25.254.200:80
[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 172.25.254.100:80 rr
-> 192.168.0.10:80 Masq 1 0 1
-> 192.168.0.20:80 Masq 1 0 1
bash
复制代码
[root@lvs ~]# ipvsadm -D -f 66
bash
复制代码
[root@lvs ~]# ipvsadm -E -t 172.25.254.100:80 -s wrr
[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 172.25.254.100:80 wrr
-> 192.168.0.10:80 Masq 1 0 0
-> 192.168.0.20:80 Masq 1 0 0
bash
复制代码
[root@lvs ~]# ipvsadm -C
[root@lvs ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
ipvsadm-save等同于ipvsadm -S
bash
复制代码
[root@lvs ~]# ipvsadm -S
-A -t lvs:http -s rr
-a -t lvs:http -r 192.168.0.10:http -m -w 1
-a -t lvs:http -r 192.168.0.20:http -m -w 1
[root@lvs ~]# cat /etc/sysconfig/ipvsadm
[root@lvs ~]#
[root@lvs ~]# ipvsadm-save
-A -t lvs:http -s rr
-a -t lvs:http -r 192.168.0.10:http -m -w 1
-a -t lvs:http -r 192.168.0.20:http -m -w 1
[root@lvs ~]# cat /etc/sysconfig/ipvsadm
[root@lvs ~]#
- 保存规则
ipvsadm -S等同于ipvsadm-save
bash
复制代码
[root@lvs ~]# ipvsadm -S > /etc/sysconfig/ipvsadm
[root@lvs ~]# cat /etc/sysconfig/ipvsadm
-A -t lvs:http -s rr
-a -t lvs:http -r 192.168.0.10:http -m -w 1
-a -t lvs:http -r 192.168.0.20:http -m -w 1
#或者-n快速简单保存
[root@lvs ~]# ipvsadm -S -n > /etc/sysconfig/ipvsadm
[root@lvs ~]# cat /etc/sysconfig/ipvsadm
-A -t 172.25.254.100:80 -s rr
-a -t 172.25.254.100:80 -r 192.168.0.10:80 -m -w 1
-a -t 172.25.254.100:80 -r 192.168.0.20:80 -m -w 1
- 恢复策略(前提是:
/etc/sysconfig/ipvsadm文件中记录着策略)(所以-A添加的策略在内存中保存,-C删除了内存中的策略,通过ipvsadm -R 或ipvsadm-restore命令进行恢复)
bash
复制代码
[root@lvs ~]# ipvsadm -C #先清空
[root@lvs ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@lvs ~]# ipvsadm -R < /etc/sysconfig/ipvsadm
[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 172.25.254.100:80 rr
-> 192.168.0.10:80 Masq 1 0 0
-> 192.168.0.20:80 Masq 1 0 0
管理集群中RS的增删改
增加
bash
复制代码
[root@lvs ~]# ipvsadm -a -t(tcp)|-u(udp)|-f(防火墙标签) service-address (lvs集群地址) \
> -r server-address(RS的地址) [-g | -i| -m] (工作模式) \
> [-w weight](权重)
删除
bash
复制代码
[root@lvs ~]# ipvsadm -d -t|-u|-f service-address -r server-address
修改
bash
复制代码
[root@lvs ~]# ipvsadm -e -t(tcp)|-u(udp)|-f(防火墙标签) service-address (lvs集群地址) \
> -r server-address(RS的地址) [-g | -i| -m] (工作模式) \
> [-w weight](权重)
| 参数 |
说明 |
-a |
添加real server |
-e |
更改real server |
-t |
tcp协议 |
-u |
udp协议 |
-f |
防火墙标签,是一个数字 |
-r |
real server地址 |
-g |
直连路由模式 |
-i |
ip隧道模式 |
-m |
nat模式 |
-w |
设置权重 |
-Z |
清空计数器 |
-C |
清空lvs策略 |
-L |
查看lvs策略 |
-n |
不做解析 |
--rate |
输出速率信息 |