11.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

11.2.1. 自定义存储配置集

您可以通过编辑置备程序存储类的 StorageProfile 对象来指定默认参数。这些默认参数只有在 DataVolume 对象中没有配置持久性卷声明 (PVC) 时才适用。

您无法修改存储类参数。要进行更改,请删除并重新创建存储类。然后,您必须重新应用之前对存储配置集所做的任何自定义。

存储配置集中的空 status 部分表示存储置备程序不被 Containerized Data Importer (CDI)识别。如果您有存储置备程序无法被 CDI 识别,则需要自定义存储配置集。在这种情况下,管理员在存储配置集中设置适当的值以确保分配成功。

如果您要创建虚拟机的快照,如果磁盘的存储类有多个与之关联的 VolumeSnapshotClass,则会显示警告信息。在这种情况下,您必须指定一个卷快照类。否则,任何具有多个卷快照类的磁盘都会从快照列表中排除。

警告

如果您创建数据卷并省略 YAML 属性,且存储配置集中没有定义这些属性,则不会分配请求的存储,也不会创建底层持久性卷声明(PVC)。

先决条件

  • 已安装 OpenShift CLI(oc)。
  • 确保存储类及其供应商支持您计划的配置。在存储配置集中指定不兼容的配置会导致卷置备失败。

流程

  1. 编辑存储配置文件。在本例中,CDI 无法识别置备程序。

    $ oc edit storageprofile <storage_class>
  2. 指定您要为存储配置集配置的 accessModesvolumeMode 值。例如:

    存储配置集示例

    apiVersion: cdi.kubevirt.io/v1beta1
    kind: StorageProfile
    metadata:
      name: <unknown_provisioner_class>
    # ...
    spec:
      claimPropertySets:
      - accessModes:
        - ReadWriteOnce
        volumeMode: Filesystem
    status:
      provisioner: <unknown_provisioner>
      storageClass: <unknown_provisioner_class>

    • spec.claimPropertySets.accessModes 定义如何挂载卷。例如: ReadWriteOnce
    • spec.claimPropertySets.accessModes.volumeMode 定义卷是否使用文件系统或原始块存储。例如: volumeMode

11.2.1.1. 使用 Web 控制台指定卷快照类

如果您要创建虚拟机的快照,如果磁盘的存储类有多个与之关联的卷快照类,则会显示警告信息。在这种情况下,您必须指定一个卷快照类。否则,任何具有多个卷快照类的磁盘都会从快照列表中排除。

您可以在 OpenShift Container Platform Web 控制台中指定默认卷快照类。

流程

  1. Virtualization 集中视图中,选择 Storage
  2. VolumeSnapshotClasses
  3. 从列表中选择卷快照类。
  4. Annotations 铅笔图标。
  5. 输入以下 Key:snapshot.storage.kubernetes.io/is-default-class
  6. 输入以下 Value:true
  7. 点击 Save

11.2.1.2. 使用 CLI 指定卷快照类

如果您要创建虚拟机的快照,如果磁盘的存储类有多个与之关联的卷快照类,则会显示警告信息。在这种情况下,您必须指定一个卷快照类;否则,任何有多个卷快照类的磁盘都会从快照列表中排除。

您可以选择使用哪个卷快照类:

  • 为存储配置集设置 spec.snapshotClass
  • 设置默认卷快照类。

先决条件

  • 已安装 OpenShift CLI(oc)。

流程

  • 设置您要使用的 VolumeSnapshotClass。例如:

    apiVersion: cdi.kubevirt.io/v1beta1
    kind: StorageProfile
    metadata:
      name: ocs-storagecluster-ceph-rbd-virtualization
    spec:
      snapshotClass: ocs-storagecluster-rbdplugin-snapclass
  • 或者,运行以下命令来设置默认卷快照类:

    # oc patch VolumeSnapshotClass ocs-storagecluster-cephfsplugin-snapclass --type=merge -p '{"metadata":{"annotations":{"snapshot.storage.kubernetes.io/is-default-class":"true"}}}'

11.2.1.3. 查看自动创建的存储配置集

系统为每个存储类自动创建存储配置集。您可以使用 oc 命令查看这些存储类配置集。

先决条件

  • 已安装 OpenShift CLI(oc)。

