http://www.ibm.com/developerworks/cn/linux/l-devmapper/index.html

这个页面讲了点原理,可以看一下。

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的概念一致的。

device mapper的使用的更多相关文章

  1. Linux系统中的Device Mapper学习

    在linux系统中你使用一些命令时(例如nmon.iostat 如下截图所示),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?以前不了解的时候,我也很纳闷. ...

  2. Linux 内核中的 Device Mapper 机制

    本文结合具体代码对 Linux 内核中的 device mapper 映射机制进行了介绍.Device mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机 ...

  3. 使用 Device Mapper来改变Docker容器的大小

    作者:Jérôme Petazzoni ( Docker 布道师) 译者:Mark Shao ( EMC 中国高级工程师) 如果在 CentOS . REHL . Fedor 或者其他默认没有 AUF ...

  4. Docker Device Mapper 使用 direct-lvm

      一.Device Mapper: loop-lvm 默认 CentOS7 下 Docker 使用的 Device Mapper 设备默认使用 loopback 设备,后端为自动生成的稀疏文件,如下 ...

  5. Device Mapper Multipath(DM-Multipath)

    Device Mapper Multipath(DM-Multipath)能够将server节点和存储阵列之间的多条I/O链路配置为一个单独的设备.这些I/O链路是由不同的线缆.交换机.控制器组成的S ...

  6. flashcache中应用device mapper机制

    Device Mapper(DM)是Linux 2.6全面引入的块设备新构架,通过DM可以灵活地管理系统中所有的真实或虚拟的块设备. DM以块设备的形式注册到Linux内核中,凡是挂载(或者说“映射” ...

  7. Docker存储驱动之Device Mapper简介

    Device Mapper是一个基于kernel的框架,它增强了很多Linux上的高级卷管理技术.Docker的devicemapper驱动在镜像和容器管理上,利用了该框架的超配和快照功能.为了区别, ...

  8. Device Mapper 代码分析

    Device Mapper(DM)是Linux 2.6全面引入的块设备新构架,通过DM可以灵活地管理系统中所有的真实或虚拟的块设备. DM以块设备的形式注册到Linux内核中,凡是挂载(或者说&quo ...

  9. [转] Linux 内核中的 Device Mapper 机制

    本文结合具体代码对 Linux 内核中的 device mapper 映射机制进行了介绍.Device mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机 ...

  10. Docker存储驱动Device Mapper,Overlay,AUFS

    Docker存储驱动之Device Mapper简介 - BookShu - 博客园https://www.cnblogs.com/styshoo/p/6528762.html Docker存储驱动之 ...

随机推荐

  1. java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1

    String sql1 = "insert into TEST_RELEVANCEEXPORT" +            " (ID, YYCSDM, YYCSMC, ...

  2. POJ 3006 Dirichlet's Theorem on Arithmetic Progressions (素数)

    Dirichlet's Theorem on Arithmetic Progressions Time Limit: 1000MS   Memory Limit: 65536K Total Submi ...

  3. php数据库操作类(转)

    <?php Class DB {       private $link_id;     private $handle;     private $is_log;     private $t ...

  4. Linux命令-用户管理:useradd,userdel,usermod,id,su,env,exit

    添加一个linux用户之后,相当于在linux系统里面创建了如下文件: 添加一个用户(默认也会创建一个同名的用户组,在linux下面用户默认必须在一个用户组里面): useradd wyp 添加用户w ...

  5. Linux下发布javaWeb项目,配置环境变量,tomcat,和安装mysql数据库

    如果不懂,可以联系微博本人:QQ:3111901846 (原创) 1.配置java中jdk 注意一切操作,都是在root这个目录下进行的,不要选择其他目录,不然会出现一些小问题的 第一步: 你需要一个 ...

  6. unity3D角色代码控制问题

    ///////////////2015/07/06//////// ///////////////by xbw////////////// //////////////环境 unity4.6.1// ...

  7. [hihoCoder] #1089 : 最短路径·二:Floyd算法

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 万圣节的中午,小Hi和小Ho在吃过中饭之后,来到了一个新的鬼屋! 鬼屋中一共有N个地点,分别编号为1..N,这N个地点之间 ...

  8. U3D-LookAt插值动画

    var qua = Quaternion.FromToRotation(Vector3.forward, target.transform.position - transform.position) ...

  9. 批处理学习笔记12 - 拷贝大文件到特定目录 Copy命令

    ~z 获取文件容量大小,配合变量使用 copy 拷贝命令, copy 原地址 新地址 ok,下面上代码 @echo off setlocal enabledelayedexpansion for %% ...

  10. eclipse中的项目受svn管理

    1.我们在启动Eclipse的时候都会有例如以下图提示: 假设我们直接这样输入目录的名字,这个文件会在eclipse安装目录的同一级自己主动生成这样一个名字叫做njgzw的目录.接下来我们每次启动都用 ...