我想知道是否有可能拥有一个 Type-1 虚拟机管理程序(裸机,无主机操作系统),并能够在同一台机器上查看客户操作系统。
例如,我有一个 XenServer,它托管 2 个 Windows 服务器和 1 个 Ubuntu 服务器。虽然它们都可以远程管理,但它们需要另一台机器才能访问它们。
在没有其他机器可用的情况下,我希望能够访问物理主机,并直接连接到客户虚拟机。
我正在查看选项,对于我现有的 XenServer,似乎我只能为物理主机上的客户机获取基于文本的控制台视图。
看起来 KVM 是一种自然混合的 1 型和 2 型虚拟机管理程序,即便如此,如果我将 Ubuntu VM 迁移到托管 KVM 的主机,也许能够节省一些 CPU 周期。
还有其他选择吗?我设想 XenServer/ESXi/Hyper-V 服务器可以使用某种形式的 X11 + VNC 来 ALT-TAB 每个操作系统。
答案1
虽然看起来不像,但 Hyper-V 实际上是1 型虚拟机管理程序,因为虚拟化层被放置在以下Windows 操作系统并调解所有硬件访问(不久前,在硬件辅助虚拟化得到很大改进之前,Hyper-V 主机的图形性能非常缓慢是很常见的,由于操作系统多于虚拟化层)。
当然,Hyper-V 主机完全能够访问客户系统的控制台(除非您选择运行没有 GUI 的 Server Core 版本)。
一些有用的链接:
http://en.wikipedia.org/wiki/Hypervisor
http://en.wikipedia.org/wiki/Comparison_of_platform_virtualization_software
http://www.virtualizationsoftware.com/top-5-enterprise-type-1-hypervisors
答案2
除非实际在芯片上运行,否则不存在“裸机”虚拟机管理程序。Xen、ESXi、Hyper-V 都是双内核堆栈,虚拟机管理程序操作系统启动后会启动辅助管理操作系统。虽然虚拟机在虚拟机管理程序上运行,但这并不意味着虚拟机管理程序级别不是操作系统,尽管它可能被简化了。
至于 KVM,它简化了方法,使用 Linux 内核来完成大多数事情(因为它已经可以做这些事情,而且通常比任何虚拟机管理程序都做得更好 - 毕竟它已经存在、开发和优化了很长时间),但虚拟机管理程序位与 ESXi 或 Xen 一样是“裸机”。
简而言之,类型 1/类型 2 等争论毫无意义,只不过是为了将专用的虚拟机管理程序系统与桌面虚拟化软件区分开来的营销手段。
现在,至于建议,您要求的内容可以通过 Linux/KVM 和 Hyper-V(完整 Windows 版本)原生实现。或者您可以使用面向桌面的虚拟化产品之一,例如 Virtualbox 或 VMWare WS。据我所知,也可以使用 Linux 上的 Xen,当然不是 xenserver 版本。
PS:如果您没有在虚拟机管理程序上安装 X,则使用 KVM,您可以同时获得 GUI 控制台和文本控制台访问。
答案3
也许您可以使用 ESXi 上的设备直通将视频卡和 USB(键盘/鼠标)传递到客户虚拟机,然后使用该虚拟机管理同一台机器上的其他主机。您将拥有额外的键盘/鼠标和显示器(除非您可以选择在显示器上使用双输入)。
答案4
不,你所问的根本就是不可能的。
想想看:给你一个图形用户界面,您假设的虚拟机管理程序需要视频驱动程序和窗口系统。这自然意味着它是一个功能齐全的操作系统,而不是一个薄薄的虚拟机管理程序层。
因此,没有哪种 1 型虚拟机管理程序可以做到这一点。哎呀,真正的 1 型虚拟机管理程序确实是基于固件的(想想 IBM/Oracle 分区和虚拟化系统)。另一方面,即使是 ESXi 等嵌入式虚拟机管理程序也不是严格意义上的真正的 1 型虚拟机管理程序。
但是,我认为您高估了混合或 type2 虚拟机管理程序对性能的影响:最小的 CentOS/Debian 系统在资源使用方面非常轻。