搜索

6.286. VM

download PDF
表 6.895. 方法概述
名称概述

add

创建新虚拟机.

list

返回系统虚拟机的列表。

6.286.1. 添加 POST

创建新虚拟机.

可以通过不同的方式创建虚拟机:

  • 从模板.在这种情况下,必须提供模板的标识符或名称。例如,使用普通 shell 脚本和 XML:
#!/bin/sh -ex

url="https://engine.example.com/ovirt-engine/api"
user="admin@internal"
password="..."
curl \
--verbose \
--cacert /etc/pki/ovirt-engine/ca.pem \
--user "${user}:${password}" \
--request POST \
--header "Version: 4" \
--header "Content-Type: application/xml" \
--header "Accept: application/xml" \
--data '
<vm>
  <name>myvm</name>
  <template>
    <name>Blank</name>
  </template>
  <cluster>
    <name>mycluster</name>
  </cluster>
</vm>
' \
"${url}/vms"
  • 从快照.在这种情况下,必须提供快照的标识符。例如,使用普通的 shel 脚本和 XML:
#!/bin/sh -ex

url="https://engine.example.com/ovirt-engine/api"
user="admin@internal"
password="..."
curl \
--verbose \
--cacert /etc/pki/ovirt-engine/ca.pem \
--user "${user}:${password}" \
--request POST \
--header "Content-Type: application/xml" \
--header "Accept: application/xml" \
--data '
<vm>
  <name>myvm</name>
  <snapshots>
    <snapshot id="266742a5-6a65-483c-816d-d2ce49746680"/>
  </snapshots>
  <cluster>
    <name>mycluster</name>
  </cluster>
</vm>
' \
"${url}/vms"

从模板或快照创建虚拟机时,明确指明在哪个存储域中为虚拟机创建磁盘通常很有用。如果从模板创建虚拟机,这可以通过一组代表映射的 disk_attachment 元素实现:

<vm>
  ...
  <disk_attachments>
    <disk_attachment>
      <disk id="8d4bd566-6c86-4592-a4a7-912dbf93c298">
        <storage_domains>
          <storage_domain id="9cb6cb0a-cf1d-41c2-92ca-5a6d665649c9"/>
        </storage_domains>
      </disk>
    <disk_attachment>
  </disk_attachments>
</vm>

从快照创建虚拟机时,此磁盘集合略有不同,它使用 image_id 属性而不是 id

<vm>
  ...
  <disk_attachments>
    <disk_attachment>
      <disk>
        <image_id>8d4bd566-6c86-4592-a4a7-912dbf93c298</image_id>
        <storage_domains>
          <storage_domain id="9cb6cb0a-cf1d-41c2-92ca-5a6d665649c9"/>
        </storage_domains>
      </disk>
    <disk_attachment>
  </disk_attachments>
</vm>

可以在 XML 描述中指定额外的虚拟机参数,例如,桌面类型的虚拟机,RAM 为 2 GiB,其他描述可以添加发送请求正文,如下所示:

<vm>
  <name>myvm</name>
  <description>My Desktop Virtual Machine</description>
  <type>desktop</type>
  <memory>2147483648</memory>
  ...
</vm>

可引导 CDROM 设备可以设置为如下:

<vm>
  ...
  <os>
    <boot dev="cdrom"/>
  </os>
</vm>

要从 CDROM 启动,您首先需要插入磁盘,如 CDROM 服务中所述。然后,可以使用 the os.boot.devices 属性从该 CDROM 引导:

<vm>
  ...
  <os>
    <boot>
      <devices>
        <device>cdrom</device>
      </devices>
    </boot>
  </os>
</vm>

在所有情况下,创建虚拟机的集群的名称或标识符都是必须的。

表 6.896. 参数摘要
名称类型方向概述

auto_pinning_policy

AutoPinningPolicy

in

指定是否以及如何应用自动 CPU 和 NUMA 配置。

clone

布尔值

in

指定虚拟机是否应该独立于模板。

clone_permissions

布尔值

in

指定模板的权限是否应复制到虚拟机。

filter

布尔值

in

仅与管理员用户相关。

seal

布尔值

in

指定在创建虚拟机后是否应密封虚拟机。

vm

VM

in/Out

 

6.286.1.1. auto_pinning_policy

指定是否以及如何应用自动 CPU 和 NUMA 配置。

重要

由于引擎的 4.5 版已弃用,因此仅保留以向后兼容。以后会将其移除。请使用 POST 后跟 添加操作

请求的示例:

POST /ovirt-engine/api/vms?auto_pinning_policy=existing/adjust

这样的请求正文:

<vm>
  <name>myvm<name>
  <template>
    <name>mytemplate<name>
  </template>
  <cluster>
    <name>mycluster<name>
  </cluster>
  <placement_policy>
    <hosts>
      <host>
        <name>myhost</name>
      </host>
    </hosts>
  </placement_policy>
</vm>

6.286.1.2. clone

指定虚拟机是否应该独立于模板。

默认情况下,从模板创建虚拟机时,虚拟机的磁盘取决于模板的磁盘,它们使用写入机制时复制,以便仅模板的不同占用实际存储空间。如果指定此参数且值为 true,则创建的虚拟机的磁盘将被 克隆 并独立于模板。例如,要创建独立虚拟机,请发送如下请求:

POST /ovirt-engine/vms?clone=true

这样的请求正文:

<vm>
  <name>myvm<name>
  <template>
    <name>mytemplate<name>
  </template>
  <cluster>
    <name>mycluster<name>
  </cluster>
</vm>
注意

此参数为 true 时,也会复制模板的权限,如使用 clone_permissions=true 时。

6.286.1.3. clone_permissions

指定模板的权限是否应复制到虚拟机。

如果提供了此可选参数,其值为 true,则模板的权限(仅直接权限,而不是继承的值)将复制到创建的虚拟机。例如,要从 mytemplate 模板创建虚拟机复制其权限,请发送类似如下的请求:

POST /ovirt-engine/api/vms?clone_permissions=true

这样的请求正文:

<vm>
  <name>myvm<name>
  <template>
    <name>mytemplate<name>
  </template>
  <cluster>
    <name>mycluster<name>
  </cluster>
</vm>

6.286.1.4. filter

仅与管理员用户相关。指明是否为此用户在创建的虚拟机上分配 UserVmManager 角色。这将允许用户稍后访问虚拟机,就像他是非管理员用户一样,增强其管理员权限(通过提供 filter=true)。

注意

admin-as-user(这意味着在现有虚拟机上提供 filter=true)POST 请求将失败,除非管理员之前以用户的身份创建了虚拟机(源自 filter=true)。

6.286.1.5. seal

指定在创建虚拟机后是否应密封虚拟机。

如果提供此可选参数,其值为 true,则虚拟机将在创建后密封。如果值为 'false',则虚拟机不会被密封。如果没有提供该参数,则虚拟机将被密封,只有在从封装的模板中创建它时,其客户机操作系统不会设置为 Windows。

例如,要从 mytemplate 模板创建虚拟机并封装它,请发送如下请求:

POST /ovirt-engine/api/vms?seal=true

这样的请求正文:

<vm>
  <name>myvm<name>
  <template>
    <name>mytemplate<name>
  </template>
  <cluster>
    <name>mycluster<name>
  </cluster>
</vm>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.