根据 XCP 文档,Xen 云平台主机是一台 64 位 x86 服务器级机器,专用于托管多台虚拟机。
在博客.citrix.com他们提到 dom0 是需要注意的是dom0是32位进程
我对这些事实有点困惑,这里提到的 host 和 dom0 是什么意思。我以为 dom0 是一个 32 位 centos 内核,而 host 是否意味着 xen 虚拟机管理程序?
如果主机指的是基于 64 位内核的虚拟机管理程序,那么为什么它自身无法寻址超过 4GB 的内存。
此外,dom0 的 32 位内核如何依赖于为 xen 服务器/XCP 分配更多 RAM(在 citrix 博客上,他们说由于 dom0 基于 32 位内核,xen 服务器最多只能有 4 GB,其余 RAM 可分配给 vms,如果我们分配超过 4GB,xen 服务器将会失败!!)。
据我所知,dom0 提供了一个管理 VM 和 xen 的接口。有人可以给我一个简单的解释吗?
答案1
两者都是正确的,这里为什么要混淆呢?
XCP 上使用的 Xen 虚拟机管理程序是 64 位的,因此它可以创建 32 位和 64 位客户机。
Dom0 实际上是在 xen 虚拟机管理程序上运行的另一个 VM,是 32 位的,主要用于为 DomU 提供磁盘和网络访问。
对于您的主机来说,Dom0 不确定 RAM。
你甚至可以使用以下方式指定 Dom0 可以拥有多少 RAMdom0_mem=在/boot/extlinux.conf。
查看总可用内存使用情况
xl info |grep total_memory
免费-m
在 dom0 上实际上显示分配给 dom0 而不是 xen 虚拟机管理程序的 RAM。
答案2
从您提到的链接中查看文章的这一部分,
When a host running XenServer starts up, the Xen hypervisor loads a small
virtual machine that is essentially invisible to users (and even admins
if you don’t know where to look!). This special, privileged VM is referred
to as the “control domain”, “domain-0” or, as the cool kids like to call it,
“dom0”. The control domain runs the management tool stack and also provides
low-level services to other VMs, such as providing physical access to devices.
和这个
只要您有 64 位硬件和虚拟机管理程序,32 位 dom0 就无关紧要,您可以为 64 位客户机分配任意数量的内存。dom0 仅用于“管理”硬件并为客户机提供低级服务。它不会干扰客户机的操作或内存分配。