关于裸机虚拟化产品有哪些知识?
我有兴趣为家庭打造一台新的台式机。我一直在关注英特尔四核处理器,我想在其中安装 8 GB 的 RAM,但它让我考虑如何充分利用可用资源。
我认为,如果我能得到一台好的 64 位机器,安装一些裸机虚拟化,然后拥有一个主系统,那么我也可以在需要时启动一些额外的虚拟化系统。我知道大多数裸机系统都是为服务器市场设计的,但有没有适合桌面系统的东西呢?
有什么注意事项?我估计我不会充分利用我买的任何显卡。如果只是获得一个不错的屏幕分辨率呢?这会是个问题吗?我使用一台 24 英寸的屏幕。
那么 DVD/CD 写入呢?这可能吗?我想重新翻录我的 CD 收藏。我希望四路 64 位编码可以帮助我完成编码。
我目前使用的是 Mac,无法再使用 Windows,所以只能使用 Linux。我考虑将 Ubuntu 作为主要操作系统。这有什么区别吗?
答案1
正如其他地方所建议的那样,VMWare ESXi是免费提供的裸机虚拟机管理程序,其中“裸机”意味着您最终加载的内容少于完整的操作系统。
西恩还有大型虚拟机使用硬件级虚拟化的模式;在此模式下,它可以运行 Windows 客户机。Xen 显然有一个“裸机”虚拟机管理程序——因为 Dom0 操作系统也在其下运行——但它的配置和维护相当复杂,并且对可以在非 HVM 域下运行的内核设置了限制(其中 Dom0 是主内核,它通过硬件访问其他内核并具有管理权限)。HVM 需要具有硬件虚拟化支持的 CPU 和主板;请参阅 Xen wiki 的兼容 HVM 的主板。
话虽如此,你可能会发现虚拟机更有趣的是。KVM 不是使用 Linux 来管理单独的专有虚拟机管理程序内核(ESX 也是如此),而是将虚拟机管理程序功能构建到 Linux 本身中。这“裸机”的程度取决于您的理解——但如果运行 KVM 的主机只是一个 40MB 的 initrd,其中只有 kvm+libvirt+相关工具(例如,像 Red Hat 的奥维特),实际上它与 ESX 并不完全不同。KVM 的用户空间组件源自量子计算单元,这使其功能强大且灵活——这对于桌面来说并不一定需要,但在模拟嵌入式系统(例如,只有串行 I/O 而没有 VGA 适配器)、设置复杂的 COW 映像链以后端存储或设置有趣的虚拟网络拓扑方面非常有趣。与 Xen HVM 一样,KVM 需要硬件加速。KVM 可以相当好地运行要求不高的 Windows 客户机(包括 Vista),但目前只有适用于 Windows 的半虚拟网络驱动程序可用;其他驱动程序需要使用模拟硬件,速度会稍慢一些。(Qumranet 正在资助开发其他适用于 Windows 的驱动程序,因此最终会看到它们。较新版本的 Linux 内核有许多其他与 KVM 兼容的半虚拟驱动程序——用于磁盘 I/O、时钟和其他设备——包含在上游)。
对于桌面使用,虚拟盒很适合,尽管它根本不适合“裸机”使用。由于缺乏虚拟器支持,我还认为它不适合 QA 自动化用途。VirtualBox 在其“客户实用程序”中有一个 paravirt 视频驱动程序,它将提供自动窗口大小调整和有时有缺陷的“无缝模式”,其中您的客户窗口将显示在主机窗口中,从而(理论上)提供更集成的体验。
如果您使用的“主操作系统”不是专门为虚拟化而构建的,那么您就不是在进行“裸机”虚拟化,而如果您希望 Windows 桌面在同一硬件上显示,那么一个极简的、完全“裸机”的解决方案(其中主控制中的(微)内核严格为虚拟化目的而构建)将严重不理想。如果您想要的不是“裸机”,而是硬件辅助虚拟化,这里建议的所有内容都提供了这一点 - 尽管对于 VirtualBox 来说它是一个可通过复选框选择的配置选项;默认情况下它使用更传统的方法。
答案2
我自己是各种 VMWare 产品的超级粉丝(甚至对 Hyper-V 也印象深刻),我完全同意上述人士的说法。话虽如此,在您开始使用任何 VM 软件之前,我希望您首先了解一些事情。主机操作系统会为客户端虚拟机“提供”一组固定的硬件 - 特定类型的处理器数量、特定类型的芯片组、特定类型的 NIC、视频卡等(具体类型因产品/版本而异)。这些“模拟”组件几乎总是大多数客户端 VM 作为服务器运行所需要的,因为它们通常不需要太多专用硬件。但是,如果您的主桌面将作为客户端 VM 运行,则需要考虑这些虚拟组件的限制是否最终会给您带来问题。以游戏为例,很少有主机操作系统会向其客户端 VM 公开支持 DX9 的虚拟 GPU,这意味着您无法玩游戏。音频硬件也是如此,您通常会得到一个“基本”声卡(如果有的话),并且它的模拟通常是一项优先级非常低的工作,因此您可以忘记 5.1 声音,对于硬件模拟视频解码之类的东西也是一样,您的客户端 VM 只是不知道您的硬件可以做到这一点,所以不会尝试。
我希望您理解这些限制,对于服务器环境来说,这当然是理想的,所有服务器 VM 客户端都可以使用相同的已知、稳定的驱动程序。但许多人希望他们的客户端桌面计算机更好地受他们控制。
您可能考虑的一个选项是使用带有 Hyper-V 的 Windows Server 2008,我用过,但已经好几个月没用了。它与 VMWare 的模型不同,允许您使用 2008 作为主机(因此您可以像平常一样访问所有硬件),并在其上安装客户端虚拟机。这样,它更像是“桌面虚拟化”系统,例如 VMWare Workstation、Fusion 和其他一些系统,但我知道您问的是与“裸机虚拟机”有关的问题。
希望这可以帮助,
菲尔。
答案3
似乎有一款免费的、开源的 Mac OS X 兼容虚拟机管理程序,名为虚拟盒然而,这并不是“裸机”。
裸机将是VMWare ESXi,一个免费的虚拟机管理程序。
但正如您所猜测的,大多数裸机产品都面向服务器市场,并且不公开可能在桌面上有用的资源。您必须进行一些研究才能了解可用的资源以及它们的分区方式(视频、CD/DVD、USB 等)。
但你问的是一个矛盾的问题。你想要一个裸机虚拟机管理程序,但你也希望它功能丰富。你最好的选择可能是用 VirtualBox 加载一个最小的 Linux 操作系统,并将该完整系统用作虚拟机管理程序,在其上运行真正的操作系统。
答案4
客户端是裸机桌面虚拟化工具之一,支持 Windows XP SP3、Windows Vista 和 Windows 7。您也可以安装服务器,但不支持 Xen 驱动程序工具。