为什么KVM/QEMU中的虚拟机被称为域?

为什么KVM/QEMU中的虚拟机被称为域?

我在使用时注意到virsh虚拟机被称为“域”。为什么它们被称为域而不是虚拟机?

$ virsh

virsh # help
...
 Domain Monitoring (help keyword 'monitor'):
    domblkerror                    Show errors on block devices
    domblkinfo                     domain block device size information
    domblklist                     list all domain blocks
    domblkstat                     get device block stats for a domain
    domcontrol                     domain control interface state
    domif-getlink                  get link state of a virtual interface
    domifaddr                      Get network interfaces' addresses for a running domain
    domiflist                      list all domain virtual interfaces
    domifstat                      get network interface stats for a domain
    dominfo                        domain information
    dommemstat                     get memory statistics for a domain
    domstate                       domain state
    domstats                       get statistics about one or multiple domains
    domtime                        domain time
    list                           list domains
...

virsh # list --all
 Id    Name                           State
----------------------------------------------------
 -     centos_vagrant_test_test_vm    shut off
 -     collectd01                     shut off
 -     grafana01                      shut off
 -     influxdb01                     shut off
 -     JobDBWin7_Stable               shut off
 -     OpenWRT_Red                    shut off

答案1

它们不是 kvm 专有的术语(xen 也将机器称为域)。虚拟机管理程序大致相当于零域,或者dom0,这是在内核上初始化的第一个系统,具有特殊的权限。后来启动的其他域称为多姆相当于客户系统或虚拟机。

原因可能是两者非常相似,因为它们都是在处理它们的内核上执行的。

答案2

重申一下,就像其他人一样,是 virsh/libvirt 调用虚拟机域,而不是 QEMU/KVM。

Xen 最初被称为虚拟机域这一事实提供了一个很好的历史视角,但它仍然引出了一个问题——为什么?

我认为答案是从域的定义中逻辑得出的。

域的原始定义:“由特定统治者或政府拥有或控制的领土区域。”

在计算机网络中,域名“定义了互联网内的管理自治、权力或控制范围”

因此,域只是更大空间中的一个子集。在计算机网络中,它是一个子集地址空间。

在计算机虚拟化中,域(虚拟机)是硬件的子集资源空间。

换句话说,主机只是一个包含资源池(CPU 处理能力、内存、存储等)的服务器。虚拟机是该资源池的子集,专用于运行操作系统或应用程序。

在此输入图像描述

答案3

根据 Xen 维基 (https://wiki.xen.org/wiki/Domain),

域是系统上运行的虚拟机之一。 Domain0 是 Xen 虚拟机管理程序在启动时启动的第一个域,并将运行 Linux 操作系统。

Xen项目极大地影响了虚拟化工具的开发人员。这个名字肯定是从那里来的。

答案4

本文对术语有很好的解释。简而言之:

  • 领域是一组硬件资源。
  • 客人是在域内运行的虚拟化操作系统。
  • 虚拟机是Guest OS加上一些应用软件。

这些术语的含义几乎相同,因此可以互换使用。 Libvirt 可能更关注分配资源,而不是内部运行什么软件,因此它称它们为域。

相关内容