dm-間のマッピングを見つける方法は?実行中のカーネルのファイルとそのLVMファイル

dm-間のマッピングを見つける方法は?実行中のカーネルのファイルとそのLVMファイル

dm-?間のマッピング関係のようです。ファイルとそのLVMファイルは、次の構成でのみ静的に取得できます。
それでは、現在実行中のカーネルから直接マッピングを見つける他の方法はありますか?

# ls -l /dev/mapper
total 0
crw-rw---- 1 root root 10, 58 Apr  9  2021 control
lrwxrwxrwx 1 root root      7 Nov 24 18:30 mpdsk1 -> ../dm-3
lrwxrwxrwx 1 root root      7 Nov 24 18:30 mpdsk2 -> ../dm-2
lrwxrwxrwx 1 root root      7 Apr  9  2021 vgdat1-lvoradata2 -> ../dm-4
lrwxrwxrwx 1 root root      7 Apr  9  2021 vgroot-lvapp -> ../dm-5
lrwxrwxrwx 1 root root      7 Apr  9  2021 vgroot-lvhome -> ../dm-7
lrwxrwxrwx 1 root root      7 Apr  9  2021 vgroot-lvinstall -> ../dm-8
lrwxrwxrwx 1 root root      8 Apr  9  2021 vgroot-lvoradata1 -> ../dm-11
lrwxrwxrwx 1 root root      7 Apr  9  2021 vgroot-lvroot -> ../dm-0
lrwxrwxrwx 1 root root      7 Apr  9  2021 vgroot-lvswap -> ../dm-1
lrwxrwxrwx 1 root root      8 Apr  9  2021 vgroot-lvtmp -> ../dm-10
lrwxrwxrwx 1 root root      7 Apr  9  2021 vgroot-lvusr -> ../dm-9
lrwxrwxrwx 1 root root      7 Apr  9  2021 vgroot-lvvar -> ../dm-6
# 

答え1

sysfsからデバイスマッパーデバイスの名前を取得できます。

$ cat /sys/class/block/dm-1/dm/name
fedora-root

これは、LVMだけでなくすべてのDMデバイスにも適用されます。

逆に、シンボリックリンクを解決するのは/dev/mapper/<name>おそらく最良の方法です(ここにあるのは実際のブロックデバイスである/dev/mapper/「ユーザーフレンドリーな」シンボリックリンクです)。/dev/dm-X

または、次をdmsetup使用してブロックデバイス名を取得できます。

# dmsetup info fedora-root -C -o blkdevname --noheadings
dm-1

関連情報