Menjaga dan menyinkronkan VM VirtualBox antara dua komputer yang terpisah

13

Saya memiliki VM VirtualBox yang memiliki proyek yang sedang saya kerjakan. Saya ingin dapat menggunakan VM ini di dua komputer yang terpisah, jadi saya bisa mengerjakannya di tempat saya berada saat itu. Saya telah melihat jawaban tentang mentransfer, mengkloning, dan mencadangkan VM, tetapi tidak ada yang memiliki dua salinan dan menyimpannya dalam sinkronisasi.

Apa cara termudah (langkah paling sedikit atau paling sederhana) atau terbaik (risiko masalah terendah) untuk mempertahankan satu gambar VM di banyak komputer?

Idealnya, saya lebih suka tidak menjalankan VM dari drive USB karena salah satu dari dua komputer memiliki sangat sedikit port USB, tetapi jika itu akan menjadi yang terbaik, maka saya akan mengambilnya (saya sebenarnya tidak yakin apakah ada masalah dengan menjalankan VM dari drive USB). Namun, saya berencana menggunakan drive USB untuk mentransfer file apa pun di antara komputer.

rohoheen
sumber

Jawaban:

10

Saya pikir Anda memiliki dua opsi di sini: yang pertama adalah mengatur (dalam instalasi Virtualbox di kedua komputer) folder tempat VM disimpan pada beberapa jenis hard drive portabel atau jarak jauh; jika komputer yang akan Anda gunakan terhubung bersama di jaringan, Anda dapat menggunakan folder bersama, jika tidak, saya khawatir satu-satunya solusi adalah pendrive USB atau harddisk eksternal. Untuk mengatur folder, buka File > Preferences > General > Default Machine Folder. Kecepatan tombol USB dapat menjadi batas kinerja keseluruhan.

Solusi kedua, yang juga memerlukan pendrive atau yang serupa (tetapi hanya untuk membawa-bawa file VM Anda), adalah dengan mengekspor dan mengimpor VM yang diinginkan secara manual setiap kali Anda perlu membawanya. Anda dapat melakukan ini dengan memilih VM dan pergi dengan File > Export Appliancedan File > Import Appliance. Dengan mengekspor, file dengan format .ova akan dibuat, itu adalah arsip yang berisi semua file yang diperlukan untuk menggunakan VM, dengan mengimpornya di instalasi lain, Anda akan memiliki VM yang sama di komputer kedua. Dengan cara ini Anda menggunakan pendrive untuk sekadar membawa-bawa file Anda, bahwa ketika diimpor kembali akan disimpan dan diakses dari komputer Anda, sehingga kecepatan USB tidak menjadi masalah.

Sekhemty
sumber
5

Menghadapi masalah yang sama persis dan saya pikir saya menyelesaikannya.

Katakanlah Anda memiliki dua mesin, A dan B. Buat / siapkan vm Anda di A. Setelah itu mengambil snapshot atau membuat klon yang ditautkan (keduanya bekerja, tetapi langkah selanjutnya berbeda, akan memberikan satu, Anda dapat menyelesaikan yang lain)

Sekarang, pastikan Anda memiliki Virtualbox yang baru diinstal di B. Salin ~ / .VirtualBox dan ~ / VirtualBox VMs dari A ke B dengan USB (mengingat bahwa mereka berada di situs yang jauh)

Sekarang, jika Anda memilih cara snapshot, maka sinkronkan folder ~ / VirtualBox VMs / YourVM / Snapshots hingga cukup besar. Jika semakin besar, buat snapshot lain di A dan salin folder YourVM ke B untuk sekali dan hanya menyinkronkan file snapshot baru ini di folder Snapshots.

Jika Anda mengambil snapshot atau membuat klon terkait di A atau B, ritual ini akan rusak, diperingatkan.

Diuji dalam 5.0.20

Malkocoglu
sumber
jawaban yang sangat intriguinig. apakah Anda masih melakukan ini hari ini atau ada cara yang lebih baik?
l --''''''--------- '' '' '' '' '' '' ''
4

Saya tahu utas ini berumur satu tahun, tetapi ini adalah hasil pencarian teratas di google untuk masalah berbagi satu VM antara dua lokasi.

VirtualBox memungkinkan Anda untuk terhubung dari jarak jauh ke VM yang sedang berjalan menggunakan RDP. Jika Anda tidak ingin VM berjalan terus menerus, coba beberapa cara untuk meluncurkannya dari jarak jauh.

Ada opsi untuk "Izinkan Banyak Koneksi", jadi Anda bahkan tidak perlu memutuskan koneksi dari satu lokasi sebelum menghubungkan dari yang lain.

Jika Anda tidak dapat meng-host VM Anda sendiri, penyedia pencarian google cepat menemukan yang akan meng-host gambar VirtulaBox Anda untuk Anda.

Saya belum pernah mencoba semua ini ...

cjpembo
sumber
4

Saya pikir jawaban Sekhemty adalah satu-satunya cara untuk melakukan apa yang Anda inginkan.

