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.参数: