2024年6月5日发(作者:)
Device Mapper
1.用于生成一个逻辑设备到物理设备的映射平台
2.支持将多个存储设备组合成一个虚拟设备
3.使用Device Mapper的应用程序:
LVM2
Multipathing
4.管理mapper设备:create,remove
5.利用mapping tables生成设备文件
6.可在线调整
7.通过block设备生成DM设备
8.支持堆积(如:raid10)
模块是可动态加载的模块:(安装包后会自动加载该模
块)
DM-multipath的功能:
1.故障的切换和恢复
流量的负载均衡
3.磁盘的虚拟化
DM Table
1.通过DM table来生成逻辑设备
2.描述了物理设备到逻辑设备的每一个扇区映射的关系
Table的行格式
1.逻辑设备的起始扇区
2.逻辑设备的扇区数(size)
3.创建逻辑设备的类型
4.创建逻辑设备的参数
mapping table实例:
1. 0 1024 linear /dev/sda 204 1024 512 linear /dev/sdb 766 1536 128 linear
/dev/sdc 0
#将逻辑设备0~1023扇区、1024~1535扇区以及1536~1663三个地址范围分别
以线形映射的方式映射到/dev/sda设备第204号扇区、/dev/sdb设备第766号
扇区和/dev/sdc设备的第0号扇区开始的区域
2. 0 2048 striped 2 64 /dev/sda 1024 /dev/sdb 0
#将逻辑设备从0号扇区开始的,长度为2048个扇区的段以条带的方式映射的
到/dev/sda设备的第1024号扇区以及/dev/sdb设备的第0号 扇区开始的区域。
同时告诉内核这个条带类型的target driver存在2个条带设备与逻辑设备做映
射,并且条带的大小是64个扇区,使得驱动可以该值来拆分跨设备的IO请求。
3. 0 4711 mirror core 2 64 nosync 2 /dev/sda 2048 /dev/sdb 1024
#将逻辑设备从0号扇区开始的,长度为4711个扇区的段以镜像的方式映射到
/dev/sda设备的第2048个扇区以及/dev/sdb设备的第1024号扇区开始的区域。
dmsetup
p用于创建、管理、查询DM设备的工具
2.支持stdin获取参数来创建Mapping table信息#建议利用stdin方式使用
dmsetup创建mapping table信息
e.g. #dmsetup create mydevice map_table
3.实例:将/dev/sda和/dev/sdb两个设备以线性的方式组成逻辑设备
/dev/mapper/combined
[root@node1 ~]#vim
#!/bin/bash
size1=$(blockdev --getsize $1)
size2=$(blockdev --getsize $2)
echo -e "0 $size1 linear $1 0n$size1 $size2 linear $2 0" | dmsetup create
combined
[root@node1 ~]#./ /dev/sda /dev/sdb
[root@node1 ~]#ls -ls /dev/mapper/combined
0 brw-rw---- 1 root disk 252, 2 10-28 11:36 /dev/mapper/combined
#blockdev --getsize /dev/sda 计算/dev/sda的所有扇区数
[root@node1 home]# mkfs -t ext3 /dev/mapper/combined
[root@node1 home]# mount /dev/mapper/combined /mnt
[root@node1 home]# df -h /mnt
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/combined 19G 173M 18G 1% /mnt
Mapping Targets
1. linear:线性,连续写入
2. striped:条带化,分段写入,raid0
3. error:定义“out-of-bounds"屏蔽区域,坏道等
4. snapshot: -copy-on-write device:COW写实复制设备
5. snapshot-origin-device:起始卷
6. zero:零设备,可模拟大容量设备
7. multipath:多路径,多条路由到设备
Mapping Target - linare
1. dm-linare 驱动
2. 将多个物理设备组成一个连续的逻辑设备
3.参数:
发布评论