我是虚拟化新手。请就这些问题提供建议。请注意,使用 Citrix 或 VMware 等商业 VM 软件对我来说不是一个选择。
我手头有两台 2x 4 核服务器,内存为 32 GB。我需要在每台服务器上创建 16 个虚拟机来测试一些 Web 应用程序。
我可以为每个 VM 配置半个核心作为虚拟 CPU 吗?据我所知,我无法在 Xen 上做到这一点。在 KVM 或其他一些免费开源 VM 解决方案上可以做到这一点吗?
如果无法分配半个核心,如何确保所有虚拟机都能获得统一的处理能力?
由于这项工作是在物理服务器中创建用于托管 16 个 Web 应用程序的单独实例,您是否建议使用 Ubuntu Enterprise Cloud 设置私有云作为更好的选择?
KVM 下是否有 HA 解决方案,例如 Xen 的 Remus?
答案1
据我所知,在 KVM 上分配半个 vCPU 是不可能的。当然不会使用基于 KVM 的 RHEV 之类的东西。
为每台机器分配一个 vCPU。由于 KVM 使用 Linux 调度程序来分配工作负载,而不是实际为虚拟机分配物理 CPU,因此这应该可以正常工作。目前,我们的主机上运行的 vCPU 比物理 CPU 多。
UEC 可能比 KVM 更简单,特别是当您开始引入一定程度的复杂性(例如为 KVM 配置 HA)时。如果您对 KVM 或 Linux 没有太多经验,UEC 是一个可行的选择。
可以通过 libvirt 实现 KVM 的 HA,尽管我个人还没有尝试过(我们使用 RHEV,它通过 GUI 实现)。我会参考http://www.linux-ha.org/doc/re-ra-VirtualDomain.html
答案2
我没有在 RHEL 上使用 KVM 的经验,但如果你想使用 Xen[1],你可以使用权重和上限(又称 CPU 调度 :))来调整 vCPU 的分配。此外,你可以将 vCPU“固定”到某个虚拟机。这意味着所需的虚拟机将使用你固定的 vCPU。
- 您可以在 RHEL 上使用 Xen,也可以尝试 XCP(http://www.xen.org/products/cloudxen.html) 与 Citrix XenServer 非常相似。
答案3
如果你是一个新手(我曾经也是)
1) 使用支持虚拟化的机器,在 BIOS 中检查虚拟化支持。2
) 使用 64 位机器。这将为您省去很多麻烦。由于您是新手,如果我解释技术术语,您可能会感到困惑,但一旦您适应了,您就会明白我为什么这么说。
3) 在 Linux 上使用 CentOS。CentOS 只不过是 RHEL,但删除了徽标和专有内容,它有一个非常好用的 GUI,可以与 Xen 一起使用,GUI 称为 virt-manager,在非 VT 机器上,您可能无法使用某些功能,这会让您的生活变得困难。
4)如果您计划使用 Debian/Ubuntu 系统,那么您就必然需要一个支持虚拟化的硬件,其中 KVM 是一个解决方案。它有一个很好的 GUI,称为 virt-manager,如果您使用它,您也可以在 CentOS 中看到它。
我使用 Ubuntu 和 KVM 运行云。如果您想运行虚拟机,Eucalyptus 与之无关。