2013-07-12 3 views
12

После работы в Vagrant VM и внесения некоторых изменений я приостановил работу виртуальной машины, используя брандмауэр. Если я затем перезапущу главный компьютер, а затем попытаюсь запустить брандмауэр-резюме, терминал сидит немного, а затем возвращает меня в командную строку без обратной связи. Поэтому, естественно, я тогда стараюсь бродяжничать ssh, и я получаю следующее:Vagrant уничтожен на хосте закрыт, Windows

VM должен работать, чтобы открыть SSH-соединение. Запустите vagrant up, чтобы запустить виртуальную машину.

Если я запустил бродягу, я обнаружил, что все изменения, внесенные мной до приостановки, были перезаписаны при импорте базового блока.

Это намеренное поведение? Я операционная Windows 8 pro x64.

ответ

4

Это случается со мной время от времени, я перезагружаюсь и больше нет следов моей бродящей машины. Даже запуск vboxmanage list vms не отображает мою виртуальную машину, но если я снова перезагружу компьютер и на этот раз я открою графический интерфейс Virtualbox перед тем, как попытаться сделать vboxmanage list vms (или не открывайте его в первую очередь, в зависимости от того, каким образом не удалось выполнить предыдущую попытку), и это будет перечислите мою бродячую машину и ее идентификатор.

Вооружившись этим идентификатором, я могу войти в .vagrant/machines/default/virtualbox/и создать файл с именем «id» и добавить одну строку, содержащую идентификатор машины бродяг. И после этого вы можете запустить его с vagrant up, вероятно, безопаснее всего добавить --no-provision, хотя, как оказалось, началось его создание даже при том, что машина уже существует ..

+1

Я могу подтвердить это, воспроизводимый, на нескольких машинах Ubuntu 14.04 LTS в моей компании. Это ошибка в вскрытии процесса Virtualbox, как кажется (машина не закрыта должным образом). – Sliq

+0

Я подтверждаю, что добавляет уникальный файл с именем «id» и содержит имя виртуальной машины. Вы можете возобновить свою виртуальную машину и получить данные. Но теперь я добавляю следующую проблему: ==> default: Возобновление приостановленной VM ... ==> default: Загрузка VM ... ==> default: Ожидание загрузки машины. default: SSH адрес: 127.0.0.1:2222 default: SSH имя пользователя: vagrant default: SSH auth method: private key default: Warning: Connection failed. Повторная попытка ... default: Warning: Ошибка аутентификации. Повторная попытка ... по умолчанию: предупреждение: удаленное соединение отключено. Повторная попытка ... – Spawnrider

+0

Какова правильная процедура после начала бродяги. Если вы перезагружаете/перезапускаете свой компьютер, вам нужно закрыть его или вызвать брандмауэр? – dan

2

Я бы предложил создать каталог проектов для каждой виртуальной машины, которую вы планируете использовать. Если вы перейдете в эту пустую директорию проекта, прежде чем делать vagrant init, для этого проекта/VM создается выделенный Vagrantfile, который затем может быть настроен под ваши нужды. Чтобы использовать этот настраиваемый Vagrantfile, просто запустите vagrant up из каталога ваших проектов. Не уверен, что это решает вашу проблему, но я думаю, что стоит попробовать. ;-)

КПП. вы можете проверить, работает ли ваша VM с помощью команды vagrant status [machine-name].

+0

То, что он сделал, приостановлено - может быть команда возобновления? – Alex

+0

Итак, рабочий процесс, который вы описываете с помощью каталога проекта, - это именно то, что я делаю прямо сейчас. У меня есть VagrantFile, который можно использовать или модифицировать. Проблема заключается в том, что если я использую брандмауэр, приостановить работу, перезагрузить машину, вернуться в этот каталог и вызвать брандмауэр, я не могу заставить виртуальную машину возобновить работу. Он говорит мне, что виртуальная машина должна быть создана в первую очередь. Затем, когда я выполняю команду vagrant up, VM перестраивается, но у нее отсутствуют какие-либо БД, которые я, возможно, создал, – spetz83

+0

@ spetz83, если я правильно понимаю бродягу, DB (например, MySQL) работает на виртуальной машине, но фактические данные должен жить в общем каталоге на главном компьютере. Это касается любых данных, которые необходимо сохранить. – bcorso

6

Идея бродяги состоит в том, чтобы использовать базовую коробку, а затем выполнять настройки с помощью методов обеспечения. Поэтому всегда vagrant destroy (удаляет все данные виртуальной машины), и vagrant up построит ящик снова, основываясь на базовой коробке, должен работать.

В любом случае, вы не сделали vagrant destroy данные все равно должны быть там.

Если вы сделали vagrant suspend, это означает, что состояние ящиков заблокировано Виртуальным ящиком.

Далее, вы должны сделать vagrant resume: http://docs.vagrantup.com/v2/cli/resume.html

Но если вы сделали vagrant up между ними, данные могут быть потеряны. Вы можете открыть графический интерфейс VirtualBox и посмотреть, сохранились ли еще сохраненные снимки.

+0

Я играл с ним еще немного. Если я останусь бдительным в отношении приостановки до закрытия хоста, я, похоже, в порядке. Спасибо за помощь. – spetz83

+0

У меня есть окна, он сделал некоторые обновления для Windows, пока бродяга бежал всю ночь и перезапустил весь мой компьютер. У меня не было шанса остановить/приостановить бродягу, я возвращаюсь в каталог бродяг-бинов и бегаю, или бродячее резюме в этом случае? –

1

Недавно я столкнулся с несколько схожей ситуацией и, в конечном счете, обнаружил, что существует сценарий, при котором «бродячая приостановка» эффективно разрушает ВМ. Это работает Vagrant на хосте Windows с Virtual Box 4.3.14 как поставщик виртуализации. Роллинг Virtual Box обратно в 4.3.12 - это способ обойти эту проблему. Подробности здесь: https://github.com/mitchellh/vagrant/issues/4276

+0

Да, VirtualBox 4.3.14/4.3.16, по-видимому, сильно поврежден на хостах Windows. У меня была такая же проблема, как «бродячая остановка», а затем «бродяга» попыталась воссоздать vm. Это потерпит неудачу, потому что не может перезаписать существующий, и мне пришлось вручную очистить все и начать все заново. Пожалуйста, помогите решить эту проблему. Https://forums.virtualbox.org/viewtopic.php?f=6&t=63556 – Matt

+0

Кстати, это также происходит в Linux. – Sliq

Смежные вопросы