第 15 章 虚拟机
15.1. 虚拟机项
vms
集合提供了 Red Hat Enterprise Virtualization 环境中的虚拟机信息。API 用户可以通过从进入点 URI 获得的 rel="vms"
链接来访问这些信息。
使用带有
All-Content: true
头的 GET
请求可以获得额外信息。
以下表格包括了虚拟机表述中的特定项的信息。
项 | 类型 | 描述 | 属性 |
---|---|---|---|
link rel="applications" | 关系 | 到虚拟机资源的 applications 子集合的链接,它显示了虚拟机上安装的应用程序。 | |
link rel="disks" | 关系 | 虚拟机资源的 disks 子集合。 | |
link rel="nics" | 关系 | 虚拟机资源的 nics 子集合。 | |
link rel="numanodes" | 关系 | 到虚拟机资源的 numanodes 子集合的链接。 | |
link rel="cdroms" | 关系 | 虚拟机资源的 cdroms 子集合。 | |
link rel="snapshots" | 关系 | 虚拟机资源的 snapshots 子集合。 | |
link rel="tags" | 关系 | 虚拟机资源的 tags 子集合。 | |
link rel="permissions" | 关系 | 虚拟机资源的 permissions 子集合。 | |
link rel="statistics" | 关系 | 虚拟机资源的 statistics 子集合。 | |
link rel="reporteddevices" |
关系
|
到虚拟机资源的
reporteddevices 子集合的链接。
| |
link rel="watchdogs" |
关系
|
虚拟机资源的
watchdogs 子集合。
| |
link rel="sessions" |
关系
|
虚拟机资源的
sessions 子集合。
| |
type | 列举 | 虚拟机类型。capabilities 包括了有效值列表。 | |
status | 参阅以下信息 | 虚拟机状态。 | |
memory | 整数 | 分配给虚拟机的内存大小(以字节为单位) | |
cpu | 复杂数据 |
定义虚拟机的 CPU 详情。
topology 子项定义了虚拟机可用的逻辑 sockets 的数量,以及每个插槽中的 cores 的数量。虚拟机可用的内核总数是插槽数量乘以每个插槽的内核数。
cputune 子项使用一组 vcpupin 项来把虚拟 CPU 和物理主机 CPU 进行映射。每个 vcpupin 项包括一个虚拟 CPU 属性(vcpu )以及一个指定虚拟 CPU 所使用的物理 CPU 属性(cpuset )。cpuset 可以被设置为单一 CPU(cpuset="0" )、多个 CPU(cpuset="0,2" )、一个 CPU 范围(cpuset="0-3" )或排除特定 CPU 的 CPU 范围(cpuset="0-3,^2" )。
cpu_mode 子项定义了虚拟 CPU 和相关主机 CPU 的紧密关系程度。它包括 3 个值:custom (默认值,没有指定任何模式)、host_model (复制 libvirt 支持的主机 CPU )和 host_passthrough (把主机的所有功能都复制到虚拟机,包括 libvirt 不支持的功能。但是,host_passthrough 会使虚拟机无法被迁移)。
| |
os type= | 字符串,如 RHEL5 或 WindowsXP | 虚拟机操作系统类型。 | |
os boot dev= | 列举 | boot 项的 dev 属性所描述的引导设备列表。capabilities 包括了它的有效值。 | |
os kernel | 字符串 | 到虚拟机引导内核镜像的路径。这个选项支持直接引导 Linux 内核,而不需要 BIOS bootloader。 | |
os initrd | 字符串 | 到一个指定内核所使用的 initrd 镜像的路径。这个选项支持直接引导 Linux 内核,而不需要 BIOS bootloader。 | |
os cmdline | 字符串 | 内核需要使用的内核命令行参数。这个选项支持直接引导一个 Linux 内核,而不需要使用 BIOS bootloader。 | |
high_availability | 复杂数据 | 如果需要在虚拟机或它所在的主机出现系统故障时自动重启,请把 enabled 设置为 true 。一个 priority 项被用来控制虚拟机重启的顺序。 | |
display | 复杂数据 |
显示的
类型 (vnc 或 spice )、端口以及显示器 的数量。allow_reconnect 的值指定了客户端是否可以通过显示重新连接到机器上。
smartcard_enabled 子项是一个布尔值(true 或 false ),它被用来指定附加到客户端系统上的 Smartcard 是否可以被传递到虚拟机上。这个子项的默认值是 false 。
| |
cluster id= | GUID | 虚拟机所在主机的集群标识。 | |
template id= | GUID | 虚拟机所基于的模板标识。 | |
domain id= | GUID | 虚拟机域的标识。 | |
start_time | xsd:dateTime 格式:YYYY-MM-DDThh:mm:ss | 虚拟机被启动的时间。 | |
stop_time | xsd:dateTime 格式:YYYY-MM-DDThh:mm:ss | 虚拟机被停止的时间。 | |
creation_time | xsd:dateTime 格式:YYYY-MM-DDThh:mm:ss | 虚拟机被创建的时间。 | |
origin | rhev 、ovirt 、vmware 或 xen | 虚拟机的原始系统。 | |
stateless | 布尔值:true 或 false | 如果虚拟机是无状态的(stateless),把这个参数设为 true 。无状态的虚拟机会在系统启动时对磁盘做一个快照,并在关机时删除对系统所做的所有改变。这意味着每次对系统所做的改变会在系统重启后丢失。 | |
delete_protected | 布尔值:true 或 false | 如果设为 true ,虚拟机将无法被删除。 | |
sso | 字符串 | 到虚拟机的单点登录方法的一个指代,它包括一个带有 ip 属性的 method 项。 | |
placement_policy | 复杂数据 | 设置虚拟机迁移的替换策略。需要一个默认的 host= 和一个 affinity (migratable 、user_migratable 或 pinned )。如果没有设置 host 项的值,则意味着没有首选的主机。使用多个 host 项可以在集群中指定一组首选的主机。 | |
memory_policy | 复杂数据 | 为虚拟机设置内存策略。定义为了运行这个虚拟机所需要的最小 guaranteed 主机内存。 | |
quota id= | GUID | 为虚拟机设置配额。 | |
custom_properties | 复杂数据 | 传递给脚本的一组用户定义的环境变量。每个 custom_property 都包括 name 和 value 属性。capabilities 包括了有效值的列表。 | |
usb | 复杂数据 | 定义虚拟机的 USB 策略。需要一个 enabled 项(布尔值)和一个 type 项(值是 native 或 legacy )。 | |
migration_downtime | 整数 | 代表在实时迁移时,虚拟机可以下线的最长时间(以毫秒为单位)。如果它的值为 0,则代表使用 VDSM 的默认设置。 | |
cpu_profile id= | GUID | 到虚拟机的 CPU 配置集的参考。 | |
next_run_configuration | 布尔值:true 或 false | 如果对虚拟机的配置改变需要在虚拟机下一次重启时生效,这个值应为 true 。 | |
numa_tune_mode | 字符串 | 到主机 NUMA 节点的内存分配模式(interleave 、strict 或 preferred )的参考。 | |
guest_info | 复杂数据 | 虚拟机客户端的信息。包括一个带有 address= 属性的 ip 项。 | |
vmpool | 复杂数据 | 虚拟机池的标识。这个项只会出现在属于某个虚拟机池的虚拟机上。 | |
timezone | 时区数据库格式:Area/Location | Windows 虚拟机在 Sysprep 中的时区设置。 | |
domain | 复杂数据 | Windows 虚拟机模板在 Sysprep 中的时区设置。需要 domains 集合中的一个 name 。 | |
initialization | 复杂数据 |
定义一组 Linux 虚拟机使用 Cloud-Init 引导时,或 Windows 虚拟机使用 Sysprep 时使用的值。
| |
payloads | 复杂数据 |
定义一组在引导时传递给虚拟机的
payload 项。每个 payload 需要一个 type 属性(cdrom 或 floppy )和一组 file 属性。每个 file 项中包括一个 name 项(定义了文件的名称和位置),以及一个 content 项(定义了传递给文件的内容)。
payloads 项被 cloud-init 使用。当使用 cloud-init 配置虚拟机时,一个 payload 会被自动创建。它的 type 属性被设置为 cd-rom ,并有两个 file 子项(openstack/latest/meta_data.json 和 openstack/latest/user_data ),它们把配置参数传递给虚拟机。
|
status
包括以下值之一:unassigned
、down
、up
、powering_up
、powered_down
、paused
、migrating_from
、migrating_to
、unknown
、not_responding
、wait_for_launch
、reboot_in_progress
、saving_state
、restoring_state
、suspended
、image_illegal
、image_locked
或 powering_down
。这些状态在 capabilities
下的 vm_states
中列出。