我的问题是主机节点和容器都有相同的“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。
简单地提高主机节点的限制,然后提高容器限制。