Chinaunix首页 | 论坛 | 博客
  • 博客访问: 152557
  • 博文数量: 30
  • 博客积分: 30
  • 博客等级: 民兵
  • 技术积分: 310
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-31 15:35
文章分类

全部博文(30)

文章存档

2020年(1)

2019年(10)

2016年(19)

我的朋友

分类: 系统运维

2016-10-25 16:38:58

查看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方式


阅读(8234) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~