正しく回復するには、実行中のサーバープロセスのVirtualBoxスナップショットをどのように設定しますか?

正しく回復するには、実行中のサーバープロセスのVirtualBoxスナップショットをどのように設定しますか?

私はOS XホストでVirtualBox 5.0.20を実行しています。 Ubuntu、CentOS、Windows、OS Xなど、さまざまなゲストシステムがあります。

各システムに対して、ポート18812で実行されているサーバープロセス(Pythonスクリプト)を使用してライブスナップショット(つまり、仮想マシンの実行中)を作成しました。以下では、すべての仮想マシンのポート転送を設定しました。

$ VBoxManage modifyvm <vmid> --natpf1 rpyc,tcp,,18812,,18812

これにより、localhost:18812ホストシステムに接続してゲストで実行されているサーバープロセスに接続できます。

みんな大丈夫です。 VMをシャットダウンしてスナップショットを復元してから再起動するまでは問題ありません。サーバープロセスがまだ実行されているようで、それに接続できます。ゲストの中でただし、ホストシステムの接続は機能しなくなりました。

ポート転送は依然として機能しますが、サーバープロセスに再接続できるようにする唯一の方法は、ゲストからネットワークシステムを再起動したり(service network-manager restartUbuntuで実行したり)、サーバープロセスを再起動することです。どちらもそれほど効率的ではありません。理想的な。

スナップショットを復元するときに実行中のサーバープロセスにすぐにアクセスできるようにVirtualBox VMを設定する方法はありますか?とにかく、私はすべてのゲストシステムでこの問題を発見しましたが、特定のポートをリッスンするnetcatのような単純な「サーバー」でも見つかりました。

ベストアンサー1

この状況の回避策は、起動直後に仮想マシンのリンク状態を切り替えることです。つまり、コマンドラインで次のことを行います。

$ VBoxManage startvm <vmid>
$ VBoxManage controlvm <vmid> setlinkstate1 off
$ VBoxManage controlvm <vmid> setlinkstate1 on

おすすめ記事