リムーバブルLVM2デバイスを正しく取り外し/接続するには?

リムーバブルLVM2デバイスを正しく取り外し/接続するには?

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 vgnamevgname 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 の後に発生します。

関連情報