У меня есть несколько виртуальных машин, работающих на Virtualbox. Я хочу сделать резервную копию этих виртуальных машин и сохранить в исходном контроле для восстановления после сбоя. Насколько я понимаю, снимки этих виртуальных машин не собираются делать трюк в случае аварийного восстановления.
Эти резервные копии будут выполняться периодически, и я собираюсь автоматизировать их с помощью Jenkins сервер автоматизации. Я использую статью TechRepublic в качестве ресурса для работы VirtualBox из командной строки в отношении экспорта виртуальных устройств.
Мои мысли о процессе, выполняемом заданием Дженкинса, следующие (все действия, выполняемые командой line):
Выключите резервную копию конкретной виртуальной машины (и оставьте виртуальный бокс запущен). Запустите команду экспорта VirtualBox:vboxmanage export UBUNTUSERVER164 -o ubuntu_server_new.ova
Запустите команду, чтобы вернуть виртуальную машину. CD в каталог, в котором хранятся виртуальные устройства VirtualBox. Скопируйте вновь созданное виртуальное устройство (формат .ova) в локальный каталог резервного копирования. Сжать (tar), скопированный файл .ova в локальном каталоге резервного копирования. Удалите несжатую копию файла .ova в локальном каталоге резервного копирования. Git совершает сжатое виртуальное устройство, а Git - на BitBucket. Некоторые вопросы, которые у меня есть об использовании этого подхода:
Где виртуальные устройства VirtualBox хранятся по умолчанию? Как выглядит команда оболочки, чтобы отключить предварительную резервную копию виртуальной машины? Как будет выглядеть команда оболочки для включения резервного копирования после виртуальной машины?Ниже приведен простой подход к вашей задаче:
Завершение работы гостевой системы через сеанс SSH, выполняющийся в гостевой системеssh -t user@virtualmachine sudo poweroff
. Запрет на использование виртуальной машины с использованием VBoxManage controlvm [nameofmachine] poweroff не рекомендуется, так как это может привести к данным потеря. Экспорт виртуальной машины в формат OVA VBoxManage export [nameofmachine] -o /path/[name].ova
Формат OVA будет использовать сжатый формат VMDK для VDI. Дальнейшее сжатие может не понадобиться. Для экспорта потребуется время на несколько чашек кофе. Скопируйте полученный (огромный) OVA-файл в любое место, где должно быть ваше резервное копирование. Импортировать резервную копию VBoxManage import [filename.ova] [--dry-run] [--vsys 0 --vmname <name>]
Сделайте сухой прогон для отображения параметров, которые могут вам понадобиться. Позаботьтесь, чтобы дать ему другое имя, если вы все еще сохранили оригинальное имя. Запустите импортированную виртуальную машину virtualbox --startvm [name]
Ниже приведен простой подход к вашей задаче:
Завершение работы гостевой системы через сеанс SSH, выполняющийся в гостевой системеssh -t user@virtualmachine sudo poweroff
. Запрет на использование виртуальной машины с использованием VBoxManage controlvm [nameofmachine] poweroff не рекомендуется, так как это может привести к данным потеря. Экспорт виртуальной машины в формат OVA VBoxManage export [nameofmachine] -o /path/[name].ova
Формат OVA будет использовать сжатый формат VMDK для VDI. Дальнейшее сжатие может не понадобиться. Для экспорта потребуется время на несколько чашек кофе. Скопируйте полученный (огромный) OVA-файл в любое место, где должно быть ваше резервное копирование. Импортировать резервную копию VBoxManage import [filename.ova] [--dry-run] [--vsys 0 --vmname <name>]
Сделайте сухой прогон для отображения параметров, которые могут вам понадобиться. Позаботьтесь, чтобы дать ему другое имя, если вы все еще сохранили оригинальное имя. Запустите импортированную виртуальную машину virtualbox --startvm [name]