Red Hat Training

A Red Hat training course is available for RHEL 8

第 6 章 查看有关虚拟机的信息

当需要在 RHEL 8 中调整或排除虚拟化部署的任何方面时,您需要执行的第一个步骤通常是查看有关虚拟机当前状态和配置的信息。要做到这一点,您可以使用 命令行界面Web 控制台。您还可以查看虚拟机 XML 配置中的信息。

6.1. 使用命令行界面查看虚拟机信息

要检索主机上虚拟机(VM)的信息,请使用以下一个或多个命令。

流程

  • 获取主机上的虚拟机列表:

    # virsh list --all
    Id   Name              State
    ----------------------------------
    1    testguest1             running
    -    testguest2             shut off
    -    testguest3             shut off
    -    testguest4             shut off
  • 要获取有关特定虚拟机的基本信息:

    # virsh dominfo testguest1
    Id:             1
    Name:           testguest1
    UUID:           a973666f-2f6e-415a-8949-75a7a98569e1
    OS Type:        hvm
    State:          running
    CPU(s):         2
    CPU time:       188.3s
    Max memory:     4194304 KiB
    Used memory:    4194304 KiB
    Persistent:     yes
    Autostart:      disable
    Managed save:   no
    Security model: selinux
    Security DOI:   0
    Security label: system_u:system_r:svirt_t:s0:c486,c538 (enforcing)
  • 要获得特定虚拟机的完整 XML 配置:

    # virsh dumpxml testguest2
    
    <domain type='kvm' id='1'>
      <name>testguest2</name>
      <uuid>a973434f-2f6e-4ěša-8949-76a7a98569e1</uuid>
      <metadata>
    [...]
  • 有关虚拟机磁盘和其它块设备的详情:

    # virsh domblklist testguest3
     Target   Source
    ---------------------------------------------------------------
     vda      /var/lib/libvirt/images/testguest3.qcow2
     sda      -
     sdb      /home/username/Downloads/virt-p2v-1.36.10-1.el7.iso

    有关管理虚拟机存储的步骤,请参阅 第 11 章 为虚拟机管理存储

  • 要获取有关虚拟机文件系统及其挂载点的信息:

    # virsh domfsinfo testguest3
    Mountpoint   Name   Type   Target
    ------------------------------------
     /            dm-0   xfs
     /boot        vda1   xfs
  • 要获取有关特定虚拟机 vCPU 的详细信息:

    # virsh vcpuinfo testguest4
    VCPU:           0
    CPU:            3
    State:          running
    CPU time:       103.1s
    CPU Affinity:   yyyy
    
    VCPU:           1
    CPU:            0
    State:          running
    CPU time:       88.6s
    CPU Affinity:   yyyy

    要在虚拟机中配置和优化 vCPU,请参阅 第 16.5 节 “优化虚拟机 CPU 性能”

  • 列出主机上的所有虚拟网络接口:

    # virsh net-list --all
     Name       State    Autostart   Persistent
    ---------------------------------------------
     default    active   yes         yes
     labnet     active   yes         yes

    有关特定接口的详情:

    # virsh net-info default
    Name:           default
    UUID:           c699f9f6-9202-4ca8-91d0-6b8cb9024116
    Active:         yes
    Persistent:     yes
    Autostart:      yes
    Bridge:         virbr0

    有关网络接口、虚拟机网络和配置它们的说明,请参阅 第 13 章 配置虚拟机网络连接

  • 有关查看主机上存储池和存储卷的详情,请参考 第 11.2.1 节 “使用 CLI 查看虚拟机存储信息”

6.2. 使用 web 控制台查看虚拟机信息

使用 RHEL 8 web 控制台,您可以查看与 web 控制台连接的虚拟存储和虚拟机的信息。

6.2.1. 在 web 控制台中查看虚拟化概述

以下流程描述了如何查看虚拟机(VM)以及 web 控制台会话连接的可用虚拟存储概述。

先决条件

流程

  • 在 web 控制台侧菜单中点击 Virtual Machines

    此时会出现一个对话框,其中包含有关可用存储以及 Web 控制台连接的虚拟机的信息。

cockpit 虚拟机信息

该信息包括:

  • 存储池 - 可通过 web 控制台访问的存储池数及其状态。
  • 网络 - Web 控制台及其状态可访问的网络数量。
  • Name - 虚拟机的名称。
  • 连接 - libvirt 连接、系统或者会话的类型。
  • State - 虚拟机的状态。

其它资源

6.2.2. 使用 Web 控制台查看存储池信息

