10.2. 配置存储配置集


存储配置集根据关联的存储类提供推荐的存储设置。为每个存储类分配一个存储配置文件。

如果存储供应商已配置为识别和与存储供应商的功能交互,Containerized Data Importer (CDI)会识别存储供应商。

对于可识别的存储类型,CDI 提供优化 PVC 创建的值。您还可以通过自定义存储配置集来为存储类配置自动设置。如果 CDI 没有识别您的存储供应商,您必须配置存储配置集。

10.2.1. 自定义存储配置集

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

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

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

警告

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

先决条件

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

流程

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

    $ oc edit storageprofile <storage_class>

    存储配置集示例

    apiVersion: cdi.kubevirt.io/v1beta1
    kind: StorageProfile
    metadata:
      name: <unknown_provisioner_class>
    # ...
    spec: {}
    status:
      provisioner: <unknown_provisioner>
      storageClass: <unknown_provisioner_class>

  2. 在存储配置集中提供所需的属性值:

    存储配置集示例

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

    1
    您选择的 accessModes
    2
    您选择的 volumeMode

    保存更改后,所选值将显示在存储配置集的 status 项中。

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

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

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

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

您还可以在不修改 YAML spec 部分中的默认 claimPropertySets 的情况下使用 CLI 设置克隆策略。

存储配置集示例

apiVersion: cdi.kubevirt.io/v1beta1
kind: StorageProfile
metadata:
  name: <provisioner_class>
# ...
spec:
  claimPropertySets:
  - accessModes:
    - ReadWriteOnce 1
    volumeMode:
      Filesystem 2
  cloneStrategy: csi-clone 3
status:
  provisioner: <provisioner>
  storageClass: <provisioner_class>

1
指定访问模式。
2
指定卷模式。
3
指定默认克隆策略。

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

系统为每个存储类自动创建存储配置集。

流程

  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: 1
        accessModes:
          ReadWriteMany
        volumeMode:  Block
        accessModes:
          ReadWriteOnce
        volumeMode:  Block
        accessModes:
          ReadWriteOnce
        volumeMode:                   Filesystem
      Clone Strategy:                  csi-clone 2
      Data Import Cron Source Format:  snapshot 3
      Provisioner:                     openshift-storage.rbd.csi.ceph.com
      Snapshot Class:                  ocs-storagecluster-rbdplugin-snapclass
      Storage Class:                   ocs-storagecluster-ceph-rbd-virtualization
    Events:                            <none>

    1
    claim Property SetsAccessMode/VolumeMode 对的排序列表,它描述了用于置备虚拟机磁盘的 PVC 模式。
    2
    Clone Strategy 行指示要使用的克隆策略。
    3
    Data Import Cron Source Format 指明此存储上的金级镜像是否存储为 PVC 或卷快照。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.