流程

  1. 要查看存储配置集列表,请运行以下命令:

    $ oc get storageprofile
  2. 要获取特定存储配置集的详情,请运行以下命令:

    $ oc describe storageprofile <name>

    存储配置集详情示例:

    Name:         ocs-storagecluster-ceph-rbd-virtualization
    Namespace:
    Labels:       app=containerized-data-importer
                  app.kubernetes.io/component=storage
                  app.kubernetes.io/managed-by=cdi-controller
                  app.kubernetes.io/part-of=hyperconverged-cluster
                  app.kubernetes.io/version=4.17.2
                  cdi.kubevirt.io=
    Annotations:  <none>
    API Version:  cdi.kubevirt.io/v1beta1
    Kind:         StorageProfile
    Metadata:
      Creation Timestamp:  2023-11-13T07:58:02Z
      Generation:          2
      Owner References:
        API Version:           cdi.kubevirt.io/v1beta1
        Block Owner Deletion:  true
        Controller:            true
        Kind:                  CDI
        Name:                  cdi-kubevirt-hyperconverged
        UID:                   2d6f169a-382c-4caf-b614-a640f2ef8abb
      Resource Version:        4186799537
      UID:                     14aef804-6688-4f2e-986b-0297fd3aaa68
    Spec:
    Status:
      Claim Property Sets:
        accessModes:
          ReadWriteMany
        volumeMode:  Block
        accessModes:
          ReadWriteOnce
        volumeMode:  Block
        accessModes:
          ReadWriteOnce
        volumeMode:                   Filesystem
      Clone Strategy:                  csi-clone
      Data Import Cron Source Format:  snapshot
      Provisioner:                     openshift-storage.rbd.csi.ceph.com
      Snapshot Class:                  ocs-storagecluster-rbdplugin-snapclass
      Storage Class:                   ocs-storagecluster-ceph-rbd-virtualization
    Events:                            <none>
    status.claimPropertySets
    Claim Property Sets 是一个有顺序的 AccessMode/VolumeMode 对的列表,它描述了用于置备虚拟机磁盘的 PVC 模式。
    status.cloneStrategy
    Clone Strategy 行指示要使用的克隆策略。
    status.dataImportCronSourceFormat
    Data Import Cron Source Format 指明此存储上的金级镜像是否存储为 PVC 或卷快照。

11.2.1.4. 使用存储配置集设置默认克隆策略

您可以通过创建克隆策略,使用存储配置集为存储类设置默认克隆方法。例如,如果您的存储供应商只支持某些克隆方法,这非常有用。它还允许您选择一个限制资源使用或最大化性能的方法。

克隆策略通过将存储配置集中的 cloneStrategy 属性设置为以下值之一来指定:

  • 配置快照时,默认使用 snapshot。如果 Containerized Data Importer (CDI)识别存储供应商且供应商支持 Container Storage Interface (CSI)快照,则使用快照方法。此克隆策略使用临时卷快照来克隆卷。
  • copy 使用源 pod 和目标 pod 将数据从源卷复制到目标卷。主机辅助克隆是最有效的克隆方法。
  • csi-clone 使用 CSI 克隆 API 在不使用临时卷快照的情况下高效地克隆现有卷。与 快照 或复制 不同,在没有定义存储配置集时默认使用它们,只有在 StorageProfile 对象中为置备程序存储类指定它时才使用 CSI 卷克隆。
注意

您可以使用 CLI 来设置克隆策略,而无需修改 YAML spec 部分中的默认 claimPropertySets

流程

  1. 创建或编辑 StorageProfile 对象以定义克隆策略。在 spec 部分中,设置 cloneStrategy 字段并定义所需的 claimPropertySets 值,如下例所示。

    apiVersion: cdi.kubevirt.io/v1beta1
    kind: StorageProfile
    metadata:
      name: <provisioner_class>
    # ...
    spec:
      claimPropertySets:
      - accessModes:
        - ReadWriteOnce
        volumeMode: Filesystem
      cloneStrategy: csi-clone
    status:
      provisioner: <provisioner>
      storageClass: <provisioner_class>
    • accessModesvolumeMode 定义声明属性。
    • cloneStrategy 设置默认克隆方法。
  2. 应用配置:

    $ oc apply -f <storage_profile>.yaml
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部