This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.9.18. 克隆虚拟机
9.18.1. 启用用户权限跨命名空间克隆数据卷 复制链接链接已复制到粘贴板!
命名空间的隔离性质意味着用户默认无法在命名空间之间克隆资源。
要让用户将虚拟机克隆到另一个命名空间,具有 cluster-admin
角色的用户必须创建新的集群角色。将此集群角色绑定到用户,以便其将虚拟机克隆到目标命名空间。
9.18.1.1. 先决条件 复制链接链接已复制到粘贴板!
-
只有具有
cluster-admin
角色的用户才能创建集群角色。
9.18.1.2. 关于数据卷 复制链接链接已复制到粘贴板!
DataVolume
对象是 Containerized Data Importer (CDI) 项目提供的自定义资源。DataVolume 编配与底层持久性卷声明(PVC)关联的导入、克隆和上传操作。数据卷与 OpenShift Virtualization 集成,它们可在 PVC 准备好前阻止虚拟机启动。
9.18.1.3. 创建用于克隆数据卷的 RBAC 资源 复制链接链接已复制到粘贴板!
创建一个新的集群角色,为 datavolumes
资源的所有操作启用权限。
流程
创建
ClusterRole
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 集群角色的唯一名称。
在集群中创建集群角色:
oc create -f <datavolume-cloner.yaml>
$ oc create -f <datavolume-cloner.yaml>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 上一步中创建的
ClusterRole
清单的文件名。
创建应用于源和目标命名空间的
RoleBinding
清单,并引用上一步中创建的集群角色。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在集群中创建角色绑定:
oc create -f <datavolume-cloner.yaml>
$ oc create -f <datavolume-cloner.yaml>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 上一步中创建的
RoleBinding
清单的文件名。
9.18.2. 将虚拟机磁盘克隆到新数据卷中 复制链接链接已复制到粘贴板!
您可以通过引用数据卷配置文件中的源 PVC 来将虚拟机磁盘的持久性卷声明(PVC)克隆到新数据卷中。
支持在不同卷模式间克隆操作,比如从带有 volumeMode: Block
的持久性卷(PV)克隆到带有 volumeMode: Filesystem
的 PV。
但是,只有在不同的卷模式中存在contentType: kubevirt
时才可以克隆它们。
当您全局启用预分配或单个数据卷时,Containerized Data Importer(CDI)会在克隆过程中预分配磁盘空间。预分配可提高写入性能。如需更多信息,请参阅对数据卷使用预分配。
9.18.2.1. 先决条件 复制链接链接已复制到粘贴板!
- 用户需要额外权限才能将虚拟机磁盘的 PVC 克隆到另一个命名空间中。
9.18.2.2. 关于数据卷 复制链接链接已复制到粘贴板!
DataVolume
对象是 Containerized Data Importer (CDI) 项目提供的自定义资源。DataVolume 编配与底层持久性卷声明(PVC)关联的导入、克隆和上传操作。数据卷与 OpenShift Virtualization 集成,它们可在 PVC 准备好前阻止虚拟机启动。
9.18.2.3. 将虚拟机磁盘的持久性卷声明克隆到新数据卷中 复制链接链接已复制到粘贴板!
您可以将现有虚拟机磁盘的持久性卷声明(PVC)克隆到新数据卷中。新的数据卷可用于新虚拟机。
当独立于虚拟机创建数据卷时,数据卷的生命周期与虚拟机是独立的。如果删除了虚拟机,数据卷及其相关 PVC 都不会被删除。
先决条件
- 确定要使用的现有虚拟机磁盘的 PVC。克隆之前,必须关闭与 PVC 关联的虚拟机。
-
安装 OpenShift CLI(
oc
)。
流程
- 检查您要克隆的虚拟机磁盘,以识别关联 PVC 的名称和命名空间。
为数据卷创建一个 YAML 文件,用于指定新数据卷的名称、源 PVC 的名称和命名空间,以及新数据卷的大小。
例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过创建数据卷开始克隆 PVC:
oc create -f <cloner-datavolume>.yaml
$ oc create -f <cloner-datavolume>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在 PVC 就绪前,DataVolume 会阻止虚拟机启动,以便您可以在 PVC 克隆期间创建引用新数据卷的虚拟机。
9.18.2.4. CDI 支持的操作列表 复制链接链接已复制到粘贴板!
此列表针对端点显示内容类型支持的 CDI 操作,以及哪些操作需要涂销空间(scratch space)。
内容类型 | HTTP | HTTPS | HTTP 基本身份验证 | Registry | 上传 |
---|---|---|---|---|---|
KubeVirt (QCOW2) |
✓ QCOW2 |
✓ QCOW2** |
✓ QCOW2 |
✓ QCOW2* |
✓ QCOW2* |
KubeVirt (RAW) |
✓ RAW |
✓ RAW |
✓ RAW |
✓ RAW* |
✓ RAW* |
✓ 支持的操作
□ 不支持的操作
* 需要涂销空间
** 如果需要自定义证书颁发机构,则需要涂销空间
9.18.3. 使用数据卷模板克隆虚拟机 复制链接链接已复制到粘贴板!
您可以通过克隆现有虚拟机的持久性卷声明(PVC)来创建新虚拟机。在虚拟机配置文件中包括 dataVolumeTemplate
,即可从原始 PVC 创建新数据卷。
支持在不同卷模式间克隆操作,比如从带有 volumeMode: Block
的持久性卷(PV)克隆到带有 volumeMode: Filesystem
的 PV。
但是,只有在不同的卷模式中存在contentType: kubevirt
时才可以克隆它们。
当您全局启用预分配或单个数据卷时,Containerized Data Importer(CDI)会在克隆过程中预分配磁盘空间。预分配可提高写入性能。如需更多信息,请参阅对数据卷使用预分配。
9.18.3.1. 先决条件 复制链接链接已复制到粘贴板!
- 用户需要额外权限才能将虚拟机磁盘的 PVC 克隆到另一个命名空间中。
9.18.3.2. 关于数据卷 复制链接链接已复制到粘贴板!
DataVolume
对象是 Containerized Data Importer (CDI) 项目提供的自定义资源。DataVolume 编配与底层持久性卷声明(PVC)关联的导入、克隆和上传操作。数据卷与 OpenShift Virtualization 集成,它们可在 PVC 准备好前阻止虚拟机启动。
9.18.3.3. 使用数据卷模板从克隆的持久性卷声明创建新虚拟机 复制链接链接已复制到粘贴板!
您可以创建一个虚拟机,将现有虚拟机的持久性卷声明(PVC)克隆到数据卷中。在虚拟机清单中引用 dataVolumeTemplate
,并将源
PVC 克隆到数据卷中,然后自动用于创建虚拟机。
当作为虚拟机的数据卷模板创建数据卷时,数据卷的生命周期依赖于虚拟机。如果删除了虚拟机,数据卷和相关 PVC 也会被删除。
先决条件
- 确定要使用的现有虚拟机磁盘的 PVC。克隆之前,必须关闭与 PVC 关联的虚拟机。
-
安装 OpenShift CLI(
oc
)。
流程
- 检查您要克隆的虚拟机,以识别关联 PVC 的名称和命名空间。
为
VirtualMachine
对象创建 YAML 文件。以下虚拟机示例克隆my-favorite-vm-disk
,该磁盘位于source-name
命名空间中。从my-favorite-vm-disk
创建的名为favorite-clone
的2Gi
数据卷 。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 要创建的虚拟机。
使用 PVC 克隆的数据卷创建虚拟机:
oc create -f <vm-clone-datavolumetemplate>.yaml
$ oc create -f <vm-clone-datavolumetemplate>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.18.3.4. CDI 支持的操作列表 复制链接链接已复制到粘贴板!
此列表针对端点显示内容类型支持的 CDI 操作,以及哪些操作需要涂销空间(scratch space)。
内容类型 | HTTP | HTTPS | HTTP 基本身份验证 | Registry | 上传 |
---|---|---|---|---|---|
KubeVirt (QCOW2) |
✓ QCOW2 |
✓ QCOW2** |
✓ QCOW2 |
✓ QCOW2* |
✓ QCOW2* |
KubeVirt (RAW) |
✓ RAW |
✓ RAW |
✓ RAW |
✓ RAW* |
✓ RAW* |
✓ 支持的操作
□ 不支持的操作
* 需要涂销空间
** 如果需要自定义证书颁发机构,则需要涂销空间
9.18.4. 将虚拟机磁盘克隆到新块存储数据卷中 复制链接链接已复制到粘贴板!
您可以通过引用数据卷配置文件中的源 PVC 来将虚拟机磁盘的持久性卷声明(PVC)克隆到新的块数据卷中。
支持在不同卷模式间克隆操作,比如从带有 volumeMode: Block
的持久性卷(PV)克隆到带有 volumeMode: Filesystem
的 PV。
但是,只有在不同的卷模式中存在contentType: kubevirt
时才可以克隆它们。
当您全局启用预分配或单个数据卷时,Containerized Data Importer(CDI)会在克隆过程中预分配磁盘空间。预分配可提高写入性能。如需更多信息,请参阅对数据卷使用预分配。
9.18.4.1. 先决条件 复制链接链接已复制到粘贴板!
- 用户需要额外权限才能将虚拟机磁盘的 PVC 克隆到另一个命名空间中。
9.18.4.2. 关于数据卷 复制链接链接已复制到粘贴板!
DataVolume
对象是 Containerized Data Importer (CDI) 项目提供的自定义资源。DataVolume 编配与底层持久性卷声明(PVC)关联的导入、克隆和上传操作。数据卷与 OpenShift Virtualization 集成,它们可在 PVC 准备好前阻止虚拟机启动。
9.18.4.3. 关于块持久性卷 复制链接链接已复制到粘贴板!
块持久性卷(PV)是一个受原始块设备支持的 PV。这些卷没有文件系统,可以通过降低开销来为虚拟机提供性能优势。
原始块卷可以通过在 PV 和持久性卷声明(PVC)规格中指定 volumeMode: Block
来置备。
9.18.4.4. 创建本地块持久性卷 复制链接链接已复制到粘贴板!
通过填充文件并将其挂载为循环设备,在节点上创建本地块持久性卷(PV)。然后,您可以在 PV 清单中将该循环设备作为 Block(块)
卷引用,并将其用作虚拟机镜像的块设备。
流程
-
以
root
身份登录节点,在其上创建本地 PV。本流程以node01
为例。 创建一个文件并用空字符填充,以便可将其用作块设备。以下示例创建
loop10
文件,大小为 2Gb(20,100 Mb 块):dd if=/dev/zero of=<loop10> bs=100M count=20
$ dd if=/dev/zero of=<loop10> bs=100M count=20
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
loop10
文件挂载为 loop 设备。losetup </dev/loop10>d3 <loop10>
$ losetup </dev/loop10>d3 <loop10>
1 2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建引用所挂载 loop 设备的
PersistentVolume
清单。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建块 PV。
oc create -f <local-block-pv10.yaml>
# oc create -f <local-block-pv10.yaml>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 上一步中创建的持久性卷的文件名。
9.18.4.5. 将虚拟机磁盘的持久性卷声明克隆到新数据卷中 复制链接链接已复制到粘贴板!
您可以将现有虚拟机磁盘的持久性卷声明(PVC)克隆到新数据卷中。新的数据卷可用于新虚拟机。
当独立于虚拟机创建数据卷时,数据卷的生命周期与虚拟机是独立的。如果删除了虚拟机,数据卷及其相关 PVC 都不会被删除。
先决条件
- 确定要使用的现有虚拟机磁盘的 PVC。克隆之前,必须关闭与 PVC 关联的虚拟机。
-
安装 OpenShift CLI(
oc
)。 - 至少一个可用块持久性卷(PV)大小不低于源 PVC。
流程
- 检查您要克隆的虚拟机磁盘,以识别关联 PVC 的名称和命名空间。
为数据卷创建一个 YAML 文件,用于指定新数据卷的名称、源 PVC 的名称和命名空间、
volumeMode: Block
,以便使用可用块 PV,以及新数据卷的大小。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过创建数据卷开始克隆 PVC:
oc create -f <cloner-datavolume>.yaml
$ oc create -f <cloner-datavolume>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在 PVC 就绪前,DataVolume 会阻止虚拟机启动,以便您可以在 PVC 克隆期间创建引用新数据卷的虚拟机。
9.18.4.6. CDI 支持的操作列表 复制链接链接已复制到粘贴板!
此列表针对端点显示内容类型支持的 CDI 操作,以及哪些操作需要涂销空间(scratch space)。
内容类型 | HTTP | HTTPS | HTTP 基本身份验证 | Registry | 上传 |
---|---|---|---|---|---|
KubeVirt (QCOW2) |
✓ QCOW2 |
✓ QCOW2** |
✓ QCOW2 |
✓ QCOW2* |
✓ QCOW2* |
KubeVirt (RAW) |
✓ RAW |
✓ RAW |
✓ RAW |
✓ RAW* |
✓ RAW* |
✓ 支持的操作
□ 不支持的操作
* 需要涂销空间
** 如果需要自定义证书颁发机构,则需要涂销空间