lvs命令介绍

华子目录

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中的增删改

增加
  • -A添加
bash 复制代码
[root@lvs ~]# ipvsadm -A -t(tcp)|-u(udp)|-f(防护墙标签) \
> service-address (lvs集群地址) \
> [-s scheduler (调度算法)] \
> [-p [timeout]] 
单个删除
  • -D删除
bash 复制代码
#删除单个规则
[root@lvs ~]# ipvsadm -D -t|-u|-f service-address
全部删除
  • -C全部删除
bash 复制代码
[root@lvs ~]# ipvsadm --C   #清空所有规则
清空计数器
bash 复制代码
[root@lvs ~]# ipvsadm -Z [-t|u|f service-address]   #清空指定的计数器数据
[root@lvs ~]# ipvsadm -Z     #清空所有的计数器数据
修改
  • -E删除
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
  • 删除172.25.254.200
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 -Ripvsadm-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增删改

增加
  • -a添加
bash 复制代码
[root@lvs ~]# ipvsadm -a -t(tcp)|-u(udp)|-f(防火墙标签) service-address (lvs集群地址) \
> -r server-address(RS的地址) [-g | -i| -m] (工作模式) \
> [-w weight](权重)
删除
  • -d删除
bash 复制代码
[root@lvs ~]# ipvsadm -d -t|-u|-f service-address -r server-address 
修改
  • -e修改
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 输出速率信息
相关推荐
未济19 小时前
linux 配置环境变量
linux
傲世仙尊19 小时前
目录即文件-Ext文件系统收尾篇
linux·c语言
虎头金猫19 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
_艾伦 耶格尔.21 小时前
进程间通信
linux
AI职业加油站21 小时前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
Liuqy-0521 小时前
Linux IO编程——静态库、动态库
linux
此冬歌咏1 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
彧azz1 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
-梅1 天前
linux(8) 软硬链接
linux·运维·服务器
Wang's Blog1 天前
Java 项目实战: 外卖平台-文件下载与ServletOutputStream回写浏览器
服务器·项目开发