8.9. 对数据卷使用预分配
Containerized Data Importer 可以预先分配磁盘空间,以便在创建数据卷时提高写入性能。
您可以为特定数据卷启用预分配。
8.9.1. 关于预分配
Containerized Data Importer(CDI)可以使用 QEMU 预先分配数据卷模式来提高写入性能。您可以使用预分配模式导入和上传操作,并在创建空白数据卷时使用。
如果启用了预分配,CDI 根据底层文件系统和设备类型使用更好的预分配方法:
fallocate
-
如果文件系统支持它,CDI 通过使用
posix_fallocate
功能(它分配块并将其标记为未初始化),来使用操作系统本身的(fallocate
调用来预分配空间。 full
-
如果无法使用
fallocate
模式,则会使用full
模式通过将数据写入底层存储来为镜像分配空间。根据存储位置,所有空分配的空间都可能会为零。
8.9.2. 为数据卷启用预分配
您可以通过在数据卷清单中包含 spec.preallocation
字段来为特定数据卷启用预分配。您可以在 web 控制台中或使用 OpenShift CLI (oc
) 启用预分配模式。
所有 CDI 源类型都支持 Preallocation 模式。
流程
指定数据卷清单中的
spec.preallocation
字段:apiVersion: cdi.kubevirt.io/v1beta1 kind: DataVolume metadata: name: preallocated-datavolume spec: source: 1 registry: url: <image_url> 2 storage: resources: requests: storage: 1Gi preallocation: true # ...