阿里开发的LVS-MASTER分支问题

有在用LVS-fullnat的吗?请教一个问题,为何同样的环境,从git上下载的master分支无法工作,而V2版本可以工作?是否是master需要配置网卡flow director?这个我没看到阿里写在用户手册里呀!真心求教

Forums:

是的,而且master分支不支持NAT模式,且需求网卡支持fdir
master分支要配置fdir把local addr的低字节取模分配到cpu上去
for i in `seq 2 254`
do
let "queue = $i % $CPUS"
ethtool -U eth0 flow-type ip4 dst-ip 192.168.100.$i action $queue
done

有pull request开发了rps可以不用配置fdir,当然性能要差,见https://github.com/alibaba/LVS/pull/9

多谢您的解答。

另外,是配置local addr ip?而不是virtual ip?这就很奇怪了,一般来说,local addr不是只有一个吗?
那这个CPU均衡负载就没什么意义了吧。

virtual ip靠网卡rss负载均衡,fdir确保回包在同一个核上

local addr一个怎么够,端口只有65535个

谢谢解答。恕在下愚钝,这local addr难道不是指的本机地址吗?好比原来有一台服务器,内网地址是10.10.10.10;外网网卡没配置ip。现在利用了lvs做负载均衡,那也只是给它配置一些虚拟IP用作转发,比如加一个virtual ip:10.10.10.11 转发到后台服务器。local addr不还是只有原来那个10.10.10.10吗?后面业务增加,也是如上面那样多配置一些vip而已。

LVS FULLNAT模式使用local addr做SNAT,建议看下阿里LVS的文档,github和官网都有,https://github.com/alibaba/LVS/tree/master/docs

多谢耐心解答,看完文档,大致了解了!

不好意思,再次请教。我按照您给的脚本,把CPUS换成了32(32核的处理器)。相应的把local ip网段换了。local ip实际上在我这里我只配置了一个。从原理上来说,即便只有一个local ip,配置完flow director依然是可以工作的。但是我配置完keepalived后,发现包可以到达LVS,却无法转发到后台服务器。这难道还要一些另外的配置吗?我就是按照官方的配置来的。在V2的内核上是可以工作的。我查看了ethtool规则,应该是配置上去了。

一个不够,要保证每个核分配到一个local ip