MinIO DirectCSI无法识别Kubernetes集群多节点磁盘如何解决
解决步骤
- 第一步:排查ip38节点上DirectCSI DaemonSet Pod的运行日志
先定位ip38上的DirectCSI Pod:
查看该Pod的direct-csi容器日志,确认磁盘扫描环节的报错信息:kubectl get pods -n direct-csi-min-io -o wide | grep ip38kubectl logs -n direct-csi-min-io <替换为上一步查到的Pod名称> direct-csi - 第二步:检查ip38节点上待识别磁盘的状态
DirectCSI仅会识别符合以下条件的块设备:- 不是系统根分区、swap分区
- 未被挂载到系统任意目录,且未配置
/etc/fstab自动挂载 - 无正在使用的文件系统(或未格式化的空闲块设备)
登录ip38节点执行以下命令查看磁盘状态:
若需要识别的磁盘已经被挂载,先执行卸载操作:lsblk df -h
同时删除umount <磁盘路径,如/dev/sdb>/etc/fstab中对应磁盘的自动挂载配置,避免节点重启后重新挂载。 - 第三步:验证节点污点配置
执行以下命令查看ip38节点是否配置了特殊污点,导致DirectCSI Pod虽然运行但权限不足无法扫描磁盘:
如果存在自定义污点,需要为DirectCSI的DaemonSet添加对应容忍规则。kubectl describe node ip38 | grep Taints - 第四步:重新触发DirectCSI磁盘扫描
配置完成后重启ip38节点上的DirectCSI Pod即可触发重新扫描:
重启完成后再次执行命令查看所有节点磁盘:kubectl delete pod -n direct-csi-min-io <替换为ip38上的DirectCSI Pod名称>kubectl direct-csi drives ls
内容的提问来源于stack exchange,提问作者dac.le
相关产品推荐
相关产品推荐

