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
# ...
容器化数据导入器 (CDI) 可以对数据卷使用 QEMU 预分配模式来提高写入性能。您可以将预分配模式用于导入和上传操作以及创建空白数据卷时。
如果启用了预分配,CDI 将根据底层文件系统和设备类型使用更好的预分配方法。
fallocate
如果文件系统支持,CDI 将使用操作系统的fallocate
调用来使用posix_fallocate
函数预分配空间,该函数分配块并将它们标记为未初始化。
full
如果无法使用fallocate
模式,full
模式将通过向底层存储写入数据来为镜像分配空间。根据存储位置的不同,所有空闲分配空间都可能被清零。
您可以通过在数据卷清单中包含spec.preallocation
字段来为特定数据卷启用预分配。您可以在 Web 控制台或使用 OpenShift CLI(oc
)启用预分配模式。
所有 CDI 数据源类型都支持预分配模式。
在数据卷清单中指定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
# ...
1 | 所有 CDI 数据源类型都支持预分配。但是,对于克隆操作,将忽略预分配。 |
2 | 在您的注册表中指定数据源的 URL。 |