VirtualBox VM'sini iki ayrı bilgisayar arasında koruyun ve senkronize edin


13

Üzerinde çalıştığım bir projesi olan bir VirtualBox VM'im var. Bu VM'yi iki ayrı bilgisayarda kullanabilmek istiyorum, böylece o sırada olduğum yerde çalışabilirim. VM'leri aktarma, klonlama ve yedeklemeyle ilgili yanıtlar gördüm, ancak iki kopyaya sahip olma ve bunları senkronize tutma konusunda hiçbir şey görmedim.

Birden çok bilgisayarda tek bir VM görüntüsünü korumanın en kolay (en az veya en basit adım) veya en iyi (en düşük sorun riski) yolu nedir?

İdeal olarak, iki bilgisayardan birinde çok az USB bağlantı noktası bulunduğundan VM'yi bir USB sürücüden çalıştırmamayı tercih ederim, ancak bu en iyisi olacaksa, onu alacağım (aslında USB sürücüsünden VM çalıştırmayla ilgili sorunlar). Ancak, bilgisayarlar arasında herhangi bir dosyayı aktarmak için bir USB sürücü kullanmayı planlıyorum.

Yanıtlar:


10

Burada iki seçeneğiniz olduğunu düşünüyorum: Birincisi (her iki bilgisayarda Virtualbox kurulumlarında) VM'lerin bir tür taşınabilir veya uzak sabit sürücüde saklandığı klasörü ayarlamaktır; Eğer kullanacağınız bilgisayarlar bir ağ üzerinde birbirine bağlıysa, paylaşılan bir klasör kullanabilirsiniz, eğer değilse, tek çözümün bir USB pendrive veya harici bir sabit sürücü olduğundan korkuyorum. Klasörü ayarlamak için adresine gidin File > Preferences > General > Default Machine Folder. USB anahtarının hızı genel performans için bir sınır olabilir.

Aynı zamanda bir pendrive veya benzer bir şey gerektiren ikinci çözüm (ancak sadece VM dosyalarınızı taşımak için), istediğiniz VM'yi her götürmeniz gerektiğinde manuel olarak dışa aktarmak ve içe aktarmaktır. Sen VM seçerek bunu ve gidebilirsiniz File > Export Applianceve File > Import Appliance. Dışa aktarıldığında, .ova biçiminde bir dosya oluşturulacak, VM'yi kullanmak için gereken tüm dosyaları içeren bir arşivdir, başka bir kurulumda içe aktararak, ikinci bilgisayarda aynı VM'ye sahip olacaksınız. Bu şekilde, pendrive'ı dosyalarınızı taşımak için kullanırsınız; yeniden aktarıldığında bilgisayarınızdan depolanıp erişilir, böylece USB hızı endişe vermez.


5

Aynı problemle karşı karşıya kaldım ve bence çözdüm.

A ve B şeklinde iki makineniz olduğunu varsayalım.

Şimdi, B'de yeni yüklenen bir Virtualbox'a sahip olduğunuzdan emin olun.

Anlık görüntü yolunu seçtiyseniz, ~ / VirtualBox VMs / YourVM / Snapshots klasörünü yeterince büyüyene kadar senkronize edin. Büyütülürse, A'da başka bir anlık görüntü oluşturun ve YourVM klasörünüzü bir kez B'ye kopyalayın ve bu yeni anlık görüntü dosyasını Anlık Görüntüler klasöründe senkronize edin.

Anlık görüntü alırsanız veya A veya B'de bağlantılı bir klon yaparsanız, bu ritüel bozulur, uyarılır.

5.0.20'de test edildi


çok intriguinig cevap. Bunu bugün hala yapar mısın yoksa daha iyi bir yolu var mı?
l --''''''---------------- '' '' '' '' '' ''

4

Bu iş parçasının bir yaşında olduğunu biliyorum, ancak iki konum arasında bir VM paylaşma sorunu için google'da en iyi arama sonucudur.

VirtualBox, RDP kullanarak çalışan bir VM'ye uzaktan bağlanmanıza izin verir. VM'nin sürekli çalışmasını istemiyorsanız, uzaktan başlatmak için bir şekilde donatın.

"Birden Fazla Bağlantıya İzin Ver" seçeneği vardır, bu nedenle başka bir bağlantıya bağlanmadan önce bir konumun bağlantısını kesmeniz gerekmez.

Kendi VM'nizi barındıramıyorsanız, hızlı bir google arama, VirtulaBox resimlerinizi sizin için barındıracak sağlayıcılar buldu.

Tüm bunları hiç denemedim ...


4

Bence Sekhemty'nin cevabı istediğini yapmanın tek yolu.