以下流程描述了如何查看 web 控制台会话可访问的虚拟机(VM)存储池的详细存储池信息。

先决条件

流程

  1. Virtual Machines 接口顶部的 Storage Pools。此时会出现存储池窗口,显示配置的存储池列表。

    Web 控制台存储池窗口

    该信息包括:

    • 名称 - 存储池的名称。
    • 大小 - 存储池的大小。
    • connection - 用于访问存储池的连接。
    • State - 存储池的状态。
  2. 点击您要查看的存储行。

    行会展开,并包含以下有关所选存储池的信息的 Overview 窗格:

    • Path - 存储池的路径。
    • persistent - 存储池是否持久。
    • autostart - 是否自动启动存储池。
    • 类型 - 存储池的类型。
    Web 控制台存储池概述
  3. 要查看从存储池中创建的存储卷列表,请点存储卷

    此时会出现 Storage Volumes 窗格,显示配置的存储卷的大小以及使用的空间量。

    Web 控制台存储池存储卷

其它资源

6.2.3. 在 web 控制台中查看基本虚拟机信息

下面描述了如何查看 web 控制台会话连接到的所选虚拟机(VM)的基本信息。

先决条件

流程

  1. 在 web 控制台侧菜单中点击 Virtual Machines
  2. 点击您要查看信息的虚拟机行。

    行会展开,以显示有关所选虚拟机以及用于关闭和删除虚拟机的基本信息 Overview 窗格。

  3. 如果选择了另一个标签页,点 Overview

    cockpit 基本虚拟机信息

该信息包括以下常规虚拟机详情:

  • 内存 - 分配给虚拟机的内存量。
  • vCPU - 为虚拟机配置的虚拟 CPU 数量。
  • CPU 类型 - 为虚拟机配置的虚拟 CPU 的构架。
  • 启动顺序 - 为虚拟机配置的引导顺序。
  • autostart - 是否为虚拟机启用自动启动。

该信息还包括以下管理程序详情:

  • 模拟的机器 - 虚拟机模拟的机器类型。
  • 固件 - 虚拟机的固件。

其它资源

6.2.4. 在 web 控制台中查看虚拟机资源使用情况

以下流程描述了如何查看 web 控制台会话连接的所选虚拟机(VM)的内存和虚拟 CPU 用量信息。

先决条件

流程

  1. Virtual Machines 界面中,点您要查看信息的虚拟机行。

    行会展开,以显示有关所选虚拟机以及用于关闭和删除虚拟机的基本信息 Overview 窗格。

  2. Usage

    此时会出现 Usage 窗格,其中包含有关虚拟机内存和虚拟 CPU 用量的信息。

Cockpit 资源使用量

其它资源

6.2.5. 在 web 控制台中查看虚拟机磁盘信息

以下流程描述了如何查看 web 控制台会话连接到的虚拟机(VM)的磁盘信息。

先决条件

要使用 Web 控制台来管理虚拟机,请安装 Web 控制台虚拟机插件

流程

  1. 点击您要查看信息的虚拟机行。

    行会展开,以显示有关所选虚拟机以及用于关闭和删除虚拟机的基本信息 Overview 窗格。

  2. Disks

    Disks 窗格会出现有关分配给虚拟机的磁盘的信息。

Cockpit 磁盘信息

该信息包括:

  • 设备 - 该磁盘的设备类型。
  • 使用的 - 使用的磁盘大小。
  • Capacity - 磁盘的大小。
  • 总线 - 磁盘的总线类型。
  • access - 磁盘是可写入还是只读。
  • Source - 磁盘设备或者文件。

其它资源

6.2.6. 在 web 控制台中查看和编辑虚拟网络接口信息

使用 RHEL 8 web 控制台,您可以在所选虚拟机(VM)上查看和修改虚拟网络接口:

先决条件

流程

  1. Virtual Machines 界面中,点您要查看信息的虚拟机行。

    行会展开,以显示有关所选虚拟机以及用于关闭和删除虚拟机的基本信息 Overview 窗格。

  2. Network Interfaces

    Networks Interfaces 窗格会出现,其中包含为虚拟机配置的虚拟网络接口的信息。

    cockpit vNIC 信息

    该信息包括:

    • 类型 - 虚拟机的网络接口类型。类型包括虚拟网络、网桥到 LAN 以及直接附加。

      注意

      RHEL 8.2 不支持通用以太网连接。

    • 型号类型 - 虚拟网络接口的型号。
    • MAC 地址 - 虚拟网络接口的 MAC 地址。
    • IP 地址 - 虚拟网络接口的 IP 地址。
    • Source - 网络接口源。这取决于网络类型。
    • State - 虚拟网络接口的状态。
  3. 要编辑虚拟网络接口设置,请点 Edit。此时会打开「虚拟网络接口设置」对话框。

    Web 控制台虚拟网络,如果设置
  4. 更改接口类型、源或型号。
  5. Save。已修改网络接口。

    注意

    对虚拟网络接口设置的更改仅在重启虚拟机后生效。

