Назад | Перейти на главную страницу

Загрузка из файла моментального снимка VMware после случайного удаления связанных снимков

Я начну с очевидного: я тупой.

В настоящее время я работаю из дома над некоторым плановым обслуживанием на производственном сервере, работающем на виртуальной машине, а точнее - стеке bitnami redmine / svn.

Я делал резервную копию репозитория SVN, когда размер моего виртуального диска исчерпал себя (наш репозиторий слишком велик, это обслуживание). Я зарегистрировался в VSphere, и моя виртуальная машина была выключена с сообщением, похожим на «Нет места для vmname-00001.vmdk. Попробуйте очистить некоторые файлы в хранилище данных и повторите попытку.

Я недостаточно знаю о виртуальных машинах, но я предполагается что это означало, что моя виртуальная машина использовала vmname-000001.vmdk. Я просмотрел хранилище данных и собирался удалить связанные -0000n.vmdk файлы, когда я решил: «Я недостаточно знаю о виртуальных машинах, мне, наверное, не стоит этого делать» ... И тогда TeamViewer завис, и файлы все равно были удалены. Ура мне.

Теперь моя виртуальная машина не запускается, потому что ей не хватает других -00000n.vmdk файлы. Я получаю ошибку The System cannot find the file specified.

Могу ли я каким-то образом запустить виртуальную машину, используя только последний оставшийся -000001.vmdk файл? Отметка времени на -000001.vmdk файл был вчера, а другой -00000n.vmdk файлы имели временные метки в прошлом году, если это актуально.

Как было сказано в комментарии; вы можете отредактировать файл VMX своей виртуальной машины и указать его на базовый диск.

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

Чтобы снова запустить виртуальную машину:

  1. Загрузите файл VMX (имя должно быть vmname.vmx) с помощью браузера хранилища данных

  2. На всякий случай сделайте копию, прежде чем изменять.

  3. Найдите строку, содержащую vmname-00001.vmdk.

    Например scsi0:0.fileName = "vmname-00001.vmdk"

  4. Измените это на scsi0:0.fileName = "vmname.vmdk" (vmname.vmdk имя базового диска)

  5. Если у вашей виртуальной машины несколько дисков, у вас должны быть другие строки, начинающиеся с scsiX:Y.filename= . Обратите внимание, что X и Y будет уникальным для каждой строки, как и имя базового диска. Повторите шаг 4 для каждого из них, заменив значение соответствующим образом.

  6. Сохраните файл VMX и снова загрузите его на сервер ESX.

  7. Теперь ваша виртуальная машина должна загрузиться.

Примечание. Прежде чем продолжить, убедитесь, что у вас действительно нет файла vmname-00XX.vmdk. Выполнение этой процедуры сделает эти файлы бесполезными.