
OpenSUSE 12.2システムに外付けeSATAハードドライブがあります。外付けハードドライブのdm-cryptパーティションにLVMがあります。
電源を入れて設置しました。
rescan-scsi-bus.sh
cryptsetup -v luksOpen
vgchange -ay
mount
これで、ハードドライブの電源を切りたいときにこれを行います。
umount
vgchange -an extern-1
cryptsetup -v remove /dev/mapper/extern-1-crypt
echo 1 >/sys/block/sdf/device/delete
ここのdevice()はsdf
現在スクリプトにハードコードされています。スクリプトのVGまたは暗号化されたデバイスから推論できますか?
答え1
はい、そこから情報を見つけることができます/sys/block/$DEVICE/slaves
。標準名のみがある場合は、それを使用してreadlink
詳細を取得できます。たとえば、次のようになります。
devdm="$(readlink -f /dev/mapper/extern-1-crypt)"
dm="${devdm#/dev/}"
ls /sys/block/$dm/slaves/
すべてを削除するには、sys
ファイルシステムを直接使用できます。
echo 1 > /sys/block/$dm/slaves/*/../device/delete
答え2
多くの可能性があります:
:> # 1
:> pvscan
:> # 2
:> vgscan -v extern-1
:> # 3
:> dmsetup table /dev/mapper/extern-1-crypt
:> # 4
:> cd /sys/devices/virtual/block/
:> for dmdev in dm-*; do
:> if [ xyz = $(< "${dmdev}/dm/name") ]; then
:> ls -l "${dmsev}/slaves/"
:> fi
:> done
または「dm-」番号を取得してくださいdmsetup ls
。
編集1:
まあ、単純な可能性を除いてすべてがあるようです。 Ulrichの回答を読んだ後、私は笑った。/dev/mapper
たとえ幸せになってきましたが、明らかに長い間それに注意を払っていませんでした。