情况是这样的:一段时间以来,我一直将 Windows 作为我的主要桌面操作系统,并在虚拟机中使用 Gentoo Linux。我一直在想,在虚拟机管理程序中同时运行系统而不是一个系统在另一个系统之上运行会更好。出于这个原因,我一直在研究 Xen,但我不太确定它是否适合在这里使用。
需要考虑的几件事:
- 我需要能够调出每个虚拟机的完整桌面视图。
- 我需要能够轻松地在虚拟机之间切换。
- 我确实偶尔会玩游戏并与游戏开发打交道,所以我需要硬件图形加速(我有一台基于 PCIe 的 NVIDIA GTX 580)。
- 我有一台技嘉 Z68X-UD3-B3。老实说,我不确定它是否支持 VT-d。手册上似乎没有提到这一点。
- 我的 CPU 确实支持 VT-x。
- 整个设置需要具有与我当前设置相当的性能。我可以容忍一些性能损失,但它不应该完全变慢。
Xen 适合我吗?如果不适合,我还可以使用什么(最好是免费的,或者至少学生可以负担得起的)?
答案1
您想要做的事情需要 VT-d 支持。
已知的工作兼容性可以在这里找到: http://wiki.xen.org/xenwiki/VTdHowTo
通常,您需要在 BIOS 中启用该支持(适用于 Intel 芯片)。BIOS 选项通常是“IO 虚拟化”或“定向 IO”或类似的。
另一个关于如何让 Xen 很好地满足您的需求的良好参考: http://wiki.xen.org/xenwiki/XenVGAPassthrough
相当多的 Xen 用户确实拥有像您描述的这样的设置,但要做好解决驱动程序问题并手动添加补丁的准备(如果您的卡不支持开箱即用)。
如果您通过 Xen.org 使用 Xen,Xen 邮件列表是一个很好的资源。http://lists.xensource.com/.http://xen.markmail.org
您还可以在 Freenode 上获取有关 ##xen 的帮助。那里有不少人讨论这些类型的设置。询问并保持耐心(您可能还需要坚持不懈 - 一天中的时间可能很重要)
如果你正在寻找一个开箱即用的免费(非完全开源)解决方案,你可以看看 Citrix XenClient:http://www.citrix.com/English/ps2/products/product.asp?contentID=2300325
答案2
VGA 直通是指将当前的 Dom0 显卡从 Dom0 断开,并将其提供给 VM 使用;VM 将此视为其唯一的视频适配器,而不是将 Cirrus 作为主卡,并将辅助卡直通。它的主要优点是,如果 DomU 启动时出现问题,您无需通过 VNC 进入 DomU(Linux 需要很长时间才能启动,VNC 进入后会看到正在执行 fsck;Windows 无法启动,VNC 进入后会看到需要您按 Enter 才能正常启动 Windows)。
VGA 直通依赖于 PCI 直通,而 VT-d 对两者都必不可少。据称 VGA 直通比 PCI 直通更难设置;我的 PCI 直通适用于多个 USB 集线器以及多个显卡。我尚未能够建立 VGA 直通,尽管这可能是因为我的 xen 配置文件设置方式非常奇怪(最初通过 virt-manager 创建虚拟机,它不以标准方式处理 xen 配置文件)。
由于我还没有让 VGA 直通工作,我将谈谈 PCI 直通:要让一张卡为多个虚拟机工作,您应该能够将设备分配给两个虚拟机,然后您就不能同时运行两个虚拟机了。如果您没有其他显卡,Domain0 将无头运行,您可以从另一台设备 ssh 进入以管理您的虚拟机,或者只是让您最喜欢的虚拟机自动启动,并使用 bash 脚本管理其他虚拟机的关闭/启动,该脚本会等到第一个虚拟机关闭后再尝试启动第二个虚拟机。