To be a better coder
分类: 系统运维
2019-02-19 15:34:09
原文地址:linux命令----dmsetup 作者:brook330
查看dm设备信息命令。
[root@cnsz031722 ~]#
dmsetup ls
mpath2 (253, 8)
VolGroup02-LVcustomer (253, 11)
VolGroup00-LVwls (253, 5)
VolGroup04-lv_ldap4 (253, 15)
VolGroup00-LVtmp (253, 2)
app_customer_lun04 (253, 10)
VolGroup00-LVhome (253, 1)
app_customer_lun03 (253, 9)
app_customer_lun02 (253, 7)
VolGroup00-LVvar (253, 3)
mpath3 (253, 12)
app_customer_lun01 (253, 6)
VolGroup00-LVswap (253, 4)
VolGroup00-LVroot (253, 0)
举例:(253,6)中的6表示dm-6
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/sdc1 1012032 [root@node1 ~]# blockdev --getsize /dev/sdd1 1012032 [root@node1 ~]# vi linear_table 0 1012032 linear /dev/sdc1 0 1012032 1012032 linear /dev/sdd1 0 [root@node1 ~]# dmsetup create linear_test linear_table [root@node1 ~]# ls -l /dev/mapper/linear_test brw-rw---- 1 root disk 253, 0 Jan 4 10:39 /dev/mapper/linear_test
dmsetup: dm设备管理dmsetup deps dm-name 查看dm-name设备的target信息 dmsetup info dm-name 查看dm-name设备的基本信息 dmsetup status dm-name 查看dm-name设备的基本状态 dmsetup ls 查看dm-name的设备号 dmsetup table dm-name 查看dm-name的table dmsetup targets 查看系统支持的target_type及版本信息 dmsetup create dm-name dm-table 根据dm-table建立一个dm-name的设备, dmsetup create dm-name --table "dm-table-txt" 根据"dm-table-txt" 建立一个dm-name的设备, dmsetup load/reload dm-name dm-table 重载dm-table dmsetup remove dm-name dm-name 删除dm-name dmsetup suspend dm-name 暂停dm-name设备 dmsetup resume dm-name 重新使用dm-name设备Table Format:在dm create一定要指定dm table, dm table的格式如下: logical_start_sector num_sectors target_type实例:其中: logical_start_sector: 逻辑盘的起始扇区 num_sector: 逻辑盘的大小 target_type: 目标设备的类型 : 目标设备参数, 不同的目标设备类型参数不同 Linear:linear #cat dm-table.linear 0 1048576 linear /dev/loop0 8 1048576 1048576 linear /dev/loop1 8 #dmsetup create dm.linear dm-table.linear 特点: Linear设备能方便的实现在线扩容,但不提高性能 stripe:striped ... #cat dm-table.stipe1 0 4194304 striped 2 32 /dev/loop0 8 /dev/loop1 8 4194304 4194304 striped 2 32 /dev/loop2 8 /dev/loop3 8 其中: Striped是指目标设备类型是striped 2是指2个目标设备 32是指条带大小是32K 由2个striped设备再组合成一个linear设备 #dmsetup create dm.stripe1 dm-table.stripe1 这样dm设备dm.striep1是一个由4个设备组成的混合型逻辑设备, 同时dm设备也支持多层次设备组合, 用户可以根据需要自由的组合. 特点: stiped设备能并行的利用设备,可以提高性能及并发能力 mirror:mirror <#log_args> ... <#devs> ... <#features> ... Mirror whith in-memory log: 0 4194304 mirror core 1 1024 2 /dev/loop0 0 /dev/loop1 0 1 handle_errors 其中: core 1 1024 是日记参数,core region_size, 大小必须是2的次方 2 /dev/loop0 0 /dev/loop1 0是设备数量, 设备及开始扇区 1 handle_errors是标志 mirror with disk log: 0 4194304 mirror disk 2 /dev/loop2 1024 2 /dev/loop0 0 /dev/loop1 0 1 handle_errors 其中: disk 2 /dev/loop2 1024 是日记参数 2 /dev/loop0 0 /dev/loop1 0是设备数量, 设备及开始扇区 1 handle_errors是标志 特点: 高可靠,但是空间利用率低下 Raid:raid ... Raid1 with metadata: 0 4194304 raid raid1 3 0 region_size 1024 2 /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3 Raid1 without metadata: 0 4194304 raid raid1 3 0 region_size 1024 2 - /dev/loop1 - /dev/loop3 其中: raid1 3 0 是raid-type chunk-size stripe-number region_size 1024是 ?? 2 /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3是设备数量及设备 Raid5 without metadata: 0 4194304 raid raid5_ls 3 64 region_size 1024 4 - /dev/loop0 - /dev/loop1 - /dev/loop2 - /dev/loop3 Raid6 without metadata: 0 4194304 raid raid6_zr 3 64 region_size 1024 4 - /dev/loop0 - /dev/loop1 - /dev/loop2 - /dev/loop3 特点: 高可靠,并且提高空间利用率和性能,raid5和raid6是最常见的raid方式