15.5. 方法
15.5.1. 创建虚拟机 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
创建一个新虚拟机需要
name、template 和 cluster 项。使用 id 属性或 name 项指定 template 和 cluster 项。使用 cpuprofiles 属性指定 CPU 配置集的 ID。
例 15.4. 创建一个带有 512 MB 内存的、从 CD-ROM 引导的虚拟机。
POST /api/vms HTTP/1.1
Accept: application/xml
Content-type: application/xml
<vm>
<name>vm2</name>
<description>Virtual Machine 2</description>
<type>desktop</type>
<memory>536870912</memory>
<cluster>
<name>default</name>
</cluster>
<template>
<name>Blank</name>
</template>
<os>
<boot dev="cdrom"/>
</os>
<cdroms>
<cdrom>
<file id="example_windows_7_x64_dvd_u_677543.iso"/>
</cdrom>
</cdroms>
<cpu_profile id="0000001a-001a-001a-001a-00000000035e"/>
</vm>
例 15.5. 创建一个带有 512 MB 内存的、从虚拟硬盘引导的虚拟机。
POST /api/vms HTTP/1.1
Accept: application/xml
Content-type: application/xml
<vm>
<name>vm2</name>
<description>Virtual Machine 2</description>
<type>desktop</type>
<memory>536870912</memory>
<cluster>
<name>default</name>
</cluster>
<template>
<name>Blank</name>
</template>
<os>
<boot dev="hd"/>
</os>
<cpu_profile id="0000001a-001a-001a-001a-00000000035e"/>
</vm>
注意
以上实例中的内存是通过以下公式计算的:
512MB * 1024 2 = 536870912 字节
15.5.2. 更新虚拟机 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在创建后,
name、description、cluster、type、memory、cpu、os、high_availability、display、timezone、domain、stateless、placement_policy、memory_policy、usb、payloads、origin 和 custom_properties 项可以被更新。
例 15.6. 更新一个带有 1 GB 内存的虚拟机
PUT /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1
Accept: application/xml
Content-type: application/xml
<vm>
<memory>1073741824</memory>
</vm>
注意
以上实例中的内存是通过以下公式计算的:
1024MB * 1024 2 = 1073741824 字节
注意
从 Red Hat Enterprise Virtualization 3.6 开始,内存热插功能开始被支持。您可以使用上面的示例来在虚拟机运行时增加内存的数量。
例 15.7. 把一个虚拟机固定到多个主机
一个固定到多个主机的虚拟机不能被实时迁移,但在特定的主机间具有高可用性。多主机固定设置可以用来把虚拟机限制到一组主机中(如有相同硬件配置的一组主机)。
PUT /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1
Accept: application/xml
Content-type: application/xml
<vm>
<high_availability>
<enabled>true</enabled>
<priority>1</priority>
</high_availability>
<placement_policy>
<hosts>
<host><name>Host1</name></host>
<host><name>Host2</name></host>
</hosts>
<affinity>pinned</affinity>
</placement_policy>
</vm>
15.5.3. 删除虚拟机 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
删除虚拟机需要一个
DELETE 请求。
例 15.8. 删除一个虚拟机
DELETE /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1
HTTP/1.1 204 No Content
15.5.4. 删除虚拟机,但不删除虚拟磁盘 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在删除虚拟机前断开附加的虚拟磁盘,这会保留虚拟磁盘中的数据。删除虚拟机需要一个
DELETE 请求。
例 15.9. 删除一个虚拟机
DELETE /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<vm>
<disks>
<detach_only>true</detach_only>
</disks>
</vm>
</action>