Безопасны ли виртуальные машины Vagrant (Virtualbox) от случайного выключения / перезагрузки?

554
IMB

Скажем, ваш хост-компьютер внезапно завершил работу или кто-то нажал кнопку перезагрузки, и ваша Vagrant VM находится в рабочем состоянии (например, не включена haltили не находится в suspendсостоянии). Выживут ли они, когда компьютер снова загрузится?

Примечание: это Vagrant с Virtualbox в качестве поставщика.

Изменить: под выживанием я подразумеваю не быть поврежденным и все еще быть в состоянии загружаться просто отлично или вручную или автоматически в случае отключения хост-машины из-за сбоя питания.

2

2 ответа на вопрос

2
harrymc

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

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

См. Следующий пост VirtualBox для одного решения: Как автоматически отключить гостя при отключении хоста? где предлагается следующая команда:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "VM NAME" GUI/DefaultCloseAction Shutdown 

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

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm kubuntu --type headless 
** ** не может быть «изящное» отключение, например, если на хосте была нажата кнопка сброса независимо от того, какие опции вы включаете / отключаете в VirutalBox. Albin 6 лет назад 0
@ Альбин: Вы правы в случае длительного нажатия кнопки питания или отключения питания. Короткое нажатие сделает изящное отключение, harrymc 6 лет назад 0
Я думаю, что предыдущий вариант использования (отключение электропитания и т. Д.) - это вариант использования, о котором спрашивает ОП, может быть, вы неправильно поняли вопрос или я неправильно понял ваш ответ? Albin 6 лет назад 0
@ Альбин: Не думай так. Я полагаю, что он спрашивает, будут ли они автоматически перезапущены. В противном случае, вопрос о том, будут ли они пригодны для использования впоследствии, может быть также задан для хоста ... harrymc 6 лет назад 0
Да, может быть и так ... ну, надеюсь, он прояснит. Из любопытства используется ли термин «постепенное отключение», когда вы говорите об ОС? Я всегда думал, что это относится к приложениям (при отправке сигнала завершения). Извините, это что-то вроде "не по теме", но я знаю, что вы не любите заходить в чат ... Albin 6 лет назад 0
И то, и другое на самом деле, поскольку постепенное завершение работы ОС включает в себя постепенное завершение работы всех приложений (или попыток). harrymc 6 лет назад 0
VirtualBox может успеть приостановить виртуальные машины или нет. harrymc 6 лет назад 0
хммм, MS, кажется, не использует термин «официально», кажется, они называют неблагодарное отключение «принудительное отключение», а все остальное просто «выключение». Но кроме этого, как бы вы называли длительное нажатие кнопки питания? "выключить систему"? Обычно я говорю об этом только в контексте перезапуска (холодный / теплый) ... Albin 6 лет назад 0
Отредактировал мой вопрос для наглядности IMB 6 лет назад 0
0
Albin

Если хост прерывается внезапно (например, нажата кнопка сброса), что называется «неуместное завершение», то же самое произойдет с виртуальными машинами, которые в данный момент работают на этом хосте. Как будто вы нажимаете кнопку сброса на всех виртуальных машинах. В результате, например, все данные, хранящиеся только в памяти (RAM), а не на (виртуальном) HD, будут потеряны и т. Д.

Другими словами, виртуальные машины не будут продолжать работать с того места, где они «остановились», например, когда на хосте была нажата кнопка сброса. После перезапуска хоста вы также можете перезапустить виртуальные машины (вручную или автоматически, если вы сделаете соответствующие настройки).

Повреждение данных зависит от состояния, в котором они находились во время перезапуска. Вы можете сравнить это со своим опытом с обычным ПК, иногда будут ошибки после холодного, «неуместного» перезапуска, иногда их не будет (или они были исправлены автоматически). Все зависит от того, какое программное обеспечение установлено и что оно делало на тот момент.