5.4. 安装后存储配置


以下存储配置任务是必需的:

  • 您必须为集群配置默认存储类。否则,集群无法接收自动引导源更新。
  • 如果您的存储供应商没有被 CDI 识别,您必须配置存储配置集。存储配置集根据关联的存储类提供推荐的存储设置。

可选: 您可以使用 hostpath 置备程序(HPP)配置本地存储。

如需了解更多选项,请参阅 存储配置概述,包括配置 Containerized Data Importer (CDI)、数据卷和自动引导源更新。

5.4.1. 使用 HPP 配置本地存储

安装 OpenShift Virtualization Operator 时,会自动安装 Hostpath Provisioner(HPP)Operator。HPP Operator 创建 HPP 置备程序。

HPP 是为 OpenShift Virtualization 设计的本地存储置备程序。要使用 HPP,您必须创建一个 HPP 自定义资源(CR)。

重要

HPP 存储池不能与操作系统位于同一个分区。否则,存储池可能会填满操作系统分区。如果操作系统分区已满,则性能可能会生效,或者节点可能会不稳定或不可用。

5.4.1.1. 使用 storagePools 小节为 CSI 驱动程序创建存储类

要使用 hostpath 置备程序 (HPP),您必须为 Container Storage Interface (CSI) 驱动程序创建关联的存储类。

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

注意

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

要解决这个问题,使用 Kubernetes pod 调度程序将持久性卷声明(PVC)绑定到正确的节点上的 PV。通过使用 volumeBindingMode 参数设置为 WaitForFirstConsumerStorageClass 值,PV 的绑定和置备会延迟到 pod 使用 PVC。

流程

  1. 创建 storageclass_csi.yaml 文件来定义存储类:

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: hostpath-csi
    provisioner: kubevirt.io.hostpath-provisioner
    reclaimPolicy: Delete 1
    volumeBindingMode: WaitForFirstConsumer 2
    parameters:
      storagePool: my-storage-pool 3
    1
    两个可能的 reclaimPolicy 值为 DeleteRetain。如果没有指定值,则默认值为 Delete
    2
    volumeBindingMode 参数决定何时发生动态置备和卷绑定。指定 WaitForFirstConsumer,将持久性卷(PV)的绑定和置备延迟到创建使用持久性卷声明(PVC)的 pod 后。这样可确保 PV 满足 pod 的调度要求。
    3
    指定 HPP CR 中定义的存储池名称。
  2. 保存文件并退出。
  3. 运行以下命令来创建 StorageClass 对象:

    $ oc create -f storageclass_csi.yaml
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.