LVMのエクスポートとインポート:同じ名前のボリュームグループを持つ別のシステムにVGを移動する方法

LVMのエクスポートとインポート:同じ名前のボリュームグループを持つ別のシステムにVGを移動する方法

私はVMWareサーバーでVM Linux(RHEL OS)を使用してきました。したがって、ある仮想マシンの仮想ハードディスクを別の仮想マシンに接続したいと思います。新しい仮想マシンにどのようにインストールしますか?ところで、私は両方のVM LinuxでLVMを使用しています。

古い機械:

--- Physical volume ---

PV Name /dev/sdc -> VG Name u01_vg  -> LV Name u01_lv
PV Name /dev/sdd -> VG Name u01_vg  -> LV Name u01_lv

新しい機械:

--- Physical volume ---

PV Name /dev/sdb -> VG Name u01_vg  -> LV Name u01_lv
PV Name /dev/sdc -> VG Name u01_vg  -> LV Name u01_lv

次のワークフローを検討しています。私は正しいですか?間違っていたら訂正してください。

LVMのエクスポートとインポートのワークフロー:

  • 重複したボリュームグループ名を使用したためです。まず、古いシステムのボリュームグループの名前を変更します。

    • vgrename UUID new_VG_name
    • vgchange -ay New_VG_Name
  • 以前の仮想Linux/Unixサーバーからファイルシステムを削除する

    • マウント解除 /マウントポイント/
    • vgchange -new_VG_name
    • vgeexport new_VG_name
    • 次にマシンがシャットダウンしたら、ディスクを取り外して新しいマシンに接続できます。
  • ボリュームグループ全体を別のシステムに移動

    • 太陽電池スキャン
    • vgimport new_VG_name
    • vgchange -ay New_VG_Name
    • mkdir /olddata/
    • マウント /dev/New_VG_Name/data_lv /olddata/

ありがとう、

ベストアンサー1

あなたのシナリオでは、新しいシステム上の既存のVGの名前をすでに知っているので、vgexport/は実際には必要ありません。vgimport

以前のシステムでVGの名前を変更するには、まずそれらを削除して無効にする必要があり、VG名の競合がないため、古いVG名の代わりにVG UUIDを使用する必要はありません。したい場合はできます):

umount /mount-point/
vgchange -an Old_VG_Name
vgrename Old_VG_Name New_VG_Name
vgchange -ay New_VG_Name
<edit /etc/fstab to replace Old_VG_Name with New_VG_Name>
mount /mount-point

ディスクを取り外す前に:

<edit /etc/fstab to comment out/remove the line for the /mount-point/>
umount /mount-point/
vgchange -an Old_VG_Name   # technically the shutdown procedure would do this too

VGを無効にした後、これによりディスクをホットプラグすることもできます。

echo 1 > /sys/block/sdc/device/delete
echo 1 > /sys/block/sdd/device/delete

これにより、カーネルにこれらのデバイスの差し迫った物理的な切断を準備するように指示します。 (仮想マシンで準仮想化ドライバを使用している場合は、仮想ディスクをホットアンインストールする前に仮想化ホストがドライバに警告メッセージを送信できるため、この手順は不要です。)

ディスクが新しいシステムに移動されると、ほとんどのディストリビューションでは、通常のシステム起動プロセスがpvscan自動的にVGとVGに対応するタスクを実行し、デフォルトで競合しないvgchange -ayすべてのVGを自動的に有効にします。この場合、マウントポイントディレクトリを作成して編集し、ボリュームを/etc/fstabマウントするだけです。

mkdir /olddata
<edit /etc/fstab>
mount /olddata

もしそうなら、vgexport/の目的が何であるか尋ねることもできます。vgimport新しいシステムに同じ名前のVGが存在するかどうかわからない状況に適しています。 VGをエクスポートすると、ディスク上のVGメタデータは事実上「skip me」と表示されるため、VGはシステム起動時に自動アクティブ化ステップを回避し、すべてのLVM管理コマンドは新しいシステムではなく、既存の非エクスポートVGを優先します。システム管理者が名前を変更してインポートを開始するまで、名前の競合が発生する可能性がある新しい名前。vgimportこのタグを削除してください。他の操作は行われません。

上記は、2.6カーネルシリーズから存在していたLinux LVMバージョン2に適用されます。 2.4.xx以前のカーネルを使用している場合は、おそらくLVMバージョン1を使用しています。ここでvgexport/vgimportコマンドは異なる動作をすることができます(詳細はもう覚えていません)。

おすすめ記事