美文网首页
ipvsadm命令详解

ipvsadm命令详解

作者: iamChel | 来源:发表于2020-09-26 10:13 被阅读0次

    ipvsadm命令详解

    ipvsadm是ipvs的管理器,需要yum安装。

    LVS 相关软件

    程序包:ipvsadm Unit File: ipvsadm.service

    主程序:/usr/sbin/ipvsadm

    规则保存工具:/usr/sbin/ipvsadm-save

    规则重载工具:/usr/sbin/ipvsadm-restore

    配置文件:/etc/sysconfig/ipvsadm-config

    ipvs调度规则文件:/etc/sysconfig/ipvsadm

    ipvsadm 命令

    ipvsadm核心功能:

    1、集群服务管理:增、删、改
    2、集群服务的RS管理:增、删、改
    3、查看`
    

    ipvsadm 工具用法:

    #管理集群服务
    ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask]
    [--pe persistence_engine] [-b sched-flags]
    ipvsadm -D -t|u|f service-address #删除
    ipvsadm –C #清空
    ipvsadm –R #重载,相当于ipvsadm-restore
    ipvsadm -S [-n] #保存,相当于ipvsadm-save
    #管理集群中的RS
    ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight]
    ipvsadm -d -t|u|f service-address -r server-address
    ipvsadm -L|l [options]
    ipvsadm -Z [-t|u|f service-address]
    

    管理集群服务:增、改、删 增、修改:

    ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]]
    

    删除:

    ipvsadm -D -t|u|f service-address
     
    service-address:
    -t|u|f:
    -t: TCP协议的端口,VIP:TCP_PORT
    -u: UDP协议的端口,VIP:UDP_PORT
    -f:firewall MARK,标记,一个数字
    [-s scheduler]:指定集群的调度算法,默认为wlc
    ipvsadm
    

    管理集群上的RS:增、改、删 增、改:

    ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight]
    

    删:

    ipvsadm -d -t|u|f service-address -r server-address
     
    server-address:
    rip[:port] 如省略port,不作端口映射
    选项:
    lvs类型:
    -g: gateway, dr类型,默认
    -i: ipip, tun类型
    -m: masquerade, nat类型
    -w weight:权重
    

    清空定义的所有内容:

    ipvsadm -C
    

    清空计数器:

    ipvsadm -Z [-t|u|f service-address]
    

    查看:

    ipvsadm -L|l [options]
     
    --numeric, -n:以数字形式输出地址和端口号
    --exact:扩展信息,精确值
    --connection,-c:当前IPVS连接输出
    --stats:统计信息
    --rate :输出速率信息
    

    ipvs规则:

    /proc/net/ip_vs
    

    ipvs连接:

    /proc/net/ip_vs_conn
    

    保存:建议保存至/etc/sysconfig/ipvsadm

    ipvsadm-save > /PATH/TO/IPVSADM_FILE
    ipvsadm -S > /PATH/TO/IPVSADM_FILE
    systemctl stop ipvsadm.service #会自动保存规则至/etc/sysconfig/ipvsadm
    

    重载:

    ipvsadm-restore < /PATH/FROM/IPVSADM_FILE
    systemctl start ipvsadm.service #会自动加载/etc/sysconfig/ipvsadm中规则
    

    防火墙标记

    FWM:FireWall Mark MARK target 可用于给特定的报文打标记 --set-mark value 其中:value 可为0xffff格式,表示十六进制数字 借助于防火墙标记来分类报文,而后基于标记定义集群服务;可将多个不同的应用使用同一个集群服务 进行调度 实现方法: 在Director主机打标记:

    iptables -t mangle -A PREROUTING -d $vip -p $proto -m multiport --dports
    $port1,$port2,… -j MARK --set-mark NUMBER
    

    在Director主机基于标记定义集群服务:

    ipvsadm -A -f NUMBER [options]
    

    范例:

    [root@lvs ~]#iptables -t mangle -A PREROUTING -d 172.16.0.100 -p tcp -m
    multiport --dports 80,443 -j MARK --set-mark 10
    [root@lvs ~]#ipvsadm -C
    [root@lvs ~]#ipvsadm -A -f 10 -s rr
    [root@lvs ~]#ipvsadm -a -f 10 -r 10.0.0.7 -g
    [root@lvs ~]#ipvsadm -a -f 10 -r 10.0.0.17 -g
    [root@lvs ~]#ipvsadm -Ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    FWM 10 rr
    -> 10.0.0.7:0 Route 1 0 0
    -> 10.0.0.17:0 Route 1 0 0
    [root@lvs ~]#cat /proc/net/ip_vs
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    FWM 0000000A rr
    -> 0A000011:0000 Route 1 0 9
    -> 0A000007:0000 Route 1 0 9
    

    范例:

    [root@lvs ~]#ipvsadm -A -f 10
    [root@lvs ~]#ipvsadm -a -f 10 -r 10.0.0.7 -g
    [root@lvs ~]#ipvsadm -a -f 10 -r 10.0.0.17 -g
    [root@lvs ~]#ipvsadm -Ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    FWM 10 wlc
    -> 10.0.0.7:0 Route 1 0 0
    -> 10.0.0.17:0 Route 1 0 0
    
    [root@LVS ~]#cat /proc/net/ip_vs
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    TCP AC14C8C8:0050 rr
    -> 0A000011:0050 Masq 1 0 0
    -> 0A000007:0050 Masq 1 0 0
    
    

    LVS 持久连接

    session 绑定:对共享同一组RS的多个集群服务,需要统一进行绑定,lvs sh算法无法实现 持久连接( lvs persistence )模板:实现无论使用任何调度算法,在一段时间内(默认360s ),能够 实现将来自同一个地址的请求始终发往同一个RS

    ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]]

    持久连接实现方式:

    1、每端口持久(PPC):每个端口定义为一个集群服务,每集群服务单独调度
    2、每防火墙标记持久(PFWMC):基于防火墙标记定义集群服务;可实现将多个端口上的应用统一调度,即所谓的port Affinity
    3、每客户端持久(PCC):基于0端口(表示所有服务)定义集群服务,即将客户端对所有应用的请求都调度至后端主机,必须定义为持久模式
    

    范例:

    [root@lvs ~]#ipvsadm -E -f 10 -p
    [root@lvs ~]#ipvsadm -Ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    FWM 10 wlc persistent 360
    -> 10.0.0.7:0 Route 1 0 15
    -> 10.0.0.17:0 Route 1 0 7
    [root@lvs ~]#ipvsadm -E -f 10 -p 3600
    [root@lvs ~]#ipvsadm -Ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    FWM 10 wlc persistent 3600
    -> 10.0.0.7:0 Route 1 0 79
    -> 10.0.0.17:0 Route 1 0 7
    
    [root@lvs ~]#cat /proc/net/ip_vs_conn
    Pro FromIP FPrt ToIP TPrt DestIP DPrt State Expires PEName PEData
    TCP C0A80006 C816 AC100064 01BB 0A000011 01BB FIN_WAIT 67
    TCP C0A80006 C812 AC100064 01BB 0A000011 01BB FIN_WAIT 67
    TCP C0A80006 9A36 AC100064 0050 0A000011 0050 FIN_WAIT 65
    TCP C0A80006 C806 AC100064 01BB 0A000011 01BB FIN_WAIT 65
    TCP C0A80006 9A3E AC100064 0050 0A000011 0050 FIN_WAIT 66
    TCP C0A80006 C81A AC100064 01BB 0A000011 01BB FIN_WAIT 67
    TCP C0A80006 C80A AC100064 01BB 0A000011 01BB FIN_WAIT 66
    TCP C0A80006 9A3A AC100064 0050 0A000011 0050 FIN_WAIT 66
    TCP C0A80006 9A4E AC100064 0050 0A000011 0050 FIN_WAIT 68
    TCP C0A80006 9A42 AC100064 0050 0A000011 0050 FIN_WAIT 67
    TCP C0A80006 9A46 AC100064 0050 0A000011 0050 FIN_WAIT 67
    TCP C0A80006 C81E AC100064 01BB 0A000011 01BB FIN_WAIT 68
    IP C0A80006 0000 0000000A 0000 0A000011 0000 NONE 948
    TCP C0A80006 C80E AC100064 01BB 0A000011 01BB FIN_WAIT 66
    TCP C0A80006 9A4A AC100064 0050 0A000011 0050 FIN_WAIT 67
    
    [root@lvs ~]#ipvsadm -Lnc
    IPVS connection entries
    pro expire state source virtual destination
    TCP 00:46 FIN_WAIT 192.168.0.6:51222 172.16.0.100:443 10.0.0.17:443
    TCP 00:46 FIN_WAIT 192.168.0.6:51218 172.16.0.100:443 10.0.0.17:443
    TCP 00:45 FIN_WAIT 192.168.0.6:39478 172.16.0.100:80 10.0.0.17:80
    TCP 00:45 FIN_WAIT 192.168.0.6:51206 172.16.0.100:443 10.0.0.17:443
    TCP 00:46 FIN_WAIT 192.168.0.6:39486 172.16.0.100:80 10.0.0.17:80
    TCP 00:47 FIN_WAIT 192.168.0.6:51226 172.16.0.100:443 10.0.0.17:443
    TCP 00:45 FIN_WAIT 192.168.0.6:51210 172.16.0.100:443 10.0.0.17:443
    TCP 00:45 FIN_WAIT 192.168.0.6:39482 172.16.0.100:80 10.0.0.17:80
    TCP 00:47 FIN_WAIT 192.168.0.6:39502 172.16.0.100:80 10.0.0.17:80
    TCP 00:46 FIN_WAIT 192.168.0.6:39490 172.16.0.100:80 10.0.0.17:80
    TCP 00:46 FIN_WAIT 192.168.0.6:39494 172.16.0.100:80 10.0.0.17:80
    TCP 00:47 FIN_WAIT 192.168.0.6:51230 172.16.0.100:443 10.0.0.17:443
    IP 15:27 NONE 192.168.0.6:0 0.0.0.10:0 10.0.0.17:0
    TCP 00:46 FIN_WAIT 192.168.0.6:51214 172.16.0.100:443 10.0.0.17:443
    TCP 00:47 FIN_WAIT 192.168.0.6:39498 172.16.0.100:80 10.0.0.17:80
    

    相关文章

      网友评论

          本文标题:ipvsadm命令详解

          本文链接:https://www.haomeiwen.com/subject/zksfuktx.html