dmsetup命令

来源:互联网 发布:java集合框架 编辑:程序博客网 时间:2024/06/15 12:13

dmsetup命令

显示当前的device mapper的信息

dmsetup ls

dmsetup info

dmsetup status


显示设备的依赖关系

dmsetup deps

sda4_crypt: 1 dependencies    : (8, 4)
vg_richard-lv_home: 1 dependencies    : (253, 0)
vg_richard-lv_swap: 1 dependencies    : (253, 0)
vg_richard-lv_root: 1 dependencies    : (253, 0)

再看一下/dev下面的文件

brw-rw----  1 root disk      8,   4 2012-09-03 09:16 sda4

brw-rw----  1 root disk    253,   0 2012-09-03 09:16 dm-0
brw-rw----  1 root disk    253,   1 2012-09-03 09:16 dm-1
brw-rw----  1 root disk    253,   2 2012-09-03 09:16 dm-2
brw-rw----  1 root disk    253,   3 2012-09-03 09:16 dm-3


那就是sda4_crypt依赖于sda4

vg_ricard-lv_home依赖于dm-0


显示table信息

dmsetup table


创建一个linear设备

dmsetup create dm-name dm-table

dm-name是要创建的设备名字。 如果成功将会在/dev/mapper/目录下 生成这个名字的文件

dm-table是保存了这个map device的 mapping table。


简单的dm-table一个例子是:

起始扇区  扇区个数  线性映射  目标设备 目标设备上的起始扇区

0 1025 linear /dev/sdb2 0

1025 1025 linear /dev/sdc2 0


某个block的sector大小,可以用 blockdev --getsize /dev/sdb2来得到。

如果是刚分区的盘,需要用partprobe来更新一下。


查看linear设备的写入顺序

将新生成的设备创建文件系统,mount到某个目录。

cd到这个目录下,运行

dd if=/dev/zero of=test

这个命令将一直运行到写满磁盘。


在运行之前可以运行

watch -n 1 iostat /dev/sdb2 /dev/sdc2

来观察磁盘的读写情况。


可以发现 写入的过程是,先写入到/dev/sdb2,再写入到/dev/sdc2.

这个过程是和linear的概念一致的。

[root@node1 ~]# blockdev --getsize /dev/sdc11012032[root@node1 ~]# blockdev --getsize /dev/sdd11012032[root@node1 ~]# vi linear_table0 1012032 linear /dev/sdc1 01012032 1012032 linear /dev/sdd1 0[root@node1 ~]# dmsetup create linear_test linear_table[root@node1 ~]# ls -l /dev/mapper/linear_testbrw-rw---- 1 root disk 253, 0 Jan  4 10:39 /dev/mapper/linear_test



0 0