bhyve 仮想マシンを別のホストに正しく移行するには?

bhyve 仮想マシンを別のホストに正しく移行するには?

私はここに閉じ込められており、それに関する詳細情報を見つけることができません。

仮想マシンのスナップショット/バックアップを別のホストにコピーします。

zfs send disk/vmName | pv | ssh hostname "zfs recv diskDest/newVmName"

そして何?私は以下を使用してそれを作成しようとしています。

vm create newVmName

しかし、データセットがすでに存在していると出てくるので、そうでないようです。

答え1

最初にすべきことは、新しいホストを実行するように設定することですbhyve。この内容は次のとおりです。FreeBSD マニュアルセクション 22.6

次に、インストールをお勧めします。Matt Churchyardのvm-bhyveパッケージ:

# pkg install vm-bhyve

そして必要な構成。既存のVMを移行する前に、vmマンページのすべての設定手順を完了して、新しいシステムが正しく設定されていることを確認してください。新しいホストが正しく構成されていることを確認するには、新しいホストで仮想マシンを作成してテストすることをお勧めします。既存のVMを新しいホストに正しく設定されていないインスタンスに移行しようとするbhyve努力が残念だと思います。bhyve仮想マシンを移行する前に、新しいインストールを徹底的にテストして、堅牢な基盤を構築してください。

また、転送中に仮想マシン名を変更しないでください。新しいホストで実行した後にVMの名前を変更することはvm rename vmName newVmName

タスクが完了したら、bhyve古いvmホストでVMを停止してスナップショットを作成してから、そのスナップショットを新しいホストに転送できます。複雑さを避けるために、ファイルシステムの名前を保持し、新しいホストにファイルシステムを(まだ)マウントしません。

存在するoldhost

# vm stop vmName
# zfs snap disk/vmName@xfer
# zfs send disk/vmName@xfer | pv -Wbfart | \
    ssh newhost "zfs recv -Fuv diskDest/vmName"

で、newhost新しいファイルシステムのマウントポイントを古いホストと同じデフォルト名に設定します。したがって、古いホストのVMがインストールされていて新しいホストのディレクトリ/foobar/vmNameに移動する場合は、新しいVMファイルシステムをインストールする必要があります。マウントポイントが設定されたら、新しいファイルシステムを次の場所にマウントできます。/bhyve//bhyve/vmNamenewhost

# zfs set mountpoint=/bhyve/vmName diskDest/vmName
# zfs mount diskDest/vmName

ZFSの階層的特性を活用し、マウント用のdiskDest/bhyve親ファイルシステム/bhyveと各VM用に別々のサブファイルシステム(たとえば)を作成することをお勧めしますdiskDest/bhyve/vmName。しかし、これはあなた次第です。

この時点で、移行された仮想マシンが出力に表示され、起動してvm list発生する残りの起動問題を解決できます。stderr/bhyve/vmName/vm-bhyve.log

関連情報