k8s学习笔记——关于ceph存储卷卸载异常

在Kubernetes环境中使用Ceph RBD存储时,遇到了Pod删除异常及存储卷无法正常释放的问题。通过强制删除Pod和PVC后,需要手动清理Ceph中的RBD映像。过程中涉及检查并移除watcher,以及卸载节点上的挂载目录。最后,通过取消映射关系成功释放了资源。问题可能是由于删除步骤不当导致,建议正确顺序操作以避免异常。

在ceph rbd存储中动态分配pv,我遇到两次删除不掉pod的问题(具体原因还暂时没搞明白),所有pod都显示Terminating状态。使用如下命令可以强制删除:

kubectl delete pods <pod> --grace-period=0 --force

但是pod删除后,pod动态挂载的pvc也会删除异常,我这里也使用了强制手动删除的方式,删除pvc和pv。

经过这么一翻操作后发现ceph的rbd不会释放,使用ceph df查看已占用空间不变。

使用rbd ls <poolname>可以查看到池子里动态生成的image还在,接下来再进行一翻强制删除,反正已经蛮干了,也不差这一步。ceph rm <poolname>/<imagesname>

这里直接手动删发现删除不了,会报check_image_watchers: image has watchers - not removing错误。我查了一下相关文档,这是存储卷还没有释放导致,解决办法依旧选择蛮干。

1、检查watcher image的client
rbd status ceph-block/csi-vol-0068f225-14f7-11eb-ac08-2a0aff2a8247
Watchers:
        watcher=10.244.2.0:0/1036319188 client.974190 cookie=18446462598732840961


2、把watcher ip加入到黑名单
ceph osd blacklist add 10.244.2.0:0/1036319188
blacklisting 10.244.2.0:0/1036319188 until 2020-10-31T08:47:43.513987+0000 (3600 sec)

3、再删除image
rbd rm ceph-block/csi-vol-0068f225-14f7-11eb-ac08-2a0aff2a8247
Removing image: 100% complete...done.

4、把刚才加入的ip退出黑名单
ceph osd blacklist rm 10.244.2.0:0/1036319188
un-blacklisting 10.244.2.0:0/1036319188
#查看黑名单列表
> ceph osd blacklist ls

这时候,再使用ceph df查看以占用的空间已经恢复正常了。如何现在使用pvc动态部署pod会发现存储卷不能使用,部署的pod也无法正常运行。通过describe查看,会发现显示有存储卷为只读的systemfiles字样,无法使用。通过添加-o wide参数查看pod部署的node节点,登到node节点上进行查看,几乎执行所有和磁盘有关的命令都会报 Input/output error错误。

使用lsblk查看
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0    7:0    0 55.5M  1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值