其它资源

6.3. 虚拟机 XML 配置示例

虚拟机的 XML 配置(也称为 域 XML )决定虚拟机的设置和组件。下表显示了虚拟机(VM)的 XML 配置示例并解释了其内容。

要获得虚拟机的 XML 配置,您可以使用 virsh dumpxml 命令以及虚拟机的名称。

# virsh dumpxml testguest1

表 6.1. XML 配置示例

域 XML 部分描述
<domain type='kvm'>
 <name>Testguest1</name>
 <uuid>ec6fbaa1-3eb4-49da-bf61-bb02fbec4967</uuid>
 <memory unit='KiB'>1048576</memory>
 <currentMemory unit='KiB'>1048576</currentMemory>

这是一个名为 Testguest1 的 KVM 虚拟机,内存为 1024 MiB。

 <vcpu placement='static'>1</vcpu>

虚拟机被分配为单个虚拟 CPU(vCPU)。

有关配置 vCPU 的详情,请参考 第 16.5 节 “优化虚拟机 CPU 性能”

 <os>
  <type arch='x86_64' machine='pc-q35-4.1'>hvm</type>
  <boot dev='hd'/>
 </os>

机器构架被设置为 AMD64 和 Intel 64 架构,并使用 Intel Q35 机器类型来决定功能兼容性。将该操作系统设定为从硬盘引导。

有关使用安装的操作系统创建虚拟机的详情,请参考 第 2.2.2 节 “使用 web 控制台创建虚拟机并安装客户端操作系统”

 <features>
  <acpi/>
  <apic/>
  <vmport state='off'/>
 </features>

acpiapic 监控程序功能被禁用,并关闭 VMWare IO 端口。

 <cpu mode='host-model' check='partial'>

功能 XML(可以使用 virsh capabilities 获得)中的主机 CPU 定义会自动复制到虚拟机 XML 配置中。因此,当虚拟机引导时,libvirt 会选择类似主机 CPU 的 CPU 模型,然后尽可能向大约主机模型添加额外的功能。

 <clock offset='utc'>
  <timer name='rtc' tickpolicy='catchup'/>
  <timer name='pit' tickpolicy='delay'/>
  <timer name='hpet' present='no'/>
 </clock>

VM 的虚拟硬件时钟使用 UTC 时区。另外,设置了三个不同的计时器以便与 QEMU 管理程序同步。

 <on_poweroff>destroy</on_poweroff>
 <on_reboot>restart</on_reboot>
 <on_crash>destroy</on_crash>

当虚拟机关闭或者其操作系统意外终止时,libvirt 会终止虚拟机并释放其分配的所有资源。当虚拟机被重启时,libvirt 会使用相同的配置重启它。

 <pm>
  <suspend-to-mem enabled='no'/>
  <suspend-to-disk enabled='no'/>
 </pm>

这个虚拟机禁用 S3 和 S4 ACPI 睡眠状态。

 <devices>
  <emulator>/usr/bin/qemu-kvm</emulator>
  <disk type='file' device='disk'>
   <driver name='qemu' type='qcow2'/>
   <source file='/var/lib/libvirt/images/Testguest.qcow2'/>
   <target dev='hda' bus='ide'/>
   <address type='drive' controller='0' bus='0' target='0' unit='0'/>
  </disk>
  <disk type='file' device='cdrom'>
   <driver name='qemu' type='raw'/>
   <target dev='hdb' bus='ide'/>
   <readonly/>
   <address type='drive' controller='0' bus='0' target='0' unit='1'/>
  </disk>

