我正计划安装 esxi 5 来托管大约 5 个客户操作系统(相同的 CentOS 5 映像)。我希望它们具有单独的数据分配(单独的虚拟磁盘),但我希望它们能够动态共享资源(内存、CPU),其中 1 个 VM 的优先级高于其他 4 个 VM。
我一直在阅读文档,看起来这是可以做到的。如何动态共享资源?为了在特定虚拟机中添加/删除新的 RAM/CPU,客户操作系统是否需要重新启动?从逻辑上讲,我不确定操作系统如何能很好地处理这种情况。
此外,我该如何构建我的资源池以使其发挥作用?
答案1
接受一些培训,说实话这是值得的——尝试一下 vSphere‘安装、管理和配置’作为入门。
无论哪种方式,您的查询都归结为对虚拟机管理程序功能的一些基本了解,本质上它们只是复杂的时间切片器。
例如,如果您只有一个真正的 CPU 核心和两个虚拟机,每个虚拟机都有一个虚拟 CPU 核心,并且两者都 100% 繁忙,则虚拟机管理程序只会在服务器之间平等地轮换这个负载;一个会获得一些真正的 CPU 时间,然后另一个会获得相同的时间,然后它会再次回到第一个虚拟机。
在上述场景中,如果您有两个或更多实际 CPU 核心,那么实际上每个 VM 都会获得其所需的所有 CPU 时间,而不必对时间进行“分割”。
此模型可推断出许多实际 CPU 核心和许多虚拟 CPU 核心 - 如果有足够的实际 CPU 核心时间允许所有虚拟 CPU 使用无需时间分片即可进行,那么结果就是如此,每个人都会很高兴。如果需求大于资源,那么就会发生时间分片,您会损失一些性能,但一切仍然很好。
资源池的作用是使时间分片不相等。例如,在上面的场景中,您可以使一个虚拟机在一个真实 CPU 核心示例中获得两倍或更多的 CPU 时间,而不是另一个虚拟机。虚拟机管理程序只是为配置为拥有更多 CPU 资源的资源提供更多时间 - 就是这么简单。
也就是说,vSphere 资源池很快就会变得非常复杂,如果我是你,我会认真考虑保留默认设置,不更改任何资源分配。并不是说它效果不好,但从你的问题来看,我建议你在走这条路之前先接受相关培训。
希望这可以帮助。
答案2
CPU 速度优先级是完全动态的,至于内存——这是个好问题。我建议如下:ESXi 5,虚拟机管理程序,是免费的——适用于一台主机,最高 32GB RAM。使用免费许可证禁用了许多模块,但在激活免费许可证之前,它会在 60 天试用期内作为完整包安装。
在您的测试机上试一试,我的双核电脑上有 3 GB 的 RAM,足以安装几个虚拟设备。甚至更好:我试用了 VMWare Workstation,它有一个虚拟机,为其分配了 2 GB 的 RAM 和 2 个内核,并在其上安装了 ESXi 5。您将通过 vSphere 客户端试用安装、网络配置和管理,并且可以在虚拟机中使用虚拟机。还有什么比这更让人想要的呢!:)