专栏首页32位 or 64位:Apache CloudStack系统VM架构选择

32位 or 64位:Apache CloudStack系统VM架构选择

最近我和一些朋友讨论了一个关于CloudStack的问题:为什么现在CloudStack 4.3同时提供32位或64位系统虚拟机的选项。我提出了一个观点,并将其加入邮件列表的讨论中。我想很多人可能都会对此兴趣,所以把我的想法发表在这篇博文里。

对于后台来说,系统虚拟机提供的服务,如处理快照和图像模板,提供网络服务诸如负载平衡,通过代理控制台访问虚拟机等。这些服务向来都是由32位的软件提供的。这是因为32位的内存使用效率非常高,而且由于这些内存是可以横向扩展的,所以很容易实现系统的内存扩展。

但你只能选择一种 - 32位 or 64位 ?

我认为这取决于系统负载,(当然)你可能有不同的答案。某些虚拟机管理程序能在某种架构上更好地工作,某种特定的虚拟机管理程序可能会是一个因素;但忽略特定的虚拟机管理程序,让我们来检视一下你想要使用32位或者64位系统的原因。

32位:与64位相比,32位操作系统的内存使用效率非常高。 (例如,相同的信息通常在存储器中占用较少的空间)。但是32位系统存在最大内存限制。(我们知道32位系统最大寻址空间只有4GB) (是的,你可以使用32位内核的PAE来获得更多的可寻址内存,但是这样做会产生不少CPU开销 -——这会使得系统工作效率低下,因为这些内存都是虚拟化的)32位系统还会限制内核的最大可用内存。这实际上就是使用64位系统的动机——提升内核可用内存。由于虚拟机的功能之一是提供负载平衡,但为了给内核留下了宝贵的空间来做其他事情,conntrack内核模块具有连接的实际上限——大约250万个 。 CloudStack将HAProxy作为默认的虚拟机负载均衡软件,因此会使用到conntrack模块。当使用CloudStack的32位虚拟机实现负载平衡时,如果遇到很大网络数据流量,那么就会遇到内核内存上限的困扰。

64位:内存使用效率没有32位系统高,但是它支持配备更多的内存。实际上,在64位系统上,需要更多的内存来实现在32位系统上同样的功能。但是如果你的功能需要超过32位机器所能支持的功能上限,那么至少在64位系统上,你有条件可以选择这样做。

简而言之,如果你认为你可能需要利用到64位虚拟机提供的优势,即更大的内存,那你应该选择64位架构,但如果不需要那就应该默认使用32位系统虚拟机。

如果你想从dev@cloudstack.apache.org邮件列表中查看围绕此主题的原始讨论,请看这里:

http://markmail.org/message/i5kolazi5so52eon

本文的版权归 Sepmer Fi 所有,如需转载请联系作者。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 编程之书系列:如何选择一本合适的编程书

    [本文由John Paul Mueller撰写]

    Sepmer Fi
  • 以太坊开发实战(第1部分:智能合约)

    智能合约(smart contracts),ICOs, Mist, Metamask, Remix, geth, web3...如果您愿意花一点时间在以太坊的开...

    Sepmer Fi
  • Python NLTK 自然语言处理入门与例程

    那么 NLP 到底是什么?学习 NLP 能带来什么好处?

    Sepmer Fi
  • GitHub 热门:各大网站的 Python 爬虫登录汇总

    项目地址:https://github.com/CriseLYJ/awesome-python-login-model

    IT派
  • 用 Python 登录主流网站,我们的数据爬取少不了它

    项目地址:https://github.com/CriseLYJ/awesome-python-login-model

    机器之心
  • CSS命名规范之BEM-源自Yandex的CSS命名方法论

    BEM即块(Block)、元素(Element)、修饰符(modifier),是由著名的俄罗斯搜索引擎团队Yandex提出的一种前端命名方法论。BEM命名约定更...

    老九学堂-小师弟
  • CVPR2018 目标检测算法总览(最新的目标检测论文)

    CVPR2018上关于目标检测(object detection)的论文比去年要多很多,而且大部分都有亮点。从其中挑了几篇非常有意思的文章,特来分享,每篇文章都...

    朱晓霞
  • CVPR2018 目标检测算法总览(最新的目标检测论文)

    1、Cascaded RCNN 论文:Cascade R-CNN Delving into High Quality Object Detection 论文...

    机器学习AI算法工程
  • 【答疑释惑】最小存储单元是什么?

    学习编程,要从基础学起,bit和byte有很大区别,最主要别搞混。 ? bit是位,byte是字节。 有问题就问题,不要害羞,不要怕被笑话,最重要的搞清楚自己要...

    程序员互动联盟
  • 发布一个轻量级的滑块控件

    比系统自带的组件体积要小很多,而且支持进度条显示(在做播放器时,显示缓冲进度很有用哦),另外也支持三角形的音量调整显示 使用示例: package { imp...

    菩提树下的杨过

扫码关注云+社区

领取腾讯云代金券