Linux系统中的Device Mapper学习

2016-12-16 15:42 潇湘隐者 阅读(11906) 评论(0) 编辑 收藏

在linux系统中你使用一些命令时(例如nmon、iostat 如下截图所示),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?以前不了解的时候,我也很纳闷. 其实dm是Device Mapper的缩写,Device Mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略,当前比较流行的 Linux 下的逻辑卷管理器如 LVM2(Linux Volume Manager 2 version)、EVMS(Enterprise Volume Management System)、dmraid(Device Mapper Raid Tool)等都是基于该机制实现的。关于Device Mapper的理论知识,最全的资料莫过于IBM的Linux 内核中的 Device Mapper 机制这篇文章。

理论知识只是对那些达到一定高度和深度,想深入钻研的人研究的, 下面我们还是来看看简单操作中遇到的一些疑问和问题,例如上图所示,dm-0、dm-1、dm-xx各自与那些磁盘映射呢?各自又代表的啥意义呢?首先我们来看看dm-0,dm-1,dm-2这个三个文件设备

/dev/dm-0  /dev/dm-1  /dev/dm-2
brw-rw---- 1 root root 253, 0 Dec  7 16:45 /dev/dm-0
brw-rw---- 1 root root 253, 2 Dec  7 16:45 /dev/dm-2

[[email protected] ~]# fdisk -l

Disk /dev/sda: 85.8 GB, 85899345920 bytes
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda2              14        6788    54420187+  8e  Linux LVM
 
.....................................................................
Disk /dev/dm-0: 107.2 GB, 107206410240 bytes
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/dm-0 doesn‘t contain a valid partition table
Disk /dev/dm-1: 12.8 GB, 12884901888 bytes
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/dm-1 doesn‘t contain a valid partition table
Disk /dev/dm-2: 30.0 GB, 30031216640 bytes
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/dm-2 doesn‘t contain a valid partition table

虽然/dev/下面没有所谓的dm-3、dm-4...., 一般你用nmon、iostat 之类的命令就能看到,其实他也可以查看这些dm对应的那些设备,一般都位于 /dev/mapper下面。

total 0
brw-rw---- 1 root disk 253,  0 Dec  7 16:45 VolGroup00-LogVol00
brw-rw---- 1 root disk 253,  1 Dec  7 16:45 VolGroup00-LogVol01
brw-rw---- 1 root disk 253, 12 Dec  7 16:45 VolGroup01-LogVol00--PS--user--snapshot
brw-rw---- 1 root disk 253, 10 Dec  7 16:45 VolGroup02-LogVol00--PS--user--snapshot
brw-rw---- 1 root disk 253,  8 Dec  7 16:45 VolGroup03-LogVol00--PS--user--snapshot
brw-rw---- 1 root disk 253,  6 Dec  7 16:45 VolGroup04-LogVol00--PS--user--snapshot
brw-rw---- 1 root disk 253,  4 Dec  7 16:45 VolGroup05-LogVol00--PS--user--snapshot
[[email protected] ~]# ls /dev/VolGroup*
LogVol00  LogVol00-PS-user-snapshot  LogVol01
/dev/VolGroup01:
 
LogVol00  LogVol00-PS-user-snapshot
/dev/VolGroup03:
 
LogVol00  LogVol00-PS-user-snapshot
/dev/VolGroup05:
[[email protected] ~]# 
[[email protected] ~]# cd /dev/VolGroup01
total 0
lrwxrwxrwx 1 root root 51 Dec  7 16:45 LogVol00-PS-user-snapshot -> /dev/mapper/VolGroup01-LogVol00--PS--user--snapshot

[[email protected] ~]# dmsetup ls

VolGroup00-LogVol00--PS--user--snapshot (253, 2)
VolGroup04-LogVol00     (253, 5)
VolGroup03-LogVol00     (253, 7)
VolGroup02-LogVol00     (253, 9)
VolGroup00-LogVol01     (253, 1)
VolGroup00-LogVol00     (253, 0)
[[email protected] ~]#

253后面的数字就对应dm后面的数字,如果你要查看具体的信息就使用命令 dmsetup info 就能看到下面详细信息。

/dev/VolGroup00/LogVol00 /                      ext3    defaults        1 1
/dev/VolGroup02/LogVol00 /u02                   ext3    defaults        1 1
/dev/VolGroup04/LogVol00 /u04                   ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
proc                    /proc                   proc    defaults        0 0
/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0

有了上面信息我们就能知道dm-0、dm-1、dm-2分别对应下面的一些设备

dm-0 对应LVM的 VolGroup00-LogVol00 对应根目录/

dm-1 对应LVM的 VolGroup00-LogVol01 对应swap

dm-2 对应LMV的 VolGroup00-LogVol00--PS--user--snapshot

