逻辑块设备名称和物理块设备名称之间的映射

Out*_*gic 25 lvm block-device

我无法弄清楚不同逻辑和物理块设备名称之间的映射。“cat /proc/diskstats”的输出是:

 104    0 cciss/c0d0 ...
 104    1 cciss/c0d0p1 ...
 104    2 cciss/c0d0p2 ...
 104    16 cciss/c0d1 ...
 253    0 dm-0 ...
 253    1 dm-1 ...
 253    2 dm-2 ...
 253    3 dm-3 ...
Run Code Online (Sandbox Code Playgroud)

“df -h”的输出是:

/dev/cciss/c0d0p1                 99M   39M   56M  42% /boot
/dev/mapper/VolGroup01-LogVol02   908G  760G  103G  89% /home
/dev/mapper/VolGroup01-LogVol03   193G  181G  2.6G  99% /opt
/dev/mapper/VolGroup00-LogVol00   54G   11G   41G  21%  /
Run Code Online (Sandbox Code Playgroud)

我在哪里可以找到 "cciss" 、 "dm-#" 和 "VolGroup##" 之间的映射?

谢谢

poi*_*ige 28

有方便dmsetup ls --tree和实用程序lsblk

  • @亚历克斯,?没试过`lsblk`? (3认同)
  • 尽管这并没有为您提供 VG 与其 PV 之间的映射。为此,您需要运行 `pvdisplay` 和 `vgdisplay`,并将它们的输出与 `dmsetup ls` 的输出相关联。 (2认同)

小智 7

我刚刚遇到这个问题,所以我会在这里记录对我有帮助的内容。

poise 的回答是正确的,dmsetup ls --tree如果您知道如何解释输出,您可以从 中获得您需要的所有信息。

cciss 是设备名称,这是您的实际磁盘。该手册页拼出来好,但我会在这里复制的相关章节:

   Device nodes
   The device naming scheme is as follows:

   Major numbers:

       104     cciss0
       105     cciss1
       106     cciss2
       105     cciss3
       108     cciss4
       109     cciss5
       110     cciss6
       111     cciss7

   Minor numbers:

       b7 b6 b5 b4 b3 b2 b1 b0
       |----+----| |----+----|
            |           |
            |           +-------- Partition ID (0=wholedev, 1-15 partition)
            |
            +-------------------- Logical Volume number

   The device naming scheme is:

       /dev/cciss/c0d0         Controller 0, disk 0, whole device
       /dev/cciss/c0d0p1       Controller 0, disk 0, partition 1
       /dev/cciss/c0d0p2       Controller 0, disk 0, partition 2
       /dev/cciss/c0d0p3       Controller 0, disk 0, partition 3

       /dev/cciss/c1d1         Controller 1, disk 1, whole device
       /dev/cciss/c1d1p1       Controller 1, disk 1, partition 1
       /dev/cciss/c1d1p2       Controller 1, disk 1, partition 2
       /dev/cciss/c1d1p3       Controller 1, disk 1, partition 3
Run Code Online (Sandbox Code Playgroud)

“dm-#”是设备映射器编号。映射 DM 编号的最简单方法是运行lvdisplay,它会显示逻辑卷名称、它所属的卷组以及块设备。在“块设备”行中,冒号后列出的值是 DM 编号。

root@centos:/dev > lvdisplay /dev/vg0/opt 
  --- Logical volume ---
  LV Name                /dev/vg0/opt
  VG Name                vg0
  LV UUID                ObffAT-txIn-5Rwy-bW5s-gekn-VLZv-71mDZi
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                1.00 GB
  Current LE             32
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:5
Run Code Online (Sandbox Code Playgroud)

哪个映射回很好的输出 dmsetup ls --tree

vg0-opt (253:5)
 ?? (104:3)
Run Code Online (Sandbox Code Playgroud)

您还可以通过运行查看 DM 号码映射ls -lrt /dev/mapper

root@centos:/dev > ls -lrt /dev/mapper
total 0
crw------- 1 root root  10, 60 Aug 29  2013 control
brw-rw---- 1 root disk 253,  0 Aug 29  2013 vg0-root
brw-rw---- 1 root disk 253,  1 Aug 29  2013 vg0-usr
brw-rw---- 1 root disk 253,  2 Aug 29  2013 vg0-tmp
brw-rw---- 1 root disk 253,  3 Aug 29  2013 vg0-var
brw-rw---- 1 root disk 253,  4 Aug 29  2013 vg0-home
brw-rw---- 1 root disk 253,  5 Aug 29  2013 vg0-opt
Run Code Online (Sandbox Code Playgroud)

第六列列出了 DM 编号。因此,对于我的服务器,vg0-opt 安装在 /opt 上,并映射回 DM-5。


小智 6

使用dmsetup ls --tree -o blkdevname.

[root@redhat7 Packages]# dmsetup ls --tree -o blkdevname
rhel-swap <dm-1> (253:1)
 ?? <sda2> (8:2)
rhel-root <dm-0> (253:0)
 ?? <sda2> (8:2)
oraclevg-oraclelv <dm-2> (253:2)
 ?? <sdb> (8:16)
Run Code Online (Sandbox Code Playgroud)