vm-reprovision

使用

avcli vm-reprovision --name name [--new-name name] [--description "description"] [--cpu number] [--memory size] [--addVolumes volumes] [--deleteVolumes volumes] [--keepVolumes volumes] [--interfaces networks] [--disabled-interfaces networks] [--detach-boot-volume] [--attach-boot-volume name]

描述

vm-reprovision 命令可重新配置指定的 VM。

选项

--name name

指定将重新配置的 VM。每次只重新配置一个 VM。按名称或 ID 指定 VM。

--new-name name 指定 VM 的新名称。
--description "description " 指定该 VM 的描述。
--cpu number

虚拟 CPU 的数量。这默认为 VM 的当前数量。

--memory size 内存大小(单位为兆字节)。这默认为 VM 的当前数量。
--addVolumes volumes

将附加到此 VM 的卷的列表。由以逗号分隔的五个组件组成:

  • 卷的 大小;必填。
    在默认情况下以兆字节为单位指定卷大小,但您可以使用标准限定符,例如 KB、MB、GB 和 TB。
  • 分割存储所使用的 存储组名称或 ID。
  • 卷名称。
  • 卷磁盘映像格式(原始或 qcow2)。
  • 卷的扇区大小(512 或 4096)。
    • 扇区大小默认为 512 B,单位字节 (B)。
    • 如果存储组的扇区大小为 512 B,则卷的扇区大小必须为 512B。

    • 如果存储组的扇区大小在 4096 B (4 kB) 内,则同时支持 512 B 和 4096 B 作为卷的扇区大小。

    • 启动卷在呈现时必须将 512 B 作为扇区大小。

--deleteVolumes volumes 将删除的当前附加到指定 VM 的卷的列表。按名称或 ID 指定卷。
--keepVolumes volumes 当前附加到指定 VM 并且将与该 VM 保持附加状态的卷的列表。如果您指定一个当前已附加但未在该列表中指定的卷, 则该卷将与此 VM 分离(而不是毁坏)。按名称或 ID 指定卷。
--interfacesnetworks, MAC address 将连接到此 VM 的网络的列表。仅指定一次网络。连接的网络不得为专用网络。可选择在网络名称后指定 MAC 地址。
--disabled-interfaces networks, MAC address 将连接到此 VM 的网络的列表,但不应启用它。仅指定一次网络。连接的网络不得为专用网络。可选择在网络名称后指定 MAC 地址。
--detach-boot-volume 分离 VM 的启动卷。
--attach-boot-volumename 为此 VM 的新启动卷指定一个名称。如果此 VM 已经有一个附加的启动卷, 您还必须指定 --detach-boot-volume;否则此命令会失败。

示例

$ avcli vm-reprovision --cpu 2 --name vm1
$ avcli vm-reprovision --cpu 2 --name vm:o100
$ avcli vm-reprovision --cpu 2 --memory 2048 --name vm:o100
重新配置一个名称为 vm001 的 VM,该 VM 具有一个 CPU、1,024 MB 内存,并且已连接到 network0,然后从 Pool-0001 为该卷分配存储。该卷被命名为 vm001_vol0
$ avcli vm-reprovision --cpu 1 --memory 512 --interfaces network0 \
--addVolumes 1024,Pool-0001,vm001_vol0 --name vm1
重新配置 VM vm1,然后删除卷 volume:o411data-vm1 和与之关联的 data-vm2
$ avcli vm-reprovision --deleteVolumes volume:o411 data-vm1 data-vm2 --name vm1
重新配置 VM vm1(使用新数据卷 data-1-7),删除卷 volume:o1043,保留卷 volume:o1volume:o2volume:o4,以及连接网络接口 sharednetwork:o129sharednetwork:o130
$ avcli vm-reprovision --cpu 3 --memory 3359 --addVolume 2500,storagegroup:o54,data-1-7 --deleteVolumes volume:o1043 --keepVolumes volume:o1 volume:o2 volume:o4 --interfaces sharednetwork:o129 sharednetwork:o130 --name vm1
使用与之前示例中相同的参数重新配置 VM vm1。同时,重命名 VM vm2 并添加描述。
$ avcli vm-reprovision --cpu 3 --memory 3359 --addVolumes 2500,storagegroup:o54,data-1-7,qcow2 --deleteVolumes volume:o1043 --keepVolumes volume:o1 volume:o2 volume:o4 --interfaces sharednetwork:o129 sharednetwork:o130 --name vm1 --new-name vm2 --description "This is the vm description"
重新配置 VM vm001(具有两个 CPU,内存为 2048 MB;一个新的数据卷 vm001_data1,格式为 qcow2,扇区大小为 4 kB),并且保留 o7517
$ avcli vm-reprovision --cpu 2 --memory 2048 --addVolumes 20GB,storagegroup:o1090,vm001_data1,qcow2,4096 --keepVolumes volume:o7517 --name vm001

交换两个 VM 的启动磁盘。

分离启动卷:
$ avcli vm-reprovision --detach-boot-volume --name p56xen4
切换启动卷:
$ avcli vm-reprovision --detach-boot-volume --attach-boot-volume boot-p56xen4 --name p56xen8
将分离的启动卷附加到其他 VM:
$ avcli vm-reprovision --attach-boot-volume boot-p56xen8 --name p56xen4