虚拟机使用 /usr/bin/qemu-kvm 二进制文件模拟。另外,它连接了两个磁盘。第一个磁盘是基于主机上存储的 /var/lib/libvirt/images/Testguest.qcow2 的虚拟硬盘,其逻辑设备名称被设置为 hda

  <controller type='usb' index='0' model='qemu-xhci' ports='15'>
   <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
  </controller>
  <controller type='sata' index='0'>
   <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
  </controller>
  <controller type='pci' index='0' model='pcie-root'/>
  <controller type='pci' index='1' model='pcie-root-port'>
   <model name='pcie-root-port'/>
   <target chassis='1' port='0x10'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
  </controller>
  <controller type='pci' index='2' model='pcie-root-port'>
   <model name='pcie-root-port'/>
   <target chassis='2' port='0x11'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
  </controller>
  <controller type='pci' index='3' model='pcie-root-port'>
   <model name='pcie-root-port'/>
   <target chassis='3' port='0x12'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
  </controller>
  <controller type='pci' index='4' model='pcie-root-port'>
   <model name='pcie-root-port'/>
   <target chassis='4' port='0x13'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
  </controller>
  <controller type='pci' index='5' model='pcie-root-port'>
   <model name='pcie-root-port'/>
   <target chassis='5' port='0x14'/>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
  </controller>
  <controller type='pci' index='6' model='pcie-root-port'>
   <model name='pcie-root-port'/>
   <target chassis='6' port='0x15'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
  </controller>
  <controller type='pci' index='7' model='pcie-root-port'>
   <model name='pcie-root-port'/>
   <target chassis='7' port='0x16'/>
   <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
  </controller>
  <controller type='virtio-serial' index='0'>
   <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
  </controller>

VM 使用单个控制器来附加 USB 设备,而用于 PCI-Express(PCIe)设备的根控制器。另外,virtio-serial 控制器可用,它可让虚拟机以各种方式与主机交互,如串行控制台。

有关虚拟设备的详情,请参考 第 10.5 节 “虚拟设备类型”

 <interface type='network'>
  <mac address='52:54:00:65:29:21'/>
  <source network='default'/>
  <model type='rtl8139'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
 </interface>

在虚拟机中设置了网络接口,它使用 default 虚拟网络和 rtl8139 网络设备模型。

有关配置网络接口的详情,请参考 第 16.6 节 “优化虚拟机网络性能”

  <serial type='pty'>
   <target type='isa-serial' port='0'>
    <model name='isa-serial'/>
   </target>
  </serial>
  <console type='pty'>
   <target type='serial' port='0'/>
  </console>
  <channel type='unix'>
   <target type='virtio' name='org.qemu.guest_agent.0'/>
   <address type='virtio-serial' controller='0' bus='0' port='1'/>
  </channel>
  <channel type='spicevmc'>
   <target type='virtio' name='com.redhat.spice.0'/>
    <address type='virtio-serial' controller='0' bus='0' port='2'/>
  </channel>

在虚拟机上设置了一个 pty 串行控制台,它可启用与主机的不便虚拟机通信。控制台在端口 1 中使用 UNIX 频道,在端口 2 中使用半虚拟 SPICE。这个设置是自动设置的,我们不推荐修改这些设置。

有关与虚拟机交互的更多信息,请参阅 第 2.4.1 节 “使用 web 控制台与虚拟机交互”

  <input type='tablet' bus='usb'>
   <address type='usb' bus='0' port='1'/>
  </input>
  <input type='mouse' bus='ps2'/>
  <input type='keyboard' bus='ps2'/>

虚拟机使用虚拟 usb 端口,该端口设定为接收表格输入,并设置了一个虚拟 ps2 端口以接收鼠标和键盘输入。这个设置是自动设置的,我们不推荐修改这些设置。

  <graphics type='spice' autoport='yes' listen='127.0.0.1'>
   <listen type='address' address='127.0.0.1'/>
   <image compression='off'/>
  </graphics>
  <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'>
   <listen type='address' address='127.0.0.1'/>
  </graphics>

虚拟机使用 vncSPICE 协议渲染其图形输出,并且关闭镜像压缩。

  <sound model='ich6'>
   <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
  </sound>
  <video>
   <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
   <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
  </video>

为虚拟机设置了一个 ICH6 HDA 声音设备,,QEMU QXL 半虚拟帧缓冲设备被设置为视频加速器。这个设置是自动设置的,我们不推荐修改这些设置。

  <redirdev bus='usb' type='spicevmc'>
   <address type='usb' bus='0' port='1'/>
  </redirdev>
  <redirdev bus='usb' type='spicevmc'>
   <address type='usb' bus='0' port='2'/>
  </redirdev>
  <memballoon model='virtio'>
   <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
  </memballoon>
 </devices>
</domain>

虚拟机有两个重新目录来远程附加 USB 设备,打开内存 ballooning。这个设置是自动设置的,我们不推荐修改这些设置。


为了尽快向用户提供最新的信息,本文档可能会包括由机器自动从英文原文翻译的内容。如需更多信息,请参阅此说明。