Tetapi mengapa mesin virtual Anda perlu dipindahkan? Mengapa tidak memindahkan proyek Anda saja? Atur proyek Anda dalam git pribadi dan cukup dorong dan tarik sesuai kebutuhan.

Metode lain untuk dicoba, jika Anda perlu mempertahankan konsistensi mesin dan Anda banyak berubah, adalah dengan menggunakan pengaturan gelandangan dan koki / boneka. Ini bekerja dengan menggunakan koki (yang merupakan permata ruby) dan boneka (saya belum pernah menggunakan boneka) untuk memberi tahu gelandangan apa yang ingin dimasukkan dan diinstal oleh VM Anda.

Ini bekerja dengan menggunakan skrip, menggunakan koki atau boneka, dan gelandangan membaca skrip ini ketika memulai VM. Jika Anda ingin sesuatu diinstal, tambahkan saja ke skrip dan jika belum ada, itu akan diinstal ketika Anda "gelandangan"! Butuh beberapa saat bagi saya untuk terbiasa dengannya, kurva pembelajaran yang cukup curam, tetapi sangat efisien setelah Anda terbiasa dan itu berarti Anda hanya perlu bergerak di sekitar file skrip alih-alih seluruh VM.

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

tak terbatas08
sumber
2
Ini bukan hanya tentang kode (yang masuk ke repositori) dan konfigurasi; itu karena VM adalah lingkungan pengembangan saya. Saya mulai menggunakan VirtualBox sehingga saya bisa bekerja di Ubuntu di komputer yang menjalankan Windows. Ini akan memberi saya lingkungan pengembangan yang konsisten ketika kurang nyaman untuk memindahkan lingkungan daripada memindahkan salinannya.
rsgoheen
Kalau begitu gelandangan dan koki / boneka sepertinya itu yang terbaik. Dengan begitu jika Anda perlu mengubah sesuatu di lingkungan dev Anda, tidak perlu mengekspor dan mengimpor VM Anda, Anda cukup menambahkan apa yang Anda instal ke skrip Anda dan gelandangan akan membangunnya ke VM Anda saat memulai. Ini sangat berguna untuk memiliki berbagai contoh pengembangan dev juga, karena gelandangan bekerja dengan "base-box (OS)" dan membangun di atas apa yang dikatakan skrip juga, sehingga Anda dapat memiliki beberapa lingkungan pengujian tetapi hanya menggunakan ruang satu.
boundless08
2

Anda dapat rsync gambar mesin virtual antara dua komputer Anda.

Alexander
sumber
2
Sedikit lebih detail akan membuat ini jawaban yang lebih baik. Bisakah Anda menguraikan?
Dave M
2

Mengikuti prinsip KISS, setelah VMS terdaftar dan pengaturan disesuaikan, hanya rsyncsatu *.vdifile yang di saat kedua belah pihak dimatikan.

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

Tidak akan ada cara untuk "menggabungkan" konflik, jadi Anda harus disiplin tentang bagaimana Anda membuat perubahan pada VM dan untuk mencerminkan perubahan ini.

Sementara itu, Anda bisa meletakkan sebagian besar data pribadi Anda pada NAS sehingga selalu terbaru dan dapat diakses dari semua mesin. Selanjutnya Anda dapat memasang disk .vdi tambahan untuk berisi partisi swap atau penyimpanan sementara lainnya agar tidak menambah ukuran sistem .vdi Anda.

Jika Anda berada di windows, Anda harus menginstal cygwin (atau msys2) untuk program ssh dan rsync.

T Nierath
sumber
1

Salah satu solusi yang mungkin, tergantung pada kasus penggunaan Anda, adalah variasi pada jawaban cjpembo.

Jika dua komputer yang terpisah keduanya pada LAN yang sama di lokasi yang sama, maka dimungkinkan untuk menjalankan satu VM pada server ESXi atau serupa, dan hanya menggunakan fungsi konsol jarak jauh dari alat manajemen (atau bahkan SSH) untuk mengakses itu dari kedua komputer lain.

Jelas, jika salah satu komputer yang Anda ingin gunakan VM adalah laptop yang akan bergerak, maka ini mungkin bukan solusi, terutama jika Anda harus berbagi sejumlah besar data antara "host" dan "guest" lingkungan.

Jika VM relatif mandiri, kapabilitas konsol jarak jauh VMware cukup efisien, jadi kecuali Anda memerlukan pemutaran video di VM, VMware dapat bekerja dengan cukup baik bahkan dari jarak jauh menjadi cukup baik.

Michael Firth
sumber
0

Saya mencapai ini dengan menggunakan SSD eksternal pada disk usb c. VM akan berlokasi di disk SSD, dan direferensikan di pengaturan virtualbox saya di kedua laptop. Saya mengambil USB 3.1 Gen2 Type-C (10Gbps), model 540MB / s, dan kinerjanya baik-baik saja.

Med Ali Difallah
sumber