关于kubernetes:浅谈kubernetes存储glusterfs故障排查

01 glusterfs部署架构

sc Storage Class

kubectl get sc | grep gluster
查问Storage Class Name

kubectl get sc default -o yaml
查问Storage Class Content

heketi cluster_id、server port

确认 cluster id
heketi-cli –user admin –secret admin@123 cluster list

确认 server port (个别不会错)
cat /etc/heketi/heketi.json | grep port

heketi setup glusterd

cat /etc/heketi/topology.json | grep devices -A1(指定存储盘)

cat /etc/heketi/topology.json | grep hostnames -A 5(确认glusterfs主机的IP)

glusterd clutser alive

gluster pool list
确认各节点的glusterd过程存活

heketi reload

cat /etc/heketi/heketi.json | grep _loglevel -A 5(设置 heketi 日志等级)

journalctl -eu heketi –since now -f(监控 heketi 日志)
重载 /etc/heketi/heketi.jsonsystemctl daemon-reload &&
systemctl restart heketi
重载 /etc/heketi/topology.json
heketi-cli –user admin –secret admin@123 topology load –json=/etc/heketi/topology.json

02情况

情况:pv pending

故障点:k8s controller manager ➔ heketi
manager发申请 
cat controller-manager.log | grep glusterfs
建盘申请为 POST 10.101.102.208 /volumes
heketi给响应 heketi日志 
journalctl -eu heketi –since now -f
故障点:heketi ➔ gluster主机
ssh 划分 LV 失败?heketi日志
gluster 建盘失败?heketi-cli响应
手动尝试建盘,察看是否胜利、察看
heketi日志heketi-cli –user admin –secret admin@123
volume create –size=1 –gluster-volume-options=’user.heketi.arbiter true’
手动建盘失败,某个少见的坑点
heketi-cli  响应 Error: log size 4085 blocks too small, minimum size is 4608 blocks

–gluster-volume-options=’user.heketi.arbiter true,user.heketi.average-file-size 1′

情况:pv mounted but error

故障点:mount failedgluster-client 软件依赖不全 rpm —— 补充装置依赖pv 容量已占满 —— 手动扩容LV,有语雀文档网络不通 —— 概率低,找网络负责人解决
故障点:mounted,data errorgluster 数据保护,倡议降级至L3

罕用的现场勘查命令
kubectl get pv pvc-40be97b1-a0d8-43b7-94c0-1001bf30c0b4 -o yaml | grep path

gluster volume status vol_1e08f914aa923bf3238eda0e8991f539gluster volume heal vol_1e08f914aa923bf3238eda0e8991f539 info

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理