LVM2を使用してリムーバブル(ホットプラグ、USBなど)ストレージデバイスを正しく取り外し(取り外し)、接続(接続)するには?
私が見つけたこのメモ
取り外し(プラグの取り外し、取り出し):
lvchange -an /dev/your_volume_group_name
vgexport -a
挿入(プラグ):
vgimport -a
lvchange -ay /dev/your_volume_group_name
-a
しかし、「すべて」オプションを使用するのが過度すぎるのかどうかはわかりません。
vgscan
pvscan
また、これが必要な状況があるかどうか疑問に思います。自動化されたソリューションを検討しています。
答え1
VGをエクスポートする必要はなく、VGをあるシステムから別のシステムに移行するために使用されます。
vgchange -an vgname
プラグを抜くボリュームグループ内のすべての論理ボリュームを無効にするだけです。
後でデバイスを再挿入すると、vgchange -ay vgname
vgname VG のすべての論理ボリュームが再びアクティブになり、LV をマウントして使用できます。
デバイス認識は、ハードウェアやカーネルモジュールなどによって異なりますが、最新のキットでは機能します。
答え2
私は次のスクリプトを使用します。
- ボリュームグループのすべてのファイルシステムのマウント解除VG名
- vg_nameのすべてのファイルシステムがマウント解除されている場合は、VGを無効にします。
- メモリバッファをディスクに同期することを忘れないでください...
- 外部ディスクをシャットダウンする sispmctl
#!/bin/bash echo 「ファイルシステムのマウント解除」 マウント| grep vg_name && { マウント| grep vg_name | grep vg_nameカット-d ''-f3 | } マウント| grep vg_name || echo "VGを無効にする" /sbin/vgchange -an /dev/vg_name && { echo「同期ディスク」 同期;同期&& { echo「ディスクの電源を切る」 /usr/local/bin/sispmctl -D 01:01:4b:54:e5 -f 1 } } }
ディスクが接続されると、システムが適切なモジュールを使用できるようになると、カーネルは自動的にディスクを見つけます(通常は主流のディストリビューションの場合)。
エクスポート/インポートは、PV / VG / LVが変更され、VGが他のシステムに接続されている場合にのみ必要です。この場合、vgexport は vgchange の後に発生します。