生产环境遇到的问题,在测试环境复现并探究解决方法
写在前面
松鼠哥的ceph专业课程上线啦!
面向新手同学,从0实战,全面入门ceph安装部署与运维,有需要的同学赶紧扫码订购吧:
目前创建使用osd的推荐方式是lvm,好处很多。
测试开始
最近进行的一项ceph测试中,有个测试想是想看看正常运行的osd在磁盘被破坏后,集群的情况;为了模拟这种情况,松鼠哥使用dd命令将好好的一个osd磁盘写坏了!但是,坚强的osd在磁盘被dd写坏后没有第一时间就倒下,而是坚持了一会就挂了。那么问题来了,在这个磁盘上重建osd的时候出了问题,由于该磁盘此前建立osd的时候用的是lvm方式,而后被dd命令无情地破坏掉一些信息,所以,使用命令:
1 | [cephfsd@ceph-c43 ~]$ ceph-deploy osd create --data /dev/sdj ceph-c43 |
创建osd失败~天呐,我的硬盘肿么了
猜测是lvm分区仍存在,或者是系统某些地方仍然保留着该磁盘的lvm信息,导致ceph-deploy进程要进行创建的时候被拒绝了
然而,通过下面的命令:
1 | vgdisplay |
都看不到有关该磁盘的lvm信息,只有在lsblk 中看到这样的信息:
1 | sdj 8:144 0 7.3T 0 disk |
第一时间想到的是用dd把该清除的数据都清除掉!
1 | dd if=/dev/urandom of=/dev/sdj bs=512 count=10240000 |
等了一会,dd完了,再次查看lsblk -l,还是依旧存那个lvm分区
继续查了下资料,说是使用dmsetup ls命令可以看到这种残留信息:
1 | [root@ceph-c43 ~]# dmsetup ls |
就是你了!***,害我找了好久!马上用dmsetup remove掉:
1 | dmsetup remove ceph--bd9b8c7a--466b--40a6--9e73--4ce1246e0a67-osd--block--9dfeac8f--1d58--4845--8dc4--282caa134a96 |
再次lsblk -l,已经没有了那个讨厌的lvm分区~
- 本文作者: 奋斗的松鼠
- 本文链接: http://www.strugglesquirrel.com/2018/03/28/解决无法正常删除lvm的问题/
- 版权声明: 本博客所有文章除特别声明外,创作版权均为作者个人所有,未经允许禁止转载!