解决无法删除lvm分区的问题

实验环境:centos7 服务器

问题:之前服务器 做过ceph,之后格式化磁盘,数据盘作raid0。系统装好后,查看设备信息。

lsblk,显示部分磁盘正常,部分下面有-ceph-**等标识,用ilo多次格式化磁盘作raid0均无效果。

直接parted /dev/sdb , 做好分区/dev/sdm1,格式化/dev/sdb  mkfs.xfs 出错,cannot open /dev/sdm: Device or resource busy

[root@k8s-node1 dev]# lsblk
NAME                                                                                                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                                                                                                     8:0    0   20G  0 disk
├─sda1                                                                                                  8:1    0  200M  0 part /boot
└─sda2                                                                                                  8:2    0 19.8G  0 part
  ├─centos-root                                                                                       253:0    0 15.8G  0 lvm  /
  └─centos-swap                                                                                       253:1    0    4G  0 lvm
sdb                                                                                                     8:16   0   20G  0 disk
└─ceph--ad379ab6--8ecf--43b6--9059--81da051e6ce2-osd--block--ce003820--8473--40ed--8c0f--1a33ac015d11 253:2    0   20G  0 lvm
sr0                                                                                                    11:0    1 10.3G  0 rom
[root@k8s-node1 dev]# mkfs.xfs /dev/sdb
mkfs.xfs: cannot open /dev/sdb: 设备或资源忙

解决方法:

dmsetup介绍

根据官方解释,说dmsetup 是low level logical volume management 。我理解的意思是,这是一个更加底层的逻辑卷管理工具。平时我们管理linux 上的逻辑卷,使用lvm相关的工具即可。lvs是更高级的管理逻辑卷的命令,但是,有时候会出现类似lvm 删除不掉的lvm分区。我们可以使用dmsetup 去删除。

下图可以看到其实lvm 所管理的逻辑卷,是dm设备的软链接,而直接操作dm设备,我们就可以用dmsetup。

dmsetup ls 查看谁在占用,找到ceph-**字样(ceph-**为lsblk显示的块设备具体信息)

[root@k8s-node1 dev]# dmsetup ls
ceph--ad379ab6--8ecf--43b6--9059--81da051e6ce2-osd--block--ce003820--8473--40ed--8c0f--1a33ac015d11     (253:2)
centos-swap     (253:1)
centos-root     (253:0)

使用dmsetup 删除字样

[root@k8s-node1 dev]# dmsetup remove ceph--ad379ab6--8ecf--43b6--9059--81da051e6ce2-osd--block--ce003820--8473--40ed--8c0f--1a33ac015d11
[root@k8s-node1 dev]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0  200M  0 part /boot
└─sda2            8:2    0 19.8G  0 part
  ├─centos-root 253:0    0 15.8G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm
sdb               8:16   0   20G  0 disk
sr0              11:0    1 10.3G  0 rom

lsblk 查看设备信息,可以看到ceph-**等标识等标识消失

mkfs.xfs -f  /dev/sdb 成功通过

原文地址:https://www.cnblogs.com/deny/p/14213003.html