dmsetup--device mapper 管理工具(误删除逻辑卷lvm设备文件处理方法)

dmsetup 命令
一、介绍

Mapped Device 是一个逻辑抽象,可以理解成为内核向外提供的逻辑设备,它通过Mapping Table描述的映射关系和Target Device建立映射。Target device表示的是Mapped Device所映射的物理空间段,对Mapped Device所表示逻辑设备来收,就是该逻辑设备映射到的一个物理设备。

Mapping Table里有 Mapped Device 逻辑的起始地址、范围、和表示在 Target Device 所在物理设备的地址偏移量以及Target 类型等信息(注:这些地址和偏移量都是以磁盘的扇区为单位的,即 512 个字节大小,所以,当你看到128的时候,其实表示的是128*512=64K)。

DeviceMapper 中的逻辑设备Mapped Device不但可以映射一个或多个物理设备Target Device,还可以映射另一个Mapped Device,于是,就是构成了一个迭代或递归的情况,就像文件系统中的目录里除了文件还可以有目录,理论上可以无限嵌套下去。
二、dmsetup介绍

下图可以看到其实lvm 所管理的逻辑卷,是dm设备的软链接,而直接操作dm设备,我们就可以用dmsetup。
三、dmsetup 命令语法格式
# command 常见的有 remove 、 ls 、status 等
# device_name: 可以是/dev/sd*,或者是物理卷的名称
常用命令
显示当前devicemapper 的信息
demsetup ls #列出所有逻辑设备
demsetup status # 列出所有逻辑设备的状态信息
desetup remove # 移除逻辑设备
显示设备依赖关系
dmsetup deps
五、案例

下面将演示一个lv程序无法处理的问题。必须使用dmsetup来处理
实际遇到的报错图示```shell
亲测有效处理办法
使用lvremove及vgremove均无法清理时,
dmsetup info #查看,确定逻辑卷名
dmsetup ls #查看,确定逻辑卷名
dmsetup remove <逻辑卷名>

##### 故障复现及恢复
1、创建lv逻辑卷。

##### 创建逻辑卷
```shell [root@seed-84 ~]# vgcreate  vg-test /dev/sdb
  Physical volume "/dev/sdb" successfully created.
  Volume group "vg-test" successfully created

[root@seed-84 ~]# lvcreate -n vg-lv  -l 100%FREE vg-test
  Logical volume "vg-lv" created.
查看逻辑卷
  LV    VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  vg-lv vg-test -wi-a----- <16.00g
2、查看lvm路径
[root@seed-84 ~]# ll /dev/mapper/vg--test-vg--lv
lrwxrwxrwx. 1 root root 7 May 27 11:51 /dev/mapper/vg--test-vg--lv -> ../dm-0
3、rm 删除 dm-0(这里为非正常删除,为了演示现象)
[root@seed-84 ~]# rm /dev/dm-0
rm: remove block special file ‘/dev/dm-0’? y
4、删除/dev/mapper/下的vg-test目录。
 rm /dev/mapper/vg--test-vg--lv  -rf
5、使用sgdisk 格式化磁盘信息
[root@seed-84 ~]# sgdisk  -z /dev/sdb
Creating new GPT entries.
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.

[root@seed-84 ~]# sgdisk  -Z /dev/sdb
Creating new GPT entries.
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
6、执行wipefs -a 尝试擦该设备,却一直提示磁盘正在使用。
[root@seed-84 ~]# wipefs -a /dev/sdb
wipefs: error: /dev/sdb: probing initialization failed: Device or resource busy
7、使用dmsetup 查看lv卷,使用dmsetup移除该卷
[root@seed-84 ~]# dmsetup ls
vg--test-vg--lv (253:0)

[root@seed-84 ~]# dmsetup remove vg--test-vg--lv
8、再次执行wipefs -a /dev/sdb。
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值