【问题标题】:Hyper-V, VMware ESX and custom power managementHyper-V、VMware ESX 和自定义电源管理
【发布时间】:2010-03-04 13:27:53
【问题描述】:

在一个涉及虚拟化和电源管理的研究项目中,我正在测试各种资源分配方案和自定义电源管理算法。我有兴趣隔离虚拟机以仅使用某个 CPU 内核。

我正在考虑使用 Windows 2008R2 和 Hyper-V,但 Hyper-V 不允许为虚拟机设置 CPU 亲和性,有什么方法可以确保运行 CPU 密集型任务的虚拟机只使用CPU 的一个内核(VM 配置为使用单个 CPU),其余内核可用于其他任务?

VMware ESX Server 是一个有趣的选择,因为它提供了我需要的设置(包括热内存添加),但它看起来像是一个封闭的系统。据我了解,ESX Server 的操作系统是否允许安装自定义应用程序,通过该应用程序来控制与物理服务器组件的电源管理相关的方面(例如执行 CPU 频率缩放)。它是否提供任何 API?我知道该产品已经具有电源管理功能,但我正在寻找实现自定义实现的方法。

除了这两个解决方案之外,您能否推荐其他提供诸如设置 CPU 亲和性、CPU 限制和预留、热内存添加以及允许在主机服务器上运行自定义应用程序等功能的管理程序(还提供 API 来编写此类应用程序) - 也许是 Citrix XenSource、KVM(我不熟悉这些解决方案)?

【问题讨论】:

    标签: vmware cpu-usage hyper-v power-management


    【解决方案1】:

    我认为 VMware 不支持对服务器进行修改,但您可以在 ESX 服务器上获得命令行,因为基本上您是对的,它是 linux 下面(我相信是 RedHat mod)。

    Xen/KVM 是开源的,因此您可以破解。如果您有预算限制,可能会建议您走 KVM 路线,因为社区会支持您。在企业环境中加入 Citrix 可能会带来麻烦。

    【讨论】:

    • 这只是一个研究项目,我主要是在寻找概念验证而不是完整的解决方案实施,因此预算不是问题。 KVM 似乎很有趣,但从我读过的内容来看,为每个虚拟机设置硬 CPU 限制是不可能的——这样的功能对我来说是绝对必须的。对于 ESX,命令行根本不够用。
    【解决方案2】:

    有什么方法可以确保运行 CPU 密集型任务的虚拟机只使用 CPU 的一个核心

    Openstack(KVM 作为虚拟机管理程序)提供 CPU pinning 功能,您可以通过该功能将 vCPU 绑定到物理 CPU 内核。如果您需要有关该主题的更多信息,请告诉我。

    这里是 link 解释该功能。此链接还确认 Hyper-V 不支持 CPU 固定。

    【讨论】:

    • 刚刚意识到这是一个非常古老的问题。无论如何它可能会帮助某人。
    猜你喜欢
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-17
    相关资源
    最近更新 更多