layout: post
title: IPVS命令
date: 2018-03-05
tags: [“Cluster services”,”软件服务”]


一、ipvsadm命令:

核心功能:
集群服务管理:增、删、改
集群服务的RS管理:增、删、改
查看
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 -S [-n] 保存
ipvsadm -a’e -t’u’f service-address -r server-address [options]
ipvsadm -d -t’u’f service-address -r server-address
ipvsadm -L’l [options]
ipvsadm -Z [-t’u’f service-address]

 

二、管理集群服务VS:增、改、删

增、改:
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

 

三、管理集群上的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:权重

四、保存及重载规则

保存:建议保存至/etc/sysconfig/ipvsadm
ipvsadm-save > /PATH/TO/IPVSADM_FILE
ipvsadm -S > /PATH/TO/IPVSADM_FILE
systemctl stop ipvsadm.service
重载:
ipvsadm-restore < /PATH/FROM/IPVSADM_FILE
ipvsadm -R < /PATH/FROM/IPVSADM_FILE
systemctl restart ipvsadm.servic

五、FireWall Mark转发

FWM:FireWall Mark
MARK target 可用于给特定的报文打标记 —set-mark value 其中:value 为十六进制数字
借助于防火墙标记来分类报文,而后基于标记定义集群服务;可将多个不同的应用使用同一个集群服务进行调度
实现方法:
在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]

六、持久连接

session 绑定:对共享同一组RS的多个集群服务,需要统一进行绑定,lvs sh算法无法实现

持久连接( lvs persistence )模板:实现无论使用任何调度算法,在一段时间内(默认360s ),能够实现将来自同一个地址的请求始终发往同一个RS

持久连接实现方式:

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

文档更新时间: 2018-12-20 10:45   作者:张尚