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.8.17. 克隆虚拟机
8.17.1. 启用用户权限跨命名空间克隆数据卷
命名空间的隔离性质意味着用户默认无法在命名空间之间克隆资源。
					要让用户将虚拟机克隆到另一个命名空间,具有 cluster-admin 角色的用户必须创建新的集群角色。将此集群角色绑定到用户,以便其将虚拟机克隆到目标命名空间。
				
8.17.1.1. 先决条件
- 
								只有具有 cluster-admin角色的用户才能创建集群角色。
8.17.1.2. 关于数据卷
						DataVolume 对象是 Containerized Data Importer (CDI) 项目提供的自定义资源。DataVolume 编配与底层持久性卷声明(PVC)关联的导入、克隆和上传操作。数据卷与 OpenShift Virtualization 集成,它们可在 PVC 准备好前阻止虚拟机启动。
					
8.17.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清单的文件名。
 
8.17.2. 将虚拟机磁盘克隆到新数据卷中
您可以通过引用数据卷配置文件中的源 PVC 来将虚拟机磁盘的持久性卷声明(PVC)克隆到新数据卷中。
						支持在不同卷模式间克隆操作,比如从带有 volumeMode: Block 的持久性卷(PV)克隆到带有 volumeMode: Filesystem 的 PV。
					
						但是,只有在不同的卷模式中存在contentType: kubevirt 时才可以克隆它们。
					
当您全局启用预分配或单个数据卷时,Containerized Data Importer(CDI)会在克隆过程中预分配磁盘空间。预分配可提高写入性能。如需更多信息,请参阅对数据卷使用预分配。
8.17.2.1. 先决条件
- 用户需要额外权限才能将虚拟机磁盘的 PVC 克隆到另一个命名空间中。
8.17.2.2. 关于数据卷
						DataVolume 对象是 Containerized Data Importer (CDI) 项目提供的自定义资源。DataVolume 编配与底层持久性卷声明(PVC)关联的导入、克隆和上传操作。数据卷与 OpenShift Virtualization 集成,它们可在 PVC 准备好前阻止虚拟机启动。
					
8.17.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 克隆期间创建引用新数据卷的虚拟机。 
8.17.2.4. CDI 支持的操作列表
此列表针对端点显示内容类型支持的 CDI 操作,以及哪些操作需要涂销空间(scratch space)。
| 内容类型 | HTTP | HTTPS | HTTP 基本身份验证 | Registry | 上传 | 
|---|---|---|---|---|---|
| KubeVirt (QCOW2) | 
										✓ QCOW2 | 
										✓ QCOW2** | 
										✓ QCOW2 | 
										✓ QCOW2* | 
										✓ QCOW2* | 
| KubeVirt (RAW) | 
										✓ RAW | 
										✓ RAW | 
										✓ RAW | 
										✓ RAW* | 
										✓ RAW* | 
✓ 支持的操作
□ 不支持的操作
* 需要涂销空间
** 如果需要自定义证书颁发机构,则需要涂销空间
8.17.3. 使用数据卷模板克隆虚拟机
					您可以通过克隆现有虚拟机的持久性卷声明(PVC)来创建新虚拟机。在虚拟机配置文件中包括 dataVolumeTemplate,即可从原始 PVC 创建新数据卷。
				
						支持在不同卷模式间克隆操作,比如从带有 volumeMode: Block 的持久性卷(PV)克隆到带有 volumeMode: Filesystem 的 PV。
					
						但是,只有在不同的卷模式中存在contentType: kubevirt 时才可以克隆它们。
					
当您全局启用预分配或单个数据卷时,Containerized Data Importer(CDI)会在克隆过程中预分配磁盘空间。预分配可提高写入性能。如需更多信息,请参阅对数据卷使用预分配。
8.17.3.1. 先决条件
- 用户需要额外权限才能将虚拟机磁盘的 PVC 克隆到另一个命名空间中。
8.17.3.2. 关于数据卷
						DataVolume 对象是 Containerized Data Importer (CDI) 项目提供的自定义资源。DataVolume 编配与底层持久性卷声明(PVC)关联的导入、克隆和上传操作。数据卷与 OpenShift Virtualization 集成,它们可在 PVC 准备好前阻止虚拟机启动。
					
8.17.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 
8.17.3.4. CDI 支持的操作列表
此列表针对端点显示内容类型支持的 CDI 操作,以及哪些操作需要涂销空间(scratch space)。
| 内容类型 | HTTP | HTTPS | HTTP 基本身份验证 | Registry | 上传 | 
|---|---|---|---|---|---|
| KubeVirt (QCOW2) | 
										✓ QCOW2 | 
										✓ QCOW2** | 
										✓ QCOW2 | 
										✓ QCOW2* | 
										✓ QCOW2* | 
| KubeVirt (RAW) | 
										✓ RAW | 
										✓ RAW | 
										✓ RAW | 
										✓ RAW* | 
										✓ RAW* | 
✓ 支持的操作
□ 不支持的操作
* 需要涂销空间
** 如果需要自定义证书颁发机构,则需要涂销空间
8.17.4. 将虚拟机磁盘克隆到新块存储数据卷中
您可以通过引用数据卷配置文件中的源 PVC 来将虚拟机磁盘的持久性卷声明(PVC)克隆到新的块数据卷中。
						支持在不同卷模式间克隆操作,比如从带有 volumeMode: Block 的持久性卷(PV)克隆到带有 volumeMode: Filesystem 的 PV。
					
						但是,只有在不同的卷模式中存在contentType: kubevirt 时才可以克隆它们。
					
当您全局启用预分配或单个数据卷时,Containerized Data Importer(CDI)会在克隆过程中预分配磁盘空间。预分配可提高写入性能。如需更多信息,请参阅对数据卷使用预分配。
8.17.4.1. 先决条件
- 用户需要额外权限才能将虚拟机磁盘的 PVC 克隆到另一个命名空间中。
8.17.4.2. 关于数据卷
						DataVolume 对象是 Containerized Data Importer (CDI) 项目提供的自定义资源。DataVolume 编配与底层持久性卷声明(PVC)关联的导入、克隆和上传操作。数据卷与 OpenShift Virtualization 集成,它们可在 PVC 准备好前阻止虚拟机启动。
					
8.17.4.3. 关于块持久性卷
块持久性卷(PV)是一个受原始块设备支持的 PV。这些卷没有文件系统,可以通过降低开销来为虚拟机提供性能优势。
						原始块卷可以通过在 PV 和持久性卷声明(PVC)规格中指定 volumeMode: Block 来置备。
					
8.17.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
- 上一步中创建的持久性卷的文件名。
 
8.17.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 克隆期间创建引用新数据卷的虚拟机。 
8.17.4.6. CDI 支持的操作列表
此列表针对端点显示内容类型支持的 CDI 操作,以及哪些操作需要涂销空间(scratch space)。
| 内容类型 | HTTP | HTTPS | HTTP 基本身份验证 | Registry | 上传 | 
|---|---|---|---|---|---|
| KubeVirt (QCOW2) | 
										✓ QCOW2 | 
										✓ QCOW2** | 
										✓ QCOW2 | 
										✓ QCOW2* | 
										✓ QCOW2* | 
| KubeVirt (RAW) | 
										✓ RAW | 
										✓ RAW | 
										✓ RAW | 
										✓ RAW* | 
										✓ RAW* | 
✓ 支持的操作
□ 不支持的操作
* 需要涂销空间
** 如果需要自定义证书颁发机构,则需要涂销空间