×

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

  • 如果您的存储提供商未被 CDI 识别,则必须配置存储配置文件。存储配置文件根据关联的存储类提供推荐的存储设置。

可选:您可以使用主机路径供应程序 (HPP) 配置本地存储。

有关更多选项,包括配置容器化数据导入器 (CDI)、数据卷和自动启动源更新,请参阅存储配置概述

使用 HPP 配置本地存储

安装 OpenShift Virtualization Operator 时,会自动安装主机路径供应程序 (HPP) Operator。HPP Operator 会创建 HPP 供应程序。

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

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

使用 storagePools 语句为 CSI 驱动程序创建存储类

要使用主机路径供应程序 (HPP),必须为容器存储接口 (CSI) 驱动程序创建关联的存储类。

创建存储类时,您将设置影响属于该存储类的持久卷 (PV) 动态供应的参数。创建后,无法更新StorageClass对象的参数。

虚拟机使用基于本地 PV 的数据卷。本地 PV 绑定到特定节点。在为虚拟机准备磁盘映像以供使用时,虚拟机可能无法调度到之前已将本地存储 PV 固定到的节点。

要解决此问题,请使用 Kubernetes Pod 调度程序将持久卷声明 (PVC) 绑定到正确节点上的 PV。通过使用将volumeBindingMode参数设置为WaitForFirstConsumerStorageClass值,PV 的绑定和供应将延迟到使用 PVC 创建 Pod 之后。

先决条件
  • 以具有cluster-admin权限的用户身份登录。

步骤
  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