.........................................................

转自:  https://www.cnblogs.com/kerrycode/p/6187148.html

原文地址:https://www.cnblogs.com/pipci/p/11419949.html

时间: 2024-07-29 05:39:40

Linux系统中的Device Mapper学习的相关文章

Linux 内核中的 Device Mapper 机制

http://www.68idc.cn/help/server/linux/20141127133367.html 结合具体代码对 Linux 内核中的 device mapper 映射机制进行了介绍.Device mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物 简介: 本文结合具体代码对 Linux 内核中的 device mapper 映射机制进行了介绍.Device mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,

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

本文结合具体代码对 Linux 内核中的 device mapper 映射机制进行了介绍.Device mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略,当前比较流行的 Linux 下的逻辑卷管理器如 LVM2(Linux Volume Manager 2 version).EVMS(Enterprise Volume Management System).dmraid(Device M

学习Linux系统中命令的简单方法

如果说如何快速学习.了解Linux的话,我的答案是学命令.背命令!为何呢?对于一名新手来说,去学习Linux的思想.了解Linux的架构.明白Linux中"一切皆文件"概念虽然说是没有错,是对的.但是个人认为去学习这些"高大上"的东西不是一时半会的事儿,它需要一定的时间和经验去沉淀才能掌握.那么如何最快速了解Linux并使用呢?我依然觉得学命令.背命令,掌握命令是比较笨但却是比较快的方式. 我开始学习Linux的时候,问了前辈:我入门Linux需要掌握哪些命令呢?前

《Linux学习并不难》文件系统管理(3):在Linux系统中创建文件系统

18.3  <Linux学习并不难>文件系统管理(3):在Linux系统中创建文件系统 使用mkfs命令可以在分区上创建各种文件系统.mkfs命令本身并不执行建立文件系统的工作,而是去调用相关的程序来执行.这里的文件系统是要指定的,比如xfs.ext4.ext3.vfat或者是msdos等. 命令语法: mkfs [选项] [设备] 命令中各选项的含义如表所示. 选项 选项含义 -t <文件系统类型> 指定文件系统类型 -v 显示详细信息 例:为/dev/sda5磁盘分区创建xfs

linux系统中misc子系统

misc子系统 转载请注明出处:http://blog.csdn.net/wang_zheng_kai 光源器件与系统研究所 个人学习总结 1.在linux系统中什么是misc? 在研究摄像头驱动的时候,发现摄像头驱动的路径为:/driver/misc/jz_cim/文件目录下,经过查找结果如下: 杂项设备(misc device) 杂项设备也是嵌入式系统中用得比较多的一种设备驱动.在 Linux 内核的include/linux目录下有miscdevice.h文件,要把自己定义的misc de

在 Linux 系统中安装Load Generator ,并在windows 调用

原文地址:http://www.blogjava.net/qileilove/archive/2012/03/14/371861.html 由于公司需要测试系统的最大用户承受能力,所以需要学习使用loadrunner.在安装的时候碰到了不少问题,所以写下此文章总结遇到的问题以及解决方案,希望能帮到大家.也希望大家转载注明出处. Winsows 的Loadrunner 安装就不多讲了,这个太容易了. 以下是Linux 中安装 Load Generator 说明: Linux 系统版本:CentOS

Linux系统中的硬件问题如何排查?(5)

Linux系统中的硬件问题如何排查?(5) 2013-03-27 10:32 核子可乐译 51CTO.com 字号:T | T 在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工作,即使是经验相当丰富的用户有时也会遇上自己搞不定的状况,本文分享一些实用的技巧与处理方法,希望有助于读者朋友理解.查明并最终搞定硬件难题. AD:2014WOT全球软件技术峰会北京站 课程视频发布 实例汇总 有了前面提到的知识基础,现在我们该处理一些实例,在操作中学习并理解.当前我怀疑自己的英伟达

在LINUX系统中安装KVM虚拟化

首先CPU要支持虚拟化(Intel是vmx,AMD是svm)[[email protected] ~]# egrep '(vmx|svm)' --color /proc/cpuinfo确保BIOS里开启VT,如果无法安装会有未开启虚似化的提示,去BISO里开启Intel(R) Virtualization Tech [Enabled] 安装虚拟化套件,由于安装包较多,应该先配置好YUM库,然后用YUM安装虚似化的四个组,完装完无法打开有可能是你少装包了,检查一下是不是有错字.[[email pr

理解Linux系统中的load average

理解Linux系统中的load average(图文版) 博客分类: Linux linux load nagios 一.什么是load average? linux系统中的Load对当前CPU工作量的度量 (WikiPedia: the system load is a measure of the amount of work that a computer system is doing).也有简单的说是进程队列的长度. Load Average 就是一段时间 (1 分钟.5分钟.15分钟