华子目录
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 |
输出速率 信息 |