linux device mapper. linux中通过device mapper可以将一个逻辑设备映射到一
个tag device上,通过这种机制可以时下linux下的逻辑卷功能. dmsetup用于建立映射表.
例如:
1.0 1024 linear /dev/sda 204
1024 512 linear /dev/sdb 766
1536 128 linear /dev/sdc 0
2.0 2048 striped 2 64 /dev/sda 1024 /dev/sdb 0
3.0 4711 mirror core 2 64 nosync 2 /dev/sda 2048 /dev/sdb 1024
例子1中将逻辑设备0~1023扇区,1024~1535扇区以及1536~1663三个地址范围分别以线形
映射的方式映射到/dev/sda设备第204号扇区,/dev/sdb设备第766号扇区和/dev/sdc设备
的第0号扇区开始的区域.
例子2中将逻辑设备从0号扇区开始的,长度为2048个扇区的段以条带的方式映射的到
/dev/sda设备的第1024号扇区以及/dev/sdb设备的第0号扇区开始的区域. 同时告诉内核
这个条带类型的target driver存在2个条带设备与逻辑设备做映射,并且条带的大小是64
个扇区,使得驱动可以该值来拆分跨设备的IO请求.
例子3中将逻辑设备从0号扇区开始的,长度为4711个扇区的段以镜像的方式映射到
/dev/sda设备的第2048个扇区以及/dev/sdb设备的第1024号扇区开始的区域.
映射表确定后,创建,删除逻辑设备的操作就相对简单,通过dmsetup如下命令就可以完成相
应的操作. 其操作如下:
dmsetup create 设备名 映射表文件 /* 根据指定的映射表创建一个逻辑设备 */
dmsetup reload 设备名 映射表文件
/* 为指定设备从磁盘中读取映射文件,重新构建映射关系 */
dmsetup remove 设备名 /* 删除指定的逻辑设备 */
在linux下的device/md目录下有dm的实现,主要是将逻辑设备申明成一个逻辑的块设备,然后
通过用户空间用ioctl来实现其映射过程.
[linux]linux device mapper 设备映射
最新推荐文章于 2023-05-02 23:15:12 发布