这是什么 dm-0 设备?

117 linux ubuntu-9.10

在四处寻找为什么 Linux -> Linux 文件传输的运行速度比我想象的要慢时,我偶然发现了一些我不熟悉的东西。/dev/dm-0 似乎是我的瓶颈,但我不知道它是什么。

在我的目标服务器上,iostat 命令显示底部的设备 /dev/dm-0 被 100% 使用。该服务器在 mdadm raid5 集中有 6 个磁盘,LVM 在其上运行。每个底层磁盘的利用率都在 50% 左右。传输正在写入位于此 raidset 上的逻辑卷。

这个 /dev/dm-0 是什么东西?一旦我知道它是什么,也许我可以找到如何提高它的速度,或者至少了解为什么它是这样的速度。

Ign*_*ams 122

它是内核中设备映射器的一部分,由 LVM 使用。使用dmsetup ls看看背后是什么。

  • 更具体地说```sudo dmsetup info /dev/dm-0``` (49认同)
  • `dmsetup ls` 不会返回任何关于 `dm-0` 是什么或在哪里可以找到它的有用信息。 (3认同)

小智 53

那些是 LVM 逻辑“设备”

您可以使用以下方法映射它们:

# sudo lvdisplay|awk  '/LV Name/{n=$3} /Block device/{d=$3; sub(".*:","dm-",d); print d,n;}'
dm-0 /dev/SysVolGroup/LogVolRoot
dm-1 /dev/SysVolGroup/xen
dm-2 /dev/SysVolGroup/db1-2
dm-3 /dev/SysVolGroup/db1-2swap
dm-4 /dev/SysVolGroup/python1
dm-5 /dev/SysVolGroup/python1swap
dm-6 /dev/SysVolGroup/db1-2snap
Run Code Online (Sandbox Code Playgroud)

来源:http : //www.linuxquestions.org/questions/linux-newbie-8/dm0-in-iostat-652771/


小智 37

像往常一样在Linux系统下,应该有很多方法可以得到相同的结果。如果您获得了非 root 用户,我建议您使用lsblk命令(例如列出块设备),它将构建磁盘依赖项的树视图:

[oracle@abcdlinux ~]$ lsblk
NAME                               MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda                                  8:0    0  300G  0 disk
??RATGORA1DSY_PJSTORE_1 (dm-4)     253:4    0  300G  0 mpath
  ??RATGORA1DSY_PJSTORE_1p1 (dm-5) 253:5    0  300G  0 part  /oradata
sdb                                  8:16   0  100G  0 disk
??Boot-RATGORA1DSY (dm-0)          253:0    0  100G  0 mpath
  ??Boot-RATGORA1DSYp1 (dm-1)      253:1    0  100M  0 part  /boot
  ??Boot-RATGORA1DSYp2 (dm-2)      253:2    0   16G  0 part  [SWAP]
  ??Boot-RATGORA1DSYp3 (dm-3)      253:3    0 83.9G  0 part  /
sdc                                  8:32   0  300G  0 disk
??RATGORA1DSY_PJSTORE_1 (dm-4)     253:4    0  300G  0 mpath
  ??RATGORA1DSY_PJSTORE_1p1 (dm-5) 253:5    0  300G  0 part  /oradata
sdd                                  8:48   0  100G  0 disk
??Boot-RATGORA1DSY (dm-0)          253:0    0  100G  0 mpath
  ??Boot-RATGORA1DSYp1 (dm-1)      253:1    0  100M  0 part  /boot
  ??Boot-RATGORA1DSYp2 (dm-2)      253:2    0   16G  0 part  [SWAP]
  ??Boot-RATGORA1DSYp3 (dm-3)      253:3    0 83.9G  0 part  /
Run Code Online (Sandbox Code Playgroud)


eel*_*EEz 17

sudo lvdisplay
Run Code Online (Sandbox Code Playgroud)

显示了挂载的虚拟分区到“卷组”的映射。

当我打字时,sudo pvs我看到了一个卷组到一个“物理卷”的映射,看起来像一个熟悉的/dev/sdaN符号。(我看着整个磁盘fdisk -l /dev/sda显示了另一个分区)。


小智 11

pvs显示支撑 LVM 卷组的物理卷。许多物理设备可以组合在一起形成一个卷组。然后根据需要将该组重新拆分为逻辑卷,将物理磁盘视为单个资源,可以随意切碎和重新调整大小。每次将卷组的一部分切片为逻辑卷时,它都会显示为一个dm-设备


小智 11

想评论Pascal的帖子,有时候需要定义输出列才能看到名字。例如在 CentOS 6 上它会显示它们但 CentOS 7 不会。使用 --output 解决了这个问题。

lsblk --output NAME,KNAME,TYPE,SIZE,MOUNTPOINT

NAME            KNAME TYPE  SIZE MOUNTPOINT
sda             sda   disk   16G 
??sda1          sda1  part  500M /boot
??sda2          sda2  part 15.5G 
  ??centos-root dm-0  lvm  13.9G /
  ??centos-swap dm-1  lvm   1.6G [SWAP]
sr0             sr0   rom  1024M 
Run Code Online (Sandbox Code Playgroud)

  • 真棒,更容易在精确的设备上查明 KNAME,谢谢 (2认同)