在工作中,我们有一些 Linux 用户,他们当然更喜欢使用 Ubuntu。问题是,我们的开发工具也只能与“官方”支持的 Linux 发行版兼容,这些发行版使用基于 2.6.18 的旧内核。(即使它们可以与较新的内核兼容,供应商也总是说,除非软件运行在“官方”支持的平台上,否则他们不会“支持”该软件。)
我们当然可以告诉他们使用 CentOS 或其他基于 2.6.18 的操作系统,我确信他们的反应会是这样的:“你可以从我们冰冷的死手中拿走 Ubuntu。”:)
这让我想到了一些问题——是否有一些好的/简单的/推荐的方法可以将 Ubuntu 作为主机虚拟机,将 Centos 5.x 作为客户操作系统(使用哪个系统——Xen、KVM、VMWare,......?)运行,然后将其纳入我们自己的可以轻松安装的自定义内部发行版?
KVM 看起来像是最近包含在 RHEL 5.4 中的一个很好的高性能选项,但如果需要像 Intel-VT 或 AMD-V 这样的虚拟化硬件支持,那么我猜只有那些拥有相当新的 PC 的人才能做到这一点。
非常有兴趣听听其他人是如何解决此类问题的。
编辑:这种系统的目标受众/用户是开发人员,每个人都需要运行本地许可的商业软件,因此由于许可限制,构建一些单独的强大中央机器不是一个选择。即使不是这样,几个开发人员也会很快通过并行构建耗尽资源。:)
理想情况下,我希望有一些循序渐进的指南来构建您自己的预构建发行版,例如以 CentOS 5.x 和 Ubuntu Desktop 为客户机。
答案1
您可以构建一些满足软件供应商要求的强大工作站,并让开发人员使用远程 X 在该机器上运行应用程序,同时在每个开发人员喜欢的 Linux 发行版上显示它。
如果软件在不受支持的发行版上运行良好,您可以让开发人员这样做,并在与支持人员交谈之前为他们提供一台机器来复制错误。所有与官方支持相关的工作都将使用受支持的机器进行复制和执行故障排除。
答案2
如果您想要类似 KVM 的东西,但又不需要 Intel-VT/AMD-V,并且仍能达到接近本机的速度,请查看 KVM 所基于的 QEMU。最简单的方法可能是在后台运行 KVM headless,然后从主机通过虚拟“网络”登录。我发现 NX 非常易于使用和配置(与 XDMCP 相比)。
答案3
如果您需要本地访问,则建议使用 Xen、VirtualBox 或 VMware(QEMU 性能欠佳,即使使用 kqemu 内核模块也是如此)。使用 Xen 可能会获得最佳效果(CentOS 是受支持良好的客户机),但值得注意的是,Xen dom0 内核相当过时,Ubuntu 用户可能不太喜欢它。
将 NX 连接到远程服务器是一个很好的建议。