我们有一个CentOS服务器运行一个虚拟集群。 偶尔集群的内部networking出现一分钟左右……然后回来。 这个问题在某种程度上与实际的networkingstream量有关,但这不是一个简单的负载问题。 (系统一般轻载,无论实际负载如何都会出现问题。)
设置:
系统有一个外部可见的IP地址,而Dom0运行一个configuration了许多虚拟主机的Apache httpd,每个虚拟主机反向代理运行在虚拟机上的Web服务器。 (这些虚拟机必须是NAT的,主要是因为我们没有足够的公共IP地址。)
症状:
这是100%可重复的。
我们已经尝试过了:
我已经用尽了所有的select,除了切换到KVM …或屠杀更多的公鸡。
有什么build议么?
我们最终确实发现了这个问题。 事实certificate,这是由我们的虚拟networkingconfiguration中的问题引起的。 出于某种原因,我再也不能记住了,特定下载的networkingstream量正在通过虚拟networking进行额外的循环。 当一个用户试图上传一个大文件时,下载就是把所有可用的内核networkingcachingclosures。 这导致整个networking冻结…直到超时,这一切都没有受到伤害。
对不起,这有些含糊,但是可能会为遇到类似问题的人提供一些提示。
也许有一些networking线程连接虚拟主机,上传大文件最终占用他们所有的人,其余的都失去了信号。 我没有其他的猜测。 抱歉。
您可以看看内存过度使用和/或交换configuration。 如果两者中的任何一个都“被调整”,那么大型file upload可能是pipe理这些资源的触发器 – 导致在pipe理完成之前不可用。
你确定你没有MAC地址冲突吗?
这只是一个疯狂的猜测,但是如果一个人复制Xen domUconfiguration文件,却很容易发生,但忘记在每个domU和接口中将MAC更改为唯一的。 我已经看到这个奇怪的networking问题,偶尔所有连接丢失了60秒。