最近我和一些人讨论了为什么现在有32位或64位虚拟机系统和云计算平台4.3的选择。我提供了一个答案,并链接到一些邮件列表进行讨论。我想这可能是随兴而发,所以我会在这简短的时间里记录一篇博文。
对于后台,虚拟机系统提供的服务,如:处理快照和图像模板。它提供网络服务,如:负载平衡,或代理控制台访问虚拟机。他们历来都是32位,这因为32位的内存使用效率非常高,而且由于这些内存是可以横向扩展的,很容易就可以启用另一块内存。
但你也可以有 - 你会选择哪一个?
根据工作量,您可能会有不同的回答。一个可能的因素是一些虚拟机系统可以更好地工作;但却忽略了自检你想要使用虚拟机系统的原因。相比较于64位,32位操作系统的内存使用效率非常高。 (例如,相同的信息通常占用较少的内存空间)。但是对内存是有限制(是的,你可以使用32位内核的PAE(物理地址扩展)来获得更多的可寻址内存,但是这样做需要相当多的CPU开销 ,因为这些所有都是虚拟化的,它使得效率低下),同时,32位的内核也有限制内核能够使用多少内存。实际上是64位虚拟机系统的用例演变而来的。由于其中一个虚拟机系统功能正在提供负载均衡服务,所以连接跟踪内核模块具有约250万个连接的实际限制 ,这样为内核留下了宝贵的空间来做其他事。 云计算平台将HAProxy(反向代理负载均衡器)作为默认的虚拟LB(负载均衡集群),然后再使用连接跟踪技术。其中在云计算平台的32位虚拟负载均衡器后面拥有大量被贩运的web属性可能会遇到这种限制。
64位:在内存使用效率方面一般;但是它可以解决更多的问题。实际上,你会倾向于需要更多内存来实现相同级别的功能。但是如果你需要比32位机器更进一步,那么至少你可以选择这样做。
简而言之,除非您想利用64位虚拟机系统为您提供的种种优势,否则您应该使用默认的32位虚拟机系统。
如果您想从dev@cloudstack.apache.org邮件列表中查看围绕此主题的原始讨论,请看这里: