Как повторно использовать «снимки» дисков VirtualBox

Как повторно использовать «снимки» дисков VirtualBox

У меня есть «набор» из 5 виртуальных машин, которые я хотел бы создать, все они — гостевые ОС Ubuntu Server 12.04, но с радикально разными программными стеками поверх ОС (один сервер — это «сервер сборки» с установленными на нем Subversion, Hudson и т. д.; другой сервер — это сервер приложений с JBoss и т. д.).

Установка и настройка Ubuntu Server занимает несколько часов. Если это вообще возможно, я бы хотел сделать это только один раз (чтобы получить «базовую» версию ОС, установленную на виртуальной машине), а затем скопировать эту «базу» на остальные 4. Таким образом я экономлю 2–3 часа на каждой машине и просто должен сосредоточиться на установке и настройке приложений для каждого сервера.

Когда я создаю виртуальную машину, я вижу три созданных файла:

  • my-vm.vbox- Я предполагаю, что это виртуальная машина.
  • my-vm.vbox-prev- Понятия не имею, что это такое.
  • my-vm.vdi- Я предполагаю, что это тот самый диск, на котором установлена ​​гостевая ОС (моя «база»).

К сожалению, я уже создал все 5 виртуальных машин и сейчас устанавливаю Ubuntu Server на первую из них, поэтому моя настройка выглядит следующим образом:

  • build-srv.vbox, build-srv.vbox-prev, build-srv.vdi(VDI инициализирован, но в нем ничего нет)
  • app-srv.vbox, app-srv.vbox-prev, app-srv.vdi(то же самое, инициализировано, но без ничего внутри)
  • и т.д... (для всех 5)

Я занимаюсь установкой Ubuntu Server на сервере сборки ( build-srv). Янадеясьчто как только я закончу, вся эта информация о конфигурации будет просто храниться в build-srv.vdi. Теоретически, ядолженможно просто скопировать и вставить build-srv.vdiна каждый из других серверов и поменять их соответствующие VDI, верно?

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

Возможно ли то, что мне нужно? Если да, что мне нужно сделать, чтобы настроить каждую виртуальную машину с той же копией экземпляра ОС, в которой я сейчас нахожусь? Если нет, какие у меня есть варианты (кроме повторения той же двухчасовой установки для каждой виртуальной машины!)? Заранее спасибо!

решение1

Каждый файл VDI содержит идентификатор в форме UUID.
Virtualbox записывает эти UUID в базу данных и отказывается использовать VDI, который вы только что скопировали (но это нормально на другом компьютере, потому что он ничего не записывает об этом UUID).

Я знаю 2 метода:
- скопировать VDI (с помощью файлового менеджера или командной строки), затем использовать vboxmanage internalcommands sethduuid "path/yourdisk.vdi"и у вас будет совершенно новый UUID для этого VDI
- или использовать Virtualbox mediamanager (в меню). Выберите диск, который вы хотите скопировать... и нажмите кнопку "копировать". Это сделает то же самое с легкостью

  • my-vm.vbox- это XML-файл, описывающий VM. Вы можете открыть его с помощью текстового редактора или веб-браузера
  • my-vm.vbox-prev- это резервная копия my-vm.vbox
  • my-vm.vdi- это виртуальный диск

edit: эта copyфункция, похоже, присутствует только в Windows. На моем Linux-боксе ее нет, на моем Windows-боксе она есть

решение2

То, что вы, возможно, ищете, этомультиприсоединениережим диска — который можно применить после создания и настройки исходного образа диска. Затем вы можете использовать его в качестве ядра для нескольких виртуальных машин, и у каждой будет свой собственный образ разности на основе оригинала — копирование или клонирование не требуется. Пожалуйста, ознакомьтесь с документацией по адресу:http://www.virtualbox.org/manual/ch05.html#hdimagewrites

Связанный контент