Peki sanal makinenizin neden taşınması gerekiyor? Neden sadece projelerinizi taşımakla kalmıyorsunuz? Projenizi özel bir git'te kurun ve ihtiyacınız olduğu kadar itin ve çekin.

Denemek için başka bir yöntem, eğer makine tutarlılığını korumak gerekiyorsa ve çok değişiyorsanız, bir vagrant ve şef / kukla kurulumu kullanmak olacaktır. Bu, bir şef (bir yakut mücevher) ve kukla (kukla kullanmadım) kullanarak VM'nizin ne eklemesini ve yüklemesini istediğinizi söylemek için çalışır.

Bir komut dosyası kullanarak, şef veya kukla kullanarak çalışır ve VM, VM'yi başlatırken bu komut dosyasını okur. Eğer herhangi bir şey yüklenmesini istiyorsanız sadece betiğe ekleyin ve zaten orada değilse "vagrant up" zaman yüklenecektir! Buna alışmak biraz zaman aldı, yeterince öğrenme eğrisi dik, ama alıştıktan sonra çok verimli ve tüm VM yerine bir komut dosyası etrafında dolaşmanız gerektiği anlamına geliyor.

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


2
Sadece kod (bir depoya girer) ve konfigürasyon hakkında değil; çünkü VM benim geliştirme ortamım. Windows çalıştıran bir bilgisayarda Ubuntu'da çalışabilmek için VirtualBox'ı kullanmaya başladım. Bu, çevreyi taşımanın bir kopyasını taşımaktan daha az uygun olduğunda bana tutarlı bir geliştirme ortamı sağlayacaktır.
rsgoheen

Peki o zaman vagrant ve şef / kukla en iyi gibi görünüyor. Bu şekilde geliştirici ortamınızdaki bir şeyi değiştirmeniz gerekiyorsa, VM'nizi dışa ve içe aktarmaya gerek yoktur, sadece betiğinize yüklediğinizi eklersiniz ve vagrant başlangıçta VM'nize kuracaktır. Farklı geliştirici örneklerine sahip olmak için çok kullanışlıdır, çünkü vagrant bir "taban kutusu (OS)" üzerinde çalışır ve betiğin de söylediklerinin üzerine inşa eder, böylece yalnızca birden fazla test ortamına sahip olabilirsiniz. birinin alanı.
29:13

2

Sanal makine görüntülerini iki bilgisayarınız arasında yeniden senkronize edebilirsiniz.


2
Biraz daha detay bu daha iyi bir cevap olacaktır. Detaylandırabilir misin?
Dave M

2

VM kayıtlıdır ve ayarlar ayarlandıktan sonra, KISS ilkesine uyarak sadece her iki tarafın kapatılmış iken genelinde dosyası.rsync*.vdi

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

Tabii ki, çatışmaları "birleştirmenin" bir yolu olmayacaktır, bu nedenle sanal makinede nasıl değişiklik yaptığınız ve bu değişiklikleri yansıtmanız konusunda disiplinli olmanız gerekir.

Bu arada, kişisel verilerinizin çoğunu bir NAS'a koyabilirsiniz, böylece her zaman güncel olur ve tüm makinelerden erişilebilir. Ayrıca, takas bölümünü veya diğer geçici depolamayı içerecek şekilde sisteminizin .vdi boyutunu artırmamak için ek .vdi diskleri takabilirsiniz.

Windows kullanıyorsanız, ssh ve rsync programı için cygwin (veya msys2) yüklemeniz gerekir.


1

Kullanım durumunuza bağlı olarak olası bir çözüm, cjpembo'nun cevabındaki bir değişikliktir.

İki ayrı bilgisayarın her ikisi de aynı yerde aynı LAN'da ise, bir ESXi sunucusunda veya benzeri bir bilgisayarda bir VM çalıştırmak ve erişmek için yönetim araçlarının (veya SSH'nin) uzak konsol işlevini kullanmak mümkün olabilir. diğer iki bilgisayardan.

Açıkçası, VM'yi kullanmak istediğiniz bilgisayarlardan biri hareket edecek bir dizüstü bilgisayarsa, özellikle "host" ve "guest" arasında büyük miktarda veri paylaşmak zorundaysanız, bu muhtemelen bir çözüm değildir. ortamları.

VM nispeten bağımsızsa, VMware'in uzak konsol yetenekleri oldukça verimlidir, bu nedenle VM'de video oynatmaya ihtiyacınız yoksa, yeterince iyi olmak için uzaktan bile yeterince iyi çalışabilir.


0

Bunu usb c diskinde harici bir ssd kullanarak başardım. VM, ssd diskinde bulunur ve her iki dizüstü bilgisayardaki sanal kutu kurulumumda başvuruda bulunur. Bir USB 3.1 Gen2 Type-C (10Gbps), 540MB / s modeli aldım ve performans iyi.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.