論理ボリュームに関連するすべての物理ボリュームをリストしたいと思います。
わかりましたlvdisplay
、それを行うことpvscan
ができますpvdisplay -m
。しかし、私はこのコマンドを使用したくありません。 lvm2 packageコマンドを使用せずにこれを実行する他の方法はありますか?
主装置と補助装置の数を比較する方法についてのアイデアはありますか?
答え1
あなたが本当に根本的な原因を特定する必要がある場合は、基本数字と二次数字を比較することを検討してください。
ubuntu@ubuntu-OptiPlex-3010:~$ sudo dmsetup ls
vgpool-lvstuff (253, 0)
ディスクsda1を使用してこの論理ボリュームを作成しました。
ubuntu@ubuntu-OptiPlex-3010:~$ sudo dmsetup deps vgpool-lvstuff
1 dependencies : (8, 1)
(8, 1) は、lvm が依存する(プライマリ、セカンダリ)ディスクの数を提供し、次のコマンドを使用して比較します.
ubuntu@ubuntu-OptiPlex-3010:~$ sudo cat /proc/partitions
major minor #blocks name
8 0 488386584 sda
8 1 305368 sda1
8 2 3150112 sda2
答え2
2つの可能性があります。
dmsetup
lvm以外のパッケージコマンド(openSUSEの別のパッケージ)を受け入れると、device-mapper
次のことができます。
dmsetup table "${vg_name}-${lv_name}"
またはこれを行う:
start cmd: # ls -l /dev/mapper/linux-rootfs
lrwxrwxrwx 1 root root 7 27. Jun 21:34 /dev/mapper/linux-rootfs -> ../dm-0
start cmd: # ls /sys/block/dm-0/slaves/
sda9
答え3
基本コマンドを使用してすべてのマッパーをリストし、各識別子に関するすべての情報を1行で取得します。
for file in $(ls -la /dev/mapper/* | grep "\->" | grep -oP "\-> .+" | grep -oP " .+"); do echo "MAPPER:"$(F=$(echo $file | grep -oP "[a-z0-9-]+");echo $F":"$(ls "/sys/block/${F}/slaves/");)":"$(df -h "/dev/mapper/${file}" | sed 1d); done;
結果は次のとおりです。
MAPPER:dm-0:sdd1:/dev/mapper/luks-00000000-0000-0000-0000-000000000000 916G 487G 384G 56% /media/whk/Secure1
MAPPER:dm-1:sde1:/dev/mapper/luks-00000000-0000-0000-0000-000000000000 916G 487G 384G 56% /media/whk/Secure2
las out はdf -h
コマンドです。
構造を理解してくれた@hauke-lagingに感謝します。