7.18.2.4. 创建存储类


当您创建存储类时,您可以设置参数,它们会影响属于该存储类的持久性卷(PV)的动态置备。您不能在创建 StorageClass 对象后更新其参数。

重要

在 OpenShift Container Platform Container Storage 中使用 OpenShift Virtualization 时,在创建虚拟机磁盘时指定 RBD 块模式持久性卷声明(PVC)。使用虚拟机磁盘时,RBD 块模式卷比 Ceph FS 或 RBD 文件系统模式 PVC 更高效。

要指定 RBD 块模式 PVC,请使用 'ocs-storagecluster-ceph-rbd' 存储类和 VolumeMode: Block。

流程

  1. 创建用于定义存储类的 YAML 文件。例如:

    $ touch storageclass.yaml
  2. 编辑该文件。例如:

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: hostpath-provisioner 
    1
    
    provisioner: kubevirt.io/hostpath-provisioner
    reclaimPolicy: Delete 
    2
    
    volumeBindingMode: WaitForFirstConsumer 
    3
    1
    您可以通过更改此值来选择性地重命名存储类。
    2
    两个可能的 reclaimPolicy 值为 Delete 和 Retain。如果您没有指定值,则存储类默认为 Delete。
    3
    volumeBindingMode 值决定何时发生动态置备和卷绑定。指定 WaitForFirstConsumer,将 PV 的绑定和置备延迟到创建使用 PVC 的 Pod 后。这样可确保 PV 满足 pod 的调度要求。
    注意

    虚拟机使用基于本地 PV 的数据卷。本地 PV 与特定节点绑定。虽然磁盘镜像准备供虚拟机消耗,但可能不会将虚拟机调度到之前固定本地存储 PV 的节点。

    要解决这个问题,使用 Kubernetes pod 调度程序将 PVC 绑定到正确的节点上的 PV。通过使用 volumeBindingMode 设置为 WaitForFirstConsumer 的 StorageClass,PV 的绑定和置备会延迟到 Pod 创建前。

  3. 创建 StorageClass 对象:

    $ oc create -f storageclass.yaml
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部