2台のコンピューター間でVirtualBox VMを維持および同期する


13

現在取り組んでいるプロジェクトを持つVirtualBox VMがあります。このVMを2台の別々のコンピューターで使用できるようにしたいので、そのときたまたまある場所で作業できます。VMの転送、クローン作成、およびバックアップに関する回答を見てきましたが、2つのコピーを用意してそれらを同期させることについては何もありません。

複数のコンピューターで単一のVMイメージを維持するための最も簡単な(最も少ないまたは最も単純な手順)または最善の(問題のリスクが最も低い)方法は何ですか?

理想的には、2台のコンピューターのいずれかにUSBポートがほとんどないため、USBドライブからVMを実行したくないのですが、それが最善であれば、それを採用します(実際にあるかどうかはわかりません) USBドライブからVMを実行する際の問題)。ただし、USBドライブを使用してコンピューター間でファイルを転送することを計画しています。

回答:


10

ここには2つのオプションがあると思います。1つ目は、VMが格納されているフォルダーを(両方のコンピューターのVirtualboxのインストールで)ある種のポータブルまたはリモートハードドライブに設定することです。使用するコンピューターがネットワーク上でリンクされている場合は、共有フォルダーを使用できます。リンクされていない場合は、USBペンドライブまたは外付けハードドライブしか解決できないと思います。フォルダを設定するには、に進みますFile > Preferences > General > Default Machine Folder。USBキーの速度は、全体的なパフォーマンスを制限する可能性があります。

2番目のソリューションは、ペンドライブまたは同様のものが必要ですが(VMファイルを持ち歩くためだけです)、目的のVMを持ち出す必要があるたびに手動でエクスポートおよびインポートすることです。これを行うには、VMを選択し、およびを使用File > Export ApplianceFile > Import Applianceます。エクスポートすると、.ova形式のファイルが作成されます。これは、VMを使用するために必要なすべてのファイルを含むアーカイブです。別のインストールにインポートすると、2番目のコンピューターに同じVMが存在します。このように、ペンドライブを使用してファイルを持ち歩くだけです。再インポートすると、コンピューターから保存およびアクセスされるため、USB速度は問題になりません。


5

まったく同じ問題に直面し、私はそれを解決したと思います。

AとBの2台のマシンがあるとします。AでVMを作成/準備します。その後、スナップショットを取得するか、リンククローンを作成します(どちらも機能しますが、以降の手順は異なり、1つが提供され、もう1つを解決できます)

ここで、BにVirtualboxを新しくインストールしたことを確認します。〜/ .VirtualBoxおよび〜/ VirtualBox VMをAからBにUSBでコピーします(遠くにあるサイトにあることを考慮してください)。

ここで、スナップショットの方法を選択した場合、十分に大きくなるまで〜/ VirtualBox VMs / YourVM / Snapshotsフォルダーを同期します。それが大きくなった場合は、Aに別のスナップショットを作成し、YourVMフォルダーをBに一度コピーして、この新しいスナップショットファイルのみをスナップショットフォルダーに同期します。

スナップショットを取るか、AまたはBのいずれかでリンククローンを作成すると、この儀式は壊れて警告されます。

5.0.20でテスト済み


非常に興味をそそる答え。今日もこれを行うでしょうか、それとももっと良い方法がありますか?
l --''''''--------- '' '' '' '' '' ''

4

私はこのスレッドが1年前のものであることを知っていますが、1つのVMを2つの場所間で共有する問題に関するGoogleのトップ検索結果です。

VirtualBoxを使用すると、RDPを使用して実行中のVMにリモートで接続できます。VMを継続的に実行したくない場合は、リモートで起動する何らかの方法を用意します。

「複数の接続を許可する」オプションがあるため、ある場所から切断してから別の場所に接続する必要はありません。

独自のVMをホストできない場合は、簡単なGoogle検索で、VirtulaBoxイメージをホストするプロバイダーが見つかりました。

私はこれをすべて試したことはありません...


4

セケムティの答えはあなたが望むことをする唯一の方法だと思います。

しかし、なぜ仮想マシンを移動する必要があるのでしょうか。プロジェクトを移動しないのはなぜですか?プロジェクトをプライベートgitでセットアップし、必要に応じてプッシュおよびプルするだけです。

マシンの一貫性を維持する必要があり、多くの変更を行う場合に試すもう1つの方法は、浮浪者とシェフ/人形のセットアップを使用することです。これは、シェフ(ruby gem)とパペット(私はパペットを使用していません)のいずれかを使用して、VMに含めてインストールするものをvagrantに指示することで機能します。

スクリプトを使用して、またはシェフまたはパペットを使用して動作し、VMの起動時にvagrantがこのスクリプトを読み取ります。インストールしたいものがある場合は、それをスクリプトに追加するだけで、まだインストールされていない場合は、「vagrant up」したときにインストールされます。慣れるまで少し時間がかかりましたが、十分な学習曲線がありますが、慣れれば非常に効率的であり、VM全体ではなくスクリプトファイルを移動するだけで済みます。

http://red-badger.com/blog/2013/02/21/automating-your-infrastructure-with-vagrant-chef-from-development-to-the-cloud/


2
これは、コード(リポジトリに入る)と構成だけではありません。VMが私の開発環境だからです。私はVirtualBoxを使い始めたので、Windowsを実行しているコンピューターのUbuntuで作業できます。これにより、環境のコピーを移動するよりも環境を移動するほうが便利な場合に、一貫した開発環境が得られます。
rsgoheen

さて、浮浪者とシェフ/人形はそれが最高のようです。そうすれば、開発環境で何かを変更する必要がある場合、VMをエクスポートおよびインポートする必要はありません。スクリプトにインストールしたものを追加するだけで、起動時にvagrantがVMにビルドします。vagrantは「ベースボックス(OS)」に基づいて機能し、スクリプトがそれを基にビルドするため、開発ビルドのさまざまなインスタンスがある場合にも非常に便利です。そのため、複数のテスト環境を使用できますが、 1つのスペース。
boundless08 2013

2

2台のコンピューター間で仮想マシンイメージをrsyncできます。


2
もう少し詳細にすると、これはより良い答えになります。詳しく説明できますか?
Dave M

2

KISSの原則に従って、VMが登録されて設定が調整された後、両側の電源がオフになっている間rsync*.vdiファイルが渡されます。

rsync -aPh <path-to-vm>/<diskname>.vdi <remote>:<path-to-vm>/

もちろん、競合を「マージ」する方法はないので、VMに変更を加える方法、およびこれらの変更をミラーリングする方法について訓練を受ける必要があります。

その間、ほとんどの個人データをNASに置くことができるため、常に最新の状態であり、すべてのマシンからアクセスできます。さらに、追加の.vdiディスクをマウントして、システム.vdiのサイズを増加させないように、スワップパーティションまたは他の一時ストレージを含めることができます。

Windowsを使用している場合は、sshおよびrsyncプログラム用にcygwin(またはmsys2)をインストールする必要があります。


1

ユースケースに応じて、1つの可能な解決策はcjpemboの回答のバリエーションです。

2つの別々のコンピューターが両方とも同じ場所の同じLANにある場合、ESXiサーバーなどで1つのVMを実行し、管理ツール(またはSSH)のリモートコンソール機能を使用するだけでアクセスできる可能性があります。他の両方のコンピュータから。

明らかに、VMを使用するコンピューターの1つが移動するラップトップである場合、特に「ホスト」と「ゲスト」の間で大量のデータを共有する必要がある場合、これはおそらく解決策ではありません環境。

VMが比較的自己完結型である場合、VMwareのリモートコンソール機能はかなり効率的です。そのため、VMでビデオ再生が必要でない限り、リモートでも十分に機能し、十分に機能します。


0

私は、USB Cディスクで外部SSDを使用してこれを実現しました。VMはssdディスクに配置され、両方のラップトップのvirtualboxセットアップで参照されます。USB 3.1 Gen2 Type-C(10Gbps)、540MB / sモデルを使用しましたが、パフォーマンスは良好です。

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