OpenVZ容器 – 不能设置nf_conntrack_max

我的问题是主机节点和容器都有相同的“nf_conntrack_max”?

当我检查主机与容器这些是结果:

主机节点

[root@echo ~]# cat /proc/sys/net/netfilter/nf_conntrack_max 524288 

OpenVZ容器

 [root@delta ~]# cat /proc/sys/net/netfilter/nf_conntrack_max 65536 

但是,当我尝试和更改容器上的值我碰到几个问题。

这是我通常会增加在主机节点上工作完善的值。

 [root@echo ~]# echo 1524288 > /proc/sys/net/netfilter/nf_conntrack_max [root@echo ~]# [root@echo ~]# cat /proc/sys/net/netfilter/nf_conntrack_max 1524288 

同样的东西在容器上运行

 [root@delta ~]# echo 1524288 > /proc/sys/net/netfilter/nf_conntrack_max -bash: echo: write error: Invalid argument [root@delta ~]# cat /proc/sys/net/netfilter/nf_conntrack_max 65536 

我不明白的是为什么我有一个提高容器价值的问题。 主机节点和容器都运行Centos 6.6,并且我正在使用root。

编辑我试过在容器中运行sysctl -w net.netfilter.nf_conntrack_max=1524288 ,但似乎仍然有问题。

 [root@delta ~]# /sbin/sysctl -a|grep -i nf_conntrack_max net.netfilter.nf_conntrack_max = 65536 net.nf_conntrack_max = 65536 [root@delta ~]# sysctl -w net.netfilter.nf_conntrack_max=1524288 error: "Invalid argument" setting key "net.netfilter.nf_conntrack_max" 

我想你只需要在HN中设置conntrack并重新启动CT即可。

在一个容器中,你可以检查限制:

 # /sbin/sysctl -a|grep -i nf_conntrack_max net.netfilter.nf_conntrack_max = 2600000 net.nf_conntrack_max = 2600000 

设置(在容器中):

sysctl -w net.netfilter.nf_conntrack_max=32384

然而,最大值通常是以net.nf_conntrack_max值开始的。

虽然主机节点和容器具有单独的“nf_contract_max”值,但您无法将容器“nf_conntrack_max”提升到高于主机节点“nf_conntrack_max”。

例如; 如果您的主机节点的最大值为65536,则无法将容器最大值提高到65536。

简单地提高主机节点的限制,然后提高容器限制。