/dev/dm-1
がブロックデバイスパーティションかブロックデバイス全体かを判断する方法はありますか? /dev/dm-1
がパーティションの場合、対応するブロックデバイス全体へのパスを見つける方法はありますか?
メジャーM、マイナーmが指定されたdm-xの場合、対応する/sys/dev/block/M:m/dm/uuid
ファイルがあります。 uuid
ファイルの内容がpart
で始まる場合、それがパーティションであると想定しても安全です。対応するデバイス全体が/sys/dev/block/M:n/slaves/
にあります。例えば:
[centos@try ~]$ cat /sys/dev/block/253:0/dm/uuid
mpath-353333330000007d0
[centos@try ~]$ cat /sys/dev/block/253:1/dm/uuid
part1-mpath-353333330000007d0
[centos@try ~]$ ls -l /sys/dev/block/253:1/slaves
total 0
lrwxrwxrwx. 1 root root 0 15 août 22:06 dm-0 -> ../../dm-0
すべてのパーティションは「全体」のブロックデバイスです。あなたはcould任意のパーティションをサブパーティション化してから、それを再びサブパーティション化します...
あなたの例ではdm-1
は、rawデバイス、dmcryptデバイスの抽象化、MD-RAID-backed、マルチパス、dm-cryptedボリュームグループの論理ボリュームにマッピングできます。
数字 dm-X
は基本的に、デバイスが初期化されたときの単なる任意の空き番号でした。実行時にブロックデバイスレイヤーに多くの変更がないホストでは、これらの番号は起動時に自然な順序で割り当てられます。
ただし、ほとんどのデバイスマッパーメカニズムでは、マッピングのエイリアスを指定することもできます。チェックアウト ls -l /dev/mapper/
。
次に、ブロックデバイス間の階層関係を視覚化するには、lsblk
(ブロックデバイスのリスト)を使用できます。以下の短縮された出力例:
$ lsblk /dev/sdb
NAME MAJ:MIN TYPE
sdb 8:128 disk
├─sdb1 8:129 part
└─sdb5 8:133 part
└─crypto (dm-0) 252:0 crypt
├─ubuntu-root (dm-1) 252:1 lvm
└─ubuntu-swap (dm-2) 252:2 lvm
lsblk コマンドは、どのデバイスマッパーデバイスがどこに行くかなど、ブロックデバイスに関する情報を表示する便利な方法です。
/ dev/dm-1は「デバイスマッパーn.1」用です。
基本的には、カーネル組み込みデバイスマッパーレイヤーを使用して作成された論理ユニットです。ユーザースペースアプリケーションの観点からは、RAWブロックデバイスです。
pvs
とlvdisplay
を使用すると、それを裏付ける特定の物理ディスク/パーティションを通知できます。