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 输出速率信息
相关推荐
(⊙o⊙)~哦29 分钟前
linux 解压缩
linux·运维·服务器
牧小七2 小时前
Linux命令---查看端口是否被占用
linux
最新小梦2 小时前
Docker日志管理
运维·docker·容器
鸡鸭扣3 小时前
虚拟机:3、(待更)WSL2安装Ubuntu系统+实现GPU直通
linux·运维·ubuntu
友友马3 小时前
『 Linux 』HTTP(一)
linux·运维·服务器·网络·c++·tcp/ip·http
千禧年@3 小时前
微服务以及注册中心
java·运维·微服务
重生之我在20年代敲代码3 小时前
HTML讲解(一)body部分
服务器·前端·html
清水白石0083 小时前
C++使用Socket编程实现一个简单的HTTP服务器
服务器·c++·http
记得开心一点嘛4 小时前
在Linux系统上使用Docker部署javaweb项目
linux·运维·docker
GG_Bond194 小时前
【项目设计】Facial-Hunter
服务器·人工智能