故障排除

DirectPV 在我的 Kubernetes 中安装失败。为什么?

您需要具备必要的特权和权限才能执行安装。请仔细阅读规格说明文档对于 Red Hat OpenShift,请参阅OpenShift 特定文档.

升级 DirectPV 到 v4.x.x 后,我找不到direct-csi-min-io存储类。为什么?

Legacy DirectCSI 已被弃用,包括存储类direct-csi-min-io并且不再受支持。先前创建的卷仍可正常工作。对于新的卷请求,请使用directpv-min-io存储类。

DirectPV 安装失败,出现类似错误信息错误;无法获取传统驱动器;direct.csi.min.io/v1beta3 的转换 webhook,…或类似的原因。为什么?

安装 DirectPV 也会尝试升级旧版 DirectCSI。 升级早于 v3.1.0 版本的 DirectCSI 需要转换 webhook服务正在运行。 有关适当的升级过程,请参考升级文档.

在 YAML 输出中discover命令,我找不到我的存储驱动器。为什么?

DirectPV 会忽略满足以下任一条件的驱动器:

  • 驱动器的大小小于512MiB。
  • 该驱动器已隐藏。
  • 该驱动器是只读的。
  • 该驱动器已分区。
  • 该驱动器正被其他设备占用。
  • 该驱动器已被挂载或正在被 DirectPV 使用。
  • 该驱动器是正在使用的交换分区。
  • 该驱动器是CDROM。

检查最后一列的discover --all命令输出以查看哪些条件排除了该驱动器。解决这些条件后重试。

您是否支持SAN、NAS、iSCSI、网络驱动器等?

DirectPV 专为具有直连存储的高性能本地卷而设计。 我们不建议使用任何远程驱动器,因为远程驱动器可能导致性能不佳。

您是否支持 LVM、Linux RAID、硬件 RAID、软件 RAID 或类似技术?

它可以工作,但我们强烈建议使用裸设备以获得更好的性能。

LUKS 设备是否受支持?

是的

我已经在使用本地持久卷(Local PV)进行存储了。为什么还需要 DirectPV?

Local Persistent Volumes 是临时性的,其生命周期与 Pod 绑定。 当 Pod 重启或删除时,这些卷将丢失,可能导致数据丢失。

此外,本地持久卷的生命周期管理需要专业技能。 DirectPV 能够按需动态配置卷,这些卷在 Pod/节点重启后仍保持持久化。 DirectPV 卷的生命周期由关联的持久卷声明(PVC)管理,从而简化了卷管理。

我明白了no drive found ...我的持久卷声明中的错误消息。为什么?

下表列出了可能的原因和解决方案。

原因 解决方案
卷声明是在未向DirectPV添加任何驱动器的情况下进行的。 添加驱动器。
没有驱动器具有请求大小的可用空间。 添加新驱动器或移除过时卷。
请求的拓扑结构不满足。 修改持久卷声明。
请求的节点上未找到请求的驱动器。 修改持久卷声明。
请求的节点不是 DirectPV 节点。 修改持久卷声明。

我看到持久卷声明已创建,但相应的 DirectPV 卷没有创建。为什么?

DirectPV 附带等待首个消费者volume binding mode. 这意味着必须先调度要使用该卷的 Pod。

我看到卷消耗 Pod 仍然在Pending状态。为什么?

  • 如果您尚未创建相应的持久卷声明,请创建它。
  • 您可能遇到了 Kubernetes 调度问题。 请参考 Kubernetes 文档关于调度

我明白了volume XXXXX is not yet staged, but requested with YYYYY错误。为什么?

根据CSI规范,Kubelet应该调用StageVolumeRPC 优先,然后PublishVolumeRPC next. 在罕见情况下,StageVolumeRPC 未触发/调用,但PublishVolumeRPC 被调用。 请重启您的 Kubelet 并向 Kubernetes 提供商报告此问题。

我看到一个udev错误。为什么?

您可能极少看到udev错误:

unable to find device by FSUUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx; either device is removed or run command `sudo udevadm control --reload-rules && sudo udevadm trigger` on the host to reload

在一个罕见的事件中,Udev您的系统更新失败/dev目录。 运行以下命令来更新和重新加载udev,然后将此问题报告给您的操作系统供应商。

sudo udevadm control --reload-rules && sudo udevadm trigger