将RAM添加到虚拟机而不重新启动

任何人都可以build议我一个pipe理程序,允许将RAM添加到正在运行的虚拟机,而无需重新启动来宾操作系统。 这甚至有可能吗? 这可以在xen上完成吗? 我从来没有find这样的事情的任何文件。

Xen,KVM,Hyper-V,Vmware都支持增加RAM而无需重新启动。

它通过气球司机完成。

检查客户的支持

cat /boot/config-`uname -r` |grep -i balloon 

在我的虚拟机显示

 CONFIG_VMWARE_BALLOON=m CONFIG_XEN_BALLOON=y CONFIG_HYPERV_BALLOON=m CONFIG_VIRTIO_BALLOON=m 

但是,为了使RAM膨胀起来,你需要在guest虚拟机上设置最大内存,没有这个值,你只能减less内存,但不能增加内存(至less在Xen和KVM中,不知道如何在Vmware和Hyper -V)

您可以使用vSphere热添加内存。 不过,还有一个问题应该问到: “什么操作系统支持热添加内存?” 客户操作系统必须能够看到已添加的RAM,而无需重新引导。 例如,Windows Server 2003 Enterprise(不是标准)支持这一点,所有的Server 2008版本也是如此。

和hot-add选项一样好,我不会将hypervisor的select放在这个特性上。 您是否无法获得快速configuration更改所需的停机时间来适当调整VM的RAM大小?

看到我的问题和答案/评论。 是。 XEN可以做到这一点。 但这取决于 – 两端都必须支持它。

创build虚拟机时,必须启用“虚拟CPU热添加”和“内存热添加”function。

VM guest OS必须支持CPU和RAM的热添加。

VM guest虚拟机操作系统必须安装VM Tools。

如果虚拟机没有启用“虚拟CPU热添加”和“内存热添加”function,则必须closures虚拟机以启用它们。