Openstack中子稳定性问题

我有一个相当简单的一个PoC OpenStack设置。 2个节点,都运行Nova,以及节点1上的所有其他节点。它运行CentOS 6,并使用RDO进行安装。 重要的是,我正在使用Neutron进行networkingbuild设,通过RDO文档为现有networkingbuild立了GRE租户networking 。

定期(我估计每隔几天)就会失去与Openvswitch(以及我的实例)的所有交stream。 我知道它是OVS,因为我可以通过SSH连接到节点2,然后通过它们的专用networking连接到节点1。 我在日志中看到的最有说服力的事情是:

unix:/var/run/openvswitch/db.sock: database connection failed (Protocol error) 

另外,OVS使用了大量的CPU(在我的16核心盒子上占了800%),当我尝试做一个干净的closures时,它永远不会发生,因为它不能杀死ovsdb-server。

我已经做了一些谷歌search,并发现一些旧的build议,基于旧的OpenStack发布人们有OVS /内核版本不匹配。 当我运行RDO的版本时,我认为我可以打折(除非红帽已经做了大量的工作)。

其他人看到这个? 有什么build议?

PS:不要告诉我重新编译Openvswitch,因为各种原因,不会在不久的将来发生。

你使用哪个版本的OpenStack,哪个版本的RDO回购? 我只是用这么小的细节来猜测,但看起来像你指出OpenvSwitch和你的内核的一个问题,一个失控的OVS过程。 可能与数据库或消息传递代理有关。

检查你的qpid日志:/ var / log / messages,在实例通信丢失时显示断开原因。 这可以揭示为什么可能存在消息断开连接以及是否由消息连接失败(外部/第三原因)引起; 或者反过来,由OVS断开引起(可能是OVS /内核构build问题)。

由于RDO是“…在RHEL 6.4上testing的”,所以我会使用CentOS 6.4的最低版本,而不是像你所说的那样使用6。 因为内核中包含了很多组件,所以更好地使用6.5,而不是按照RDO的要求进行修补。

如果没有您的configuration的日志和细节,代表您的其他故障排除是困难的,但是在您评估完这些之后,足以说明在GRE和MTU设置中已知的Neutronconfiguration挑战。

在任何情况下,对于一个成功的OpenStack构build(不pipe基本如何,都很复杂),您需要从OS,内核和OVS的支持和最新版本开始。 你怎么能确定你可以打折“OVS /内核版本不匹配”,你使用的是什么版本?

我build议你configuration最新的CentOS 6.5和RDO,然后重新发布,如果问题仍然存在(与更新的细节,日志文件等)另外在RDO论坛上: http : //openstack.redhat.com/forum/ ,那么你会获取您可能需要的发行版特定的详细信息。

编辑:检查dhcp.ini和dnsmaskconfiguration通过这些文章的MTU设置,显然1454应该是正确的访客实例运行GRE时: http ://bderzhavets.blogspot.com.au/2014/01/setting-up-two -physical-node-openstack.html https://ask.openstack.org/en/question/12499/forcing-mtu-to-1400-via-etcneutrondnsmasq-neutronconf-per-daniels/

不要忘记,根据您的内核和OVS版本,MTU和GRE可能仍然存在问题,所以请告知您有哪些版本并更新了您的post,以便您也可以帮助其他类似问题的人员。对于:

uname -a

rpm -qpi | grep openvswitch

当你正在进行20G的大型传输时,你也可以看看你的OVS GREstream程,并在相关的qrouter命名空间中运行一些tcpdumps,RDO的这个指南将帮助你,看看Joe Talerico在60分钟的双节点解释起: http : //www.youtube.com/watch?v= wEa_8ESxPAY& feature= share&t= 1h20s

最后你还需要检查你是不是受到通用接收卸载configuration作为每个岗位#24: https : //bugs.launchpad.net/neutron/+bug/1252900