10

У меня есть виртуальная машина VirtualBox, в которой есть проект, над которым я работаю. Я хотел бы иметь возможность использовать эту виртуальную машину на двух разных компьютерах, чтобы я мог работать на ней там, где я оказался в то время. Я видел ответы о переносе, клонировании и резервном копировании виртуальных машин, но ничего не говорилось о наличии двух копий и их синхронизации.

Какой самый простой (наименьший или самый простой шаг) или лучший (наименьший риск возникновения проблем) способ поддерживать один образ виртуальной машины на нескольких компьютерах?

В идеале, я бы предпочел не запускать виртуальную машину с USB-накопителя, поскольку один из двух компьютеров имеет очень мало USB-портов, но если это будет лучше, я возьму его (на самом деле я не уверен, что есть любые проблемы с запуском виртуальной машины с USB-накопителя). Однако я планирую использовать USB-накопитель для передачи любых файлов между компьютерами.

7 ответов7

8

Я думаю, что у вас есть два варианта: первый - установить (при установке Virtualbox на обоих компьютерах) папку, в которой виртуальные машины хранятся на каком-то портативном или удаленном жестком диске; Если компьютеры, которые вы будете использовать, связаны друг с другом в сети, вы можете использовать общую папку, если нет, я боюсь, что единственным решением является USB-накопитель или внешний жесткий диск. Чтобы установить папку, File > Preferences > General > Default Machine Folder . Скорость USB-ключа может быть ограничением общей производительности.

Второе решение, которое также требует pendrive или чего-то подобного (но только для переноса файлов виртуальной машины), состоит в том, чтобы вручную экспортировать и импортировать нужную виртуальную машину каждый раз, когда вам нужно ее перенести. Вы можете сделать это, выбрав ВМ и выбрав File > Export Appliance и File > Import Appliance . При экспорте будет создан файл в формате .ova, это архив, содержащий все файлы, необходимые для использования виртуальной машины, и, импортировав его в другую установку, вы получите ту же виртуальную машину на втором компьютере. Таким образом, вы используете pendrive, чтобы просто носить с собой файлы, которые при повторном импорте будут сохраняться и доступны с вашего компьютера, поэтому скорость USB не имеет значения.

4

Я думаю, что ответ Sekhemty - единственный способ сделать то, что вы хотите.

Но почему ваша виртуальная машина должна быть перемещена? Почему бы просто не перенести ваш проект (ы)? Создайте свой проект в приватном git и просто нажмите и потяните, как вам нужно.

Другой способ попробовать, если вам нужно поддерживать согласованность машины и вы сильно меняетесь, - это использовать настройки vagrant и chef/puppet. Это работает с помощью chef(который является рубином) и puppet(я не использовал puppet), чтобы сообщить vagrant, что вы хотите, чтобы ваша виртуальная машина включала и устанавливала.

Он работает с использованием сценария, с использованием chef или puppet, и vagrant читает этот сценарий при запуске виртуальной машины. Если вы хотите, чтобы что-то было установлено, просто добавьте это в скрипт, а если это еще не сделано, оно будет установлено, когда вы "бродите"! Мне потребовалось некоторое время, чтобы привыкнуть к нему, достаточно крутой курс обучения, но он очень эффективен, как только вы к нему привыкнете, и это будет означать, что вам просто нужно перемещаться по файлу сценария, а не по всей виртуальной машине.

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

4

Я знаю, что этой ветке уже год, но это лучший результат поиска в Google по вопросу разделения одной виртуальной машины между двумя местоположениями.

VirtualBox позволяет удаленно подключаться к работающей виртуальной машине, используя RDP. Если вы не хотите, чтобы виртуальная машина работала непрерывно, настройте ее для удаленного запуска.

Существует опция "Разрешить множественные подключения", поэтому вам даже не придется отключаться от одного места перед подключением из другого.

Если вы не можете разместить свою собственную виртуальную машину, быстрый поиск в Google найдет поставщиков, которые разместят ваши изображения VirtulaBox для вас.

Я никогда не пробовал все это ...

4

Столкнулся с точно такой же проблемой и думаю, что решил ее.

Допустим, у вас есть две машины, A и B. Создайте / подготовьте виртуальный компьютер в A. После этого сделайте снимок или создайте связанный клон (оба работают, но дальнейшие шаги отличаются, даст один, можно разрешить другой)

Теперь убедитесь, что у вас есть недавно установленная Virtualbox в B. Скопируйте ~/.Виртуальные машины VirtualBox и ~/VirtualBox от A до B с USB (учитывая, что они находятся в удаленных местах)

Теперь, если вы выбрали способ моментального снимка, синхронизируйте папку ~/VirtualBox VMs/YourVM/Snapshots, пока она не станет достаточно большой. Если он станет больше, создайте еще один снимок в A и скопируйте папку YourVM в B один раз и синхронизируйте только этот новый файл снимка в папке Snapshots.

Если вы сделаете снимок или сделаете связанный клон в A или B, этот ритуал будет нарушен, будьте осторожны.

Проверено в 5.0.20

2

Вы можете синхронизировать образы виртуальных машин между двумя компьютерами.

1

Следуя принципу KISS, после регистрации виртуальных машин и изменения настроек просто выполните rsync файл *.vdi пока обе стороны выключены.

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

Конечно, не будет никакого способа "объединить" конфликты, поэтому вам нужно быть дисциплинированным относительно того, как вы вносите изменения в ВМ, и отражать эти изменения.

Между тем, вы можете поместить большую часть своих личных данных на NAS, чтобы они всегда были в курсе и были доступны со всех компьютеров. Кроме того, вы можете смонтировать дополнительные диски .vdi для хранения раздела подкачки или другого временного хранилища, чтобы не увеличивать размер вашей системы .vdi.

Если вы используете Windows, вы должны установить cygwin (или msys2) для программы ssh и rsync.

1

Одним из возможных решений, в зависимости от вашего варианта использования, является вариант ответа cjpembo.

Если оба отдельных компьютера находятся в одной и той же локальной сети в одном и том же месте, возможно, можно запустить одну виртуальную машину на сервере ESXi или аналогичном, и просто использовать функцию удаленной консоли инструментов управления (или даже SSH) для доступа это с обоих других компьютеров.

Очевидно, что если один из компьютеров, с которым вы хотите использовать виртуальную машину, - это ноутбук, который будет перемещаться, то это, возможно, не решение, особенно если вам приходится делить большой объем данных между "хостом" и "гостем". сред.

Если виртуальная машина относительно автономна, возможности удаленной консоли VMware довольно эффективны, поэтому, если вам не нужно воспроизведение видео на виртуальной машине, она может работать достаточно хорошо, даже удаленно, чтобы быть достаточно хорошей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .