故障排除
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