【问题标题】:Is xen dom0 a guest or a host?xen dom0 是访客还是主机?
【发布时间】:2013-10-09 10:55:38
【问题描述】:
我一直以为 xen dom0 是宿主,宿主其他 domU。
在xen wiki page 上,他们提到 xen dom0 作为主机操作系统。
然而在one of the xen dev list threads,xen 开发者提到 dom0 是一个 PV 来宾。
在此线程中,该线程的最后回复是
"是的。这是 HVM 来宾所期望的。他们的系统调用开销和内存
带宽将比 PV 客人(这就是 dom0)更快。
这就是为什么 PVH 是一个如此有趣的未来方向 - 它是带有 HVM 的 PV
容器来降低系统调用开销和内存页表操作。 "
所以我的问题是:
- xen dom0 是访客还是主机?
- 如果是访客,那么是否有 HVM dom0 ?
【问题讨论】:
标签:
linux
kernel
virtualization
xen
paravirtualization
【解决方案1】:
Dom0 本质上是一个运行在裸机管理程序之上的虚拟机,它以更高的权限运行以进行管理。
其他域在与 dom0 共存的管理程序下运行,而不是在它之上。
【解决方案2】:
- 对于像 xen 这样的裸机管理程序,所有域都是“来宾”。他们不在自己的域中运行调度程序,页表由管理程序而不是域管理,等等(与 KVM 或 Virtualbox 不同)
- Dom0 不能是 HVM,因为 HVM 需要 Dom0 提供的某些功能
HVM 表示域不支持虚拟机,因此您可以安装几乎任何操作系统,并且无需为作为虚拟机运行而定制即可运行。
这需要 Dom0 模拟一些本身不是硬件虚拟化的东西,即声卡、显卡、网卡等。在 Xen 中,这就是 QEMU 发挥作用的地方——它模拟了没有像 CPU 那样的硬件虚拟化的东西。
因此,作为 HVM 运行的操作系统将访问网络/声卡等,就像使用物理主机一样。 Dom0 模拟硬件响应,因此需要一些性能。
PV(半虚拟化)域至少在某种程度上意识到它在虚拟环境中运行。例如,您可以为网络使用准虚拟化驱动程序,因此它将使用超级调用而不是尝试直接与硬件对话。
【解决方案3】:
xen dom0 是访客还是主机?
是主机。
如果是访客,那么是否有 HVM dom0 ?
不,它是 PV 域。只有 domU 可以是 HVM。
Dom0 必须使用 hypercall 来处理管理。如果是HVM,性能会受到影响。
【解决方案4】:
Dom0 是客人!由 Xen 大师 Jugen Gross(Jürgen Groß) 确认。
Xen 是 1 类管理程序,因此 dom0 是访客。它有特别的
权限,但其资源由管理程序控制。