異なるコンピューターで使用される仮想マシンの2つのインスタンスを同期するにはどうすればよいですか?


8

デスクトップでVirtualBoxをかなり長い間使用しています。最近ノートブックを購入したので、Ubuntu仮想マシンを携帯して、ノートブックで行った変更をデスクトップに反映させたいと思います。ホストオペレーティングシステムは、VirtualBox 4を実行している両方のコンピューターのWindows 7です。

私の最初の考えは、仮想ディスクファイル自体を同期することでした。私の選択したツールはrsync--inplace書き込みを可能な限り減らすオプションを使用する、より具体的にはそのCygwinバージョンです。しかし、それは実行不可能ですrsync。コンテナー内にあるファイルシステムの知識がなければ、競合を検出して適切にマージする方法がないため、VMで個別に作業することができなくなります。

次のオプションはrsync、実行中のマシンを相互に接続することです。パッケージ管理を台無しにせずに動作しますか?新しいカーネルやドライバーなどのアップデート以外に手動で何かする必要がありますか?よりうまくいく他の解決策はありますか?


この質問は2つに分けてください。最初にサーバーのミラーリングについて質問します。次に、(うまくいけば)いくつかの答えがあるとき、それらをVMに実装する方法を尋ねます。
Nifle

別の可能性は、ノートブック上にVMの単一インスタンスを持ち、自宅にいるときにメインシステムからリモートアクセスすることです。
ジャーニーマンオタク

同じMACアドレスとホスト名を持つ2つのマシンをネットワーク上に置くことはできないため、VM全体ではなく、ソフトウェアとドキュメントのみを同期する必要があります。それは騒乱を引き起こすでしょう。
パラドロイド

@Journeyman Geek:私はそれについては考えていませんでした。実際に機能する可能性はありますが、デスクトップのSSDと比較して、ノートブックのクロールのハードドライブを考えると、かなり遅くなります。
danielkza

1
VMを外部ドライブで実行せず、システム間で移動しない理由はありますか?
Dave M

回答:


2

rsync双方向操作に使用することは困難です。unison代替案として検討することをお勧めします。それは両方の方法で機能し、そうする前にそれが何をしようとしているのかを教え、両方で同時に操作されるファイルを検出します。

VMの外部で同期を実行すると、説明した問題が発生します。結果VMの内部で実行が大幅に依存しますどのようなあなたの同期。

  • ホームディレクトリの同期はまったく問題なく、私が想定している毎日の作業のほとんどを同期するはずです。
  • パッケージマネージャーのデータの同期は、考えられるいくつかの例外を除いて、ほぼすべてを完全に同期する場合にのみ意味があります。双方向の同期では、これはほとんど常に競合を引き起こすため、rsyncスタイルのアプローチの場合にのみアドバイスします。
  • 同期/etcあなたの家は同期する必要があるだけでなく、ほとんどの構成データを、まだパッケージマネージャが何をするかにはほとんど影響を持っています。ただし、1つのVMにいくつかのソフトウェアをインストールする場合は、他のVMにも手動でインストールする必要があります。アップグレードで設定ファイルが変更された場合に備えて、おそらく同期した後にのみ同期する必要があります。

1

仮想マシンをまったく「同期」させないことを検討してください。

考えてみてください。この方法でデスクトップとノートブックを「同期」しないでください。それらを個別のマシンとして扱い、Dropbox、Google Appsなどのサービス、またはUSBスティックを使用してファイルを操作します。同様に、2つのUbuntu VMを別々のコンピューターとして扱い、Ubuntu Oneなどのサービスを使用して、重要なファイルの同期を維持します。

インストールされたソフトウェアの同期を維持することが心配な場合は、

dpkg --list-selections

あるマシンに具体的にインストールしたソフトウェアのリストを取得し、同じソフトウェアを別のマシンにインストールします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.