ceph rbd 挂在在paas上被锁住的问题《一》

原创
05/08 10:25
阅读数 136

    之前遇到过rbd 挂载被锁住的问题一般都是采用下面的命令检查:

rbd lock list [pool-name]/[rbd-name]
# 如果有锁住解决办法
#注意 下面的{id} 参数 由于ceph版本的区别可能是有空格,类似于'auto 94873216182912' 需要使用单引号括起来
rbd lock remove  [pool-name]/[rbd-name]  [ID] [Locker]

    但是现在发现上面的办法只是针对于IAAS有效,对于paas无效

1 检查是否锁住

[root@controller01 ~]# rbd lock list okd311-m8user-rbd-pool/kubernetes-dynamic-pvc-b5915120-542d-11e9-91c8-fa163ee54a03
[root@controller01 ~]# rbd status okd311-m8user-rbd-pool/kubernetes-dynamic-pvc-b5915120-542d-11e9-91c8-fa163ee54a03
Watchers:
	watcher=172.28.96.76:0/3118302410 client.98660175 cookie=18446462598732840962

可以看出上面的lock list 命令已经无效了

2 遇到paas 平台报错说volume已经被其他pod挂载的时候解决办法:

# 1 使用rbd status 命令进行检查
[root@controller01 ~]# rbd status okd311-m8user-rbd-pool/kubernetes-dynamic-pvc-b5915120-542d-11e9-91c8-fa163ee54a03
Watchers:
	watcher=172.28.96.76:0/3118302410 client.98660175 cookie=18446462598732840962

# 2 可以看出该rbd 被映射到宿主机172.28.96.76 上了,取该宿主机上看看情况。使用rbd showmapped 查看映射

[root@m8-node-96-76 ~]# rbd showmapped|grep kubernetes-dynamic-pvc-b5915120-542d-11e9-91c8-fa163ee54a03
2020-05-08 10:13:35.483062 7fa3edd1ed80 -1 did not load config file, using default settings.
1  okd311-m8user-rbd-pool kubernetes-dynamic-pvc-b5915120-542d-11e9-91c8-fa163ee54a03 -    /dev/rbd1 

# 3 可以看出确实别映射到该宿主机上了,映射后磁盘是/dev/rbd1 ,使用lsblk 查看本机上的/dev/rbd1
[root@m8-node-96-76 ~]# lsblk|grep rbd1
rbd1          251:16   0   50G  0 disk /var/lib/origin/openshift.local.volumes/pods/6a0f73e3-904d-11ea-b9af-fa163ee54a03/volumes/kubernetes.io~rbd/pvc-b58b48f0-542d-11e9-9e47-fa163ee54a03

# 4 根据挂载原理,映射到宿主机上肯定要挂在到某一个容器里面,上面pods 后面的参数ID就是pod的ID,paas 平台pod的id一般会作为docker 容器实例名称的一个后缀,所以可以通过docker ps 查到具体是哪个容器。同样也可以找到pod 通过oc rsh pod-name 进到pod 里面去处置。下面我以直接进入docket 实例为例
[root@m8-node-96-76 ~]# docker ps|grep 6a0f73e3-904d-11ea-b9af-fa163ee54a03
d0db4e11f27b        harbor.m8.com/m8cloud/consul@sha256:c86d1d80844285488addae08169cdbff8df4cd63ec3db7803686df47e75cf933                                      "docker-entrypoint..."   15 hours ago        Up 15 hours                             k8s_consul_consul-0_m8cmp-sdp_6a0f73e3-904d-11ea-b9af-fa163ee54a03_0
0045cf9b36b1        docker.io/openshift/origin-pod:v3.11.0                                                                                                    "/usr/bin/pod"           15 hours ago        Up 15 hours                             k8s_POD_consul-0_m8cmp-sdp_6a0f73e3-904d-11ea-b9af-fa163ee54a03_0

# 5 找到这个容器了就可以进到容器里面处置了
[root@m8-node-96-76 ~]# docker exec -it d0db4e11f27b /bin/sh
/ # df -Ph
Filesystem                Size      Used Available Capacity Mounted on
overlay                  97.8G     16.3G     77.5G  17% /
tmpfs                    62.9G         0     62.9G   0% /dev
tmpfs                    62.9G         0     62.9G   0% /sys/fs/cgroup
/dev/mapper/vg01-lv01      97.8G     16.3G     77.5G  17% /dev/termination-log
/dev/rbd1                49.1G    126.0M     49.0G   0% /consul/data
/dev/mapper/vg01-lv01      97.8G     16.3G     77.5G  17% /etc/resolv.conf
/dev/mapper/vg01-lv01      97.8G     16.3G     77.5G  17% /etc/hostname
/dev/mapper/vg01-lv01      97.8G     16.3G     77.5G  17% /etc/hosts
shm                      64.0M         0     64.0M   0% /dev/shm
/dev/mapper/vg01-lv01      97.8G     16.3G     77.5G  17% /run/secrets
tmpfs                    62.9G     16.0K     62.9G   0% /run/secrets/kubernetes.io/serviceaccount
tmpfs                    62.9G         0     62.9G   0% /proc/acpi
tmpfs                    62.9G         0     62.9G   0% /proc/kcore
tmpfs                    62.9G         0     62.9G   0% /proc/keys
tmpfs                    62.9G         0     62.9G   0% /proc/timer_list
tmpfs                    62.9G         0     62.9G   0% /proc/timer_stats
tmpfs                    62.9G         0     62.9G   0% /proc/sched_debug
tmpfs                    62.9G         0     62.9G   0% /proc/scsi
tmpfs                    62.9G         0     62.9G   0% /sys/firmware

# 截至上面我们就已经找到肇事的rbd 了,后面我们可以使用umount /dev/rbd1 进行卸载

# 容器里面卸载完成之后推回到宿主机进行取消映射 rbd unmap /dev/rbd1

3 重新启动pod 就解决问题了

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部