為什麼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 可能更關注分配資源,而不是內部運行什麼軟體,因此它稱它們為域。

相關內容