12.2. 配置存储配置集
存储配置集根据关联的存储类提供推荐的存储设置。为每个存储类分配一个存储配置文件。
如果存储供应商已配置为识别和与存储供应商的功能交互,Containerized Data Importer (CDI) 会识别存储供应商。
对于可识别的存储类型,CDI 提供优化 PVC 创建的值。您还可以通过自定义存储配置集来为存储类配置自动设置。如果 CDI 没有识别您的存储供应商,您必须配置存储配置集。
在 Red Hat OpenShift Data Foundation 中使用 OpenShift Virtualization 时,指定创建虚拟机磁盘时 RBD 块模式持久性卷声明(PVC)。RBD 块模式卷效率更高,并且比 Ceph FS 或 RBD 文件系统模式 PVC 提高性能。
要指定 RBD 块模式 PVC,请使用 'ocs-storagecluster-ceph-rbd' 存储类和 VolumeMode: Block
。
12.2.1. 自定义存储配置集 复制链接链接已复制到粘贴板!
您可以通过编辑置备程序存储类的 StorageProfile
对象来指定默认参数。这些默认参数只有在 DataVolume
对象中没有配置持久性卷声明 (PVC) 时才适用。
您无法修改存储类参数。要进行更改,请删除并重新创建存储类。然后,您必须重新应用之前对存储配置集所做的任何自定义。
存储配置集中的空 status
部分表示存储置备程序不被 Containerized Data Importer (CDI)识别。如果您有存储置备程序无法被 CDI 识别,则需要自定义存储配置集。在这种情况下,管理员在存储配置集中设置适当的值以确保分配成功。
如果您要创建虚拟机的快照,如果磁盘的存储类有多个与之关联的 VolumeSnapshotClass
,则会出现警告信息。在这种情况下,您必须指定一个卷快照类;否则,任何有多个卷快照类的磁盘都会从快照列表中排除。
如果您创建数据卷并省略 YAML 属性,且存储配置集中没有定义这些属性,则不会分配请求的存储,也不会创建底层持久性卷声明(PVC)。
先决条件
-
已安装 OpenShift CLI(
oc
)。 - 确保存储类及其供应商支持您计划的配置。在存储配置集中指定不兼容的配置会导致卷置备失败。
流程
编辑存储配置文件。在本例中,CDI 无法识别置备程序。
oc edit storageprofile <storage_class>
$ oc edit storageprofile <storage_class>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定您要为存储配置集配置的
accessModes
和volumeMode
值。例如:存储配置集示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.2.1.1. 使用 Web 控制台指定卷快照类 复制链接链接已复制到粘贴板!
如果您要创建虚拟机的快照,如果磁盘的存储类有多个与之关联的卷快照类,则会出现警告信息。在这种情况下,您必须指定一个卷快照类;否则,任何有多个卷快照类的磁盘都会从快照列表中排除。
您可以在 OpenShift Container Platform Web 控制台中指定默认卷快照类。
流程
- 从 Virtualization 集中视图中,选择 Storage。
- 点 VolumeSnapshotClasses。
- 从列表中选择卷快照类。
- 点 Annotations 铅笔图标。
-
输入以下 Key:
snapshot.storage.kubernetes.io/is-default-class
。 -
输入以下 Value:
true
。 - 点击 Save。
12.2.1.2. 使用 CLI 指定卷快照类 复制链接链接已复制到粘贴板!
如果您要创建虚拟机的快照,如果磁盘的存储类有多个与之关联的卷快照类,则会出现警告信息。在这种情况下,您必须指定一个卷快照类;否则,任何有多个卷快照类的磁盘都会从快照列表中排除。
您可以选择使用哪个卷快照类:
-
为存储配置集设置
spec.snapshotClass
。 - 设置默认卷快照类。
先决条件
-
已安装 OpenShift CLI(
oc
)。
流程
设置您要使用的
VolumeSnapshotClass
。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,运行以下命令来设置默认卷快照类:
oc patch VolumeSnapshotClass ocs-storagecluster-cephfsplugin-snapclass --type=merge -p '{"metadata":{"annotations":{"snapshot.storage.kubernetes.io/is-default-class":"true"}}}'
# oc patch VolumeSnapshotClass ocs-storagecluster-cephfsplugin-snapclass --type=merge -p '{"metadata":{"annotations":{"snapshot.storage.kubernetes.io/is-default-class":"true"}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.2.1.3. 查看自动创建的存储配置集 复制链接链接已复制到粘贴板!
系统为每个存储类自动创建存储配置集。
先决条件
-
已安装 OpenShift CLI(
oc
)。
流程
要查看存储配置集列表,请运行以下命令:
oc get storageprofile
$ oc get storageprofile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要获取特定存储配置集的详情,请运行以下命令:
oc describe storageprofile <name>
$ oc describe storageprofile <name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 存储配置集详情示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.2.1.4. 使用存储配置集设置默认克隆策略 复制链接链接已复制到粘贴板!
您可以通过创建克隆策略,使用存储配置集为存储类设置默认克隆方法。例如,如果您的存储供应商只支持某些克隆方法,设置克隆策略会很有用。它还允许您选择一个限制资源使用或最大化性能的方法。
克隆策略通过将存储配置集中的 cloneStrategy
属性设置为以下值之一来指定:
-
配置快照时,默认使用
snapshot
。如果 Containerized Data Importer (CDI) 可识别存储供应商且供应商支持 Container Storage Interface (CSI) 快照,则会使用快照方法。此克隆策略使用临时卷快照来克隆卷。 -
copy
使用源 pod 和目标 pod 将数据从源卷复制到目标卷。主机辅助克隆是最有效的克隆方法。 -
csi-clone
使用 CSI 克隆 API 在不使用临时卷快照的情况下高效地克隆现有卷。与snapshot
或copy
不同(它们在没有定义存储配置集时被默认使用),只有在StorageProfile
对象中为置备程序存储类指定它时,才会使用 CSI 卷克隆。
您还可以在不修改 YAML spec
部分中的默认 claimPropertySets
的情况下使用 CLI 设置克隆策略。
存储配置集示例