15.6. sub-Collections


15.6.1. disks Sub-Collection

15.6.1.1. disks Sub-Collection

disks 子集合表示虚拟机中的所有虚拟硬盘设备。磁盘 表示包含以下元素:
表 15.2. 虚拟磁盘的元素
元素 类型 Description Properties
link rel="statistics" 关系 到虚拟机磁盘 统计的统计信息 子集合的链接。
link rel="permissions" 关系 权限 子集合的链接。
alias 字符串 磁盘的唯一标识符。使用 alias 而不是 name
image_id 字符串 对存储在定义的存储域中的虚拟机镜像的引用。
storage_domains complex 与此磁盘关联的存储域。每个 storage_domain 元素包含一个 id 属性,其中包含关联的存储域的 GUID。使用 POST 更新此元素,以执行磁盘从一个数据存储域的实时迁移到另一个数据存储域。 [a]
size 整数 磁盘大小(以字节为单位)。弃用; 被 provisioned_size 替代。
provisioned_size 整数 磁盘置备大小(以字节为单位)。
actual_size 整数 磁盘的实际大小(以字节为单位)。
status 其中一个 非法无效锁定正常 磁盘设备的状态。这些状态列在 capabilities 下的 disk_states 中。
interface Enumerated 用于连接到磁盘设备的接口驱动程序的类型。枚举的值列表包括在 能力 中。 
格式 Enumerated 底层存储格式。枚举的值列表包括在 能力 中。Copy On Write (COW)允许快照,且性能小。raw 不允许快照,但提供更好的性能。
sparse 布尔值: true 或 false 如果磁盘的物理存储不应预分配,则为 true
bootable 布尔值: true 或 false 如果此磁盘被标记为可引导,则为 true 
可共享 布尔值: true 或 false true 与多个虚拟机共享磁盘。 
wipe_after_delete 布尔值: true 或 false 如果删除磁盘时,磁盘的底层物理存储应为零为 true。这会提高安全性,但是一个更密集的操作,可能会延长删除时间。 
propagate_errors 布尔值: true 或 false 如果磁盘错误不应导致虚拟机暂停,且应该向客户端操作系统传播磁盘错误,则为 true 
vm id= GUID 包含虚拟机的 ID。
quota id= GUID 为磁盘设置配额。 
lun_storage complex 对存储使用直接 LUN 映射的引用。需要包含 iSCSI 或 FCP 设备详情的 logical_unit 元素。
active 布尔值 定义磁盘是否已连接到虚拟机。
read_only 布尔值 定义磁盘是否只读。
link rel="disk_profile" 关系 disk_profile 子集合的链接。
[a] 只有在磁盘被添加到虚拟机且没有从虚拟机模板创建时,才需要此元素。

例 15.11. 磁盘设备的 XML 表示

<disk id="ed7feafe-9aaf-458c-809a-ed789cdbd5b4"
  href="/ovirt-engine/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399/disks/
  ed7feafe-9aaf-458c-809a-ed789cdbd5b4">
    <link rel="statistics"
      href="/ovirt-engine/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399/disks/
      ed7feafe-9aaf-458c-809a-ed789cdbd5b4/statistics"/>
    <link rel="permissions"
      href="/ovirt-engine/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399/disks/
      ed7feafe-9aaf-458c-809a-ed789cdbd5b4/permissions"/>
    <vm id="082c794b-771f-452f-83c9-b2b5a19c0399"
      href="/ovirt-engine/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399"/> 
    <alias>Classic_VM</alias>
    <image_id>cac69a29-ccff-49d4-8a26-e4cdacd83e34</image_id> 
    <storage_domains>
        <storage_domain id="fabe0451-701f-4235-8f7e-e20e458819ed"/>
    </storage_domains> 
    <size>12884901888</size>
    <provisioned_size>12884901888</provisioned_size>
    <actual_size>1073741824</actual_size>
    <type>system</type>
    <status>
        <state>ok</state>
    </status>
    <interface>virtio</interface>
    <format>raw</format>
    <bootable>true</bootable>
    <shareable>true</shareable>
    <wipe_after_disk>true</wipe_after_disk>
    <propagate_errors>false</propagate_errors>
    <active>true</active>
    <read_only>false</read_only>
    <disk_profile id="23fb2e0d-3062-4819-8165-3be88f2f587e"
      href="/ovirt-engine/api/diskprofiles/23fb2e0d-3062-4819-8165-3be88f2f587e"/>
    <lun_storage>
        <logical_unit id="lun1">
                ...
        </logical_unit>
    </lun_storage>
</disk>

添加新虚拟磁盘。在添加新的内部磁盘时,需要 provisioned_size 元素。使用 storage_domains 元素指定要在其中创建磁盘的存储域。同一虚拟机的多个磁盘可以驻留在不同的存储域中。

例 15.12. 在虚拟机上创建新磁盘设备

POST /ovirt-engine/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399/disks HTTP/1.1
Accept: application/xml
Content-type: application/xml

<disk>
    <storage_domains>
        <storage_domain id="fabe0451-701f-4235-8f7e-e20e458819ed"/>
    </storage_domains>        
    <provisioned_size>8589934592</provisioned_size>
    <type>system</type>
    <interface>virtio</interface>
    <format>cow</format>
    <bootable>true</bootable>
</disk>
将新的外部(直接 LUN)磁盘添加到虚拟机。这个方法需要 lun_storage 元素和 logical_unit 元素,其中包含 iSCSI 或 FCP 设备详情。

例 15.13. 在虚拟机上创建新的直接 LUN 磁盘设备

POST /ovirt-engine/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399/disks HTTP/1.1
Accept: application/xml
Content-type: application/xml
		
<disk>
    <interface>virtio</interface>
    <lun_storage>
        <type>iscsi</type>
        <logical_unit id="lun1">
            <address>iscsi.example.com</address>
            <port>3260</port>
            <target>iqn.2010.05.com.example:iscsi.targetX</target>
        </logical_unit>
    </lun_storage>
</disk>
别名,description,storage_domains,provisioned_size,interface,bootable,shareable,wipe_after_delete and propagate_errors 元素在创建后是 updatable。
用户可以调整一个或多个虚拟机使用的虚拟磁盘,而无需暂停、休眠或重启虚拟机。

例 15.14. 更新虚拟磁盘

PUT /ovirt-engine/api/vms/cdc0b102-fbfe-444a-b9cb-57d2af94f401/disks/ed7feafe-9aaf-458c-809a-ed789cdbd5b4 HTTP/1.1
Accept: application/xml
Content-type: application/xml

<disk>
    <bootable>false</bootable>
    <shareable>false</shareable>
</disk>

例 15.15. 将虚拟磁盘更新为 20GB

PUT /ovirt-engine/api/vms/cdc0b102-fbfe-444a-b9cb-57d2af94f401/disks/ed7feafe-9aaf-458c-809a-ed789cdbd5b4 HTTP/1.1
Accept: application/xml
Content-type: application/xml

<disk>
    <provisioned_size>21474836480</provisioned_size>
</disk>
注意
上例中的磁盘大小使用以下公式转换为字节:
20480MB * 1024 2 = 21474836480 bytes

例 15.16. 重命名虚拟磁盘

PUT /ovirt-engine/api/vms/cdc0b102-fbfe-444a-b9cb-57d2af94f401/disks/ed7feafe-9aaf-458c-809a-ed789cdbd5b4 HTTP/1.1
Accept: application/xml
Content-type: application/xml

<disk>
    <alias>Classic_VM2</alias>
</disk>
删除虚拟磁盘需要 DELETE 请求。

例 15.17. 删除虚拟磁盘

DELETE /ovirt-engine/api/vms/cdc0b102-fbfe-444a-b9cb-57d2af94f401/disks/ed7feafe-9aaf-458c-809a-ed789cdbd5b4 HTTP/1.1

HTTP/1.1 204 No Content

15.6.1.2. 磁盘克隆

使用 clone 元素从模板克隆磁盘。在创建虚拟机时,在 disks 子集合中将 clone 元素设置为 true。这会从基本模板克隆磁盘并将其附加到虚拟机。

例 15.18. 从模板克隆磁盘

以下示例在创建虚拟机期间从模板克隆磁盘。
POST /ovirt-engine/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1
Accept: application/xml
Content-type: application/xml
        
<vm>
    <name>cloned_vm</name>
    <template id="64d4aa08-58c6-4de2-abc4-89f19003b886"/>
    <cluster id="99408929-82cf-4dc7-a532-9d998063fa95"/>
    <disks>
        <clone>true</clone>
        <disk id="4825ffda-a997-4e96-ae27-5503f1851d1b">
            <format>COW</format>
        </disk>
        <disk id="42aef10d-3dd5-4704-aa73-56a023c1464c">
            <format>COW</format>
        </disk>
    </disks>
</vm>
重要
根据磁盘名称搜索查询需要 别名 搜索参数,而不是 名称

15.6.1.3. Disk Statistics Sub-Collection

每个虚拟机的磁盘会公开一个 统计 子集合,用于特定于磁盘的统计信息。每个统计 都包含以下元素:
表 15.3. 虚拟磁盘统计的元素
元素 类型 描述
name 字符串 统计条目的唯一标识符。
description 字符串 统计的纯文本描述。
unit 字符串 测量统计值的单元或率。
type GAUGECOUNTER之一 统计测量结果的类型。
values type= INTEGERDECIMAL之一 后面的统计值的数据类型。
value complex 包含 datum 的数据集。
datum 查看值类型 来自 的独立数据。
disk id= 关系 与包含 disk 资源的关系。
下表列出了虚拟磁盘的统计类型。
表 15.4. 虚拟磁盘统计类型
名称
Description
data.current.read
从磁盘读取时,数据传输速率(以字节/秒为单位)。
data.current.write
在写入磁盘时,数据传输速率(以字节/秒为单位)。

例 15.19. 虚拟机统计子集合的 XML 表示

<statistics>
    <statistic id="33b9212b-f9cb-3fd0-b364-248fb61e1272"
      href="/ovirt-engine/api/vms/3a42530e-3bc5-4094-829d-489257894c2a/disks/
      f28ec14c-fc85-43e1-818d-96b49d50e27b/statistics/
      33b9212b-f9cb-3fd0-b364-248fb61e1272">
        <name>data.current.read</name>
        <description>Read data rate</description>
        <values type="DECIMAL">
            <value>
                <datum>0</datum>
            </value>
        </values>
        <type>GAUGE</type>
        <unit>BYTES_PER_SECOND</unit>
        <disk id="f28ec14c-fc85-43e1-818d-96b49d50e27b" 
          href="/ovirt-engine/api/vms/3a42530e-3bc5-4094-829d-489257894c2a/
          disks/f28ec14c-fc85-43e1-818d-96b49d50e27b"/>
    </statistic>
    ...
</statistics>
注意
这个 统计 子集合是只读的。

15.6.1.4. 浮动磁盘附加和分离操作

使用虚拟机磁盘子集合上的 POST 请求从主 rel=" disks " 集合中附加磁盘。包含要附加的磁盘的 id

例 15.20. 附加浮动磁盘

POST /ovirt-engine/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399/disks HTTP/1.1
Accept: application/xml
Content-type: application/xml

<disk id="d135f1c5-b5e1-4238-9381-b3277f5a3742">
</disk>
使用 disk 资源的 DELETE 请求从虚拟机的磁盘子集合 中分离磁盘,但请确保包含分离 的布尔值元素,以便磁盘不会被销毁。

例 15.21. 从虚拟机中分离磁盘

DELETE /ovirt-engine/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399/disks/
  d135f1c5-b5e1-4238-9381-b3277f5a3742 HTTP/1.1
Accept: application/xml
Content-type: application/xml

<action>
    <detach>true</detach>
</action>

15.6.1.5. 磁盘激活和取消激活操作

每个虚拟机的磁盘提供了一组 激活和停用 操作,以在虚拟机中添加和删除磁盘。

例 15.22. 激活虚拟磁盘的操作

POST /ovirt-engine/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399/disks/a42ada0e-1d69-410d-a392-a6980d873e5d/activate HTTP/1.1
Accept: application/xml
Content-type: application/xml

<action/>

例 15.23. 取消激活虚拟磁盘的操作

POST /ovirt-engine/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399/disks/a42ada0e-1d69-410d-a392-a6980d873e5d/deactivate HTTP/1.1
Accept: application/xml
Content-type: application/xml

<action/>
使用这些操作将磁盘热插拔到虚拟机并激活新附加的浮动磁盘。
重要
热插拔功能只支持支持热插操作的 VirtIO 磁盘和虚拟机操作系统。操作系统示例包括:
  • Red Hat Enterprise Linux 6;
  • Red Hat Enterprise Linux 5;
  • Windows Server 2008;以及.
  • Windows Server 2003.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.