Диск с нулевым размеров в ESXI 6.5

Обновлено 07.08.2019

vmware logoДобрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами успешно установили гипервизор ESXI 6.5. Сегодня я вам покажу очень интересную ситуацию в которую я попал несколько дней назад. Потребовалось мне с мигрировать виртуальную машину с одного датастора на другой, вроде бы простая операция, но она у меня выскочила с ошибкой "Failed waiting for data. Error 195887107. Not found". Давайте я покажу причины и решение данной проблемы.

Описание проблемы

Как я и писал выше мне нужно было сделать storage migration, в результате мне мой vCenter Server 6.5 выдал сообщение:

Failed waiting for data. Error 195887107. Error encountered while unstunning the virtual machine for Storage vMotion

VM showing disk size is 0 MB
Если зайти в свойства данной виртуальной машины, то вы увидите, что у вашего виртуального диска размер 0 МБ.

VM showing disk size is 0 MB

Я начал разбираться в данном вопросе в плане поиска причины и нашел несколько вариантов:

  • У вас криво ранее смигрировались файлы виртуальной машины
  • Причиной могла быть система резервного копирования Veeam Backup & Replication, которая не смогла удалить снапшот или криво его сделала. Простой пример у вас делалось задание резервного копирования, и в этот момент вы мигрировали ее, в результате Veeam может натворить дел
  • Третья проблема, это ранее созданные ручные снапшоты, которые могли быть неправильно удалены или слиты, ниже я рассмотрю все варианты.

Методы решения

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

просмотр расположения диска с нулевым размеров в esxi

Открыв свой датастор я увидел, что у меня виртуальная машина имеет две папки, первая имеет просто название виртуальной машины, а вторая добавляет в название _1.

дублирующая папка с файлами виртуальной машины в esxi

Папка с нормальным именем содержала виртуальный диск виртуальной машины.

Failed waiting for data. Error 195887107. Error encountered while unstunning the virtual machine for Storage vMotion

А вот папка с префиксом _1 уже содержала остальные файлы, среди них конфиг vmx, своп файл и многое другое (Про структуру файлов виртуальной машины ESXI читайте по ссылке).

Диск с нулевым размеров в ESXI 6.5

Согласитесь, что ситуация не правильная, не только исходя из того, что я не могу мигрировать виртуальную машину на другие диск, так еще и перестало работать задание по резервному копированию или я не могу на живую произвести расширение диска у виртуалки. При таком сценарии поправить все очень просто. Выключаем виртуальную машину. Нам необходимо вручную перенести конфигурационные файлы из папки с префиксом _1 в основную. Для этого на выключенной виртуалке щелкните правым кликом и выберите пункт "Remove from inventory", чтобы удалить именно из списка, а не с диска.

Remove from inventory

Далее вы переносите нужные файлы, после чего необходимо заново зарегистрировать виртуальную машину. Для этого кликаем по файлу с расширением vmx и выберите пункт "Register VM". Указываем нужный датастор и хост Vmware ESXI на котором будет зарегистрирована виртуалка.

Register VM ESXI 6.5

В результате чего я получил работоспособную виртуальную машину у которой исчезла проблема с нулевым отображение размера ее виртуального диска и ошибка "Failed waiting for data. Error 195887107. Error encountered while unstunning the virtual machine for Storage vMotion" исчезла.

Исправленная ошибка Failed waiting for data. Error 195887107. Error encountered while unstunning the virtual machine for Storage vMotion

Когда есть остатки снапшотов

Снапшоты - это состояния системы на момент создания, хранятся в виде файлов flat.vmdk, это по сути дельты от основного виртуального диска. Бывают ситуации, что у вас по какой-то причине хост или vCenter может не видеть их в диспетчере снимков, но на уровне файлов виртуальной машины они есть, в таком случае вы можете попробовать так же выкрутиться, как я и показывал выше. Удалить виртуалку из списка, указав "Remove from inventory". После чего попробовать ее зарегистрировать и желательно на другом хосте. Все ваши снапшоты будут определены в менеджере снимков. Чтобы удостовериться, что виртуальная машина работает со снапшота, достаточно скачать из нее конфигурационный файл vmx, открыть его текстовым редактором и найти пункт, например scsi:0.fileName = "/vmfs/volumes/58c96930-c8f04/searcher/searcher-00010-flat.vmdk". Как видите тут диск имеет приписку -00010-flat.

Еще есть одна возможная операция, если у вас не получится после регистрации увидеть ваши снапшоты. Что вы делаете, включаете ssh у ESXI и подключаетесь через Putty или другую утилиту. Переходим в расположение вашей виртуальной машины.

cd vmfs/volumes/ваш volume/ваша виртуальная машина

Создадим в ней папку Temp

mkdir temp

Теперь перечислите текущий контент вашей папки VM. использование

ls -la

Находим ваш последний снапшот, я пометил его стрелкой.

диск нулевого размера

перейдем в расположение TEMP

cd temp

Создадим новый файл

vmkfstools -c 85899345920 имя диска.vmdk-d thin

Теперь скопируйте только что созданный файл .vmdk из папки TEMP и перепишите оригинал. Если вы хотите сделать резервную копию исходного файла, сначала переименуйте его.

cd ..

mv SLP-FT-APPS1.vmdk оригинальный файл.vmdk_original
cp temp/новый файл.vmdk

Наконец мы должны перезагрузить настройки машины. Сначала мы запустим команду, чтобы получить все виртуальные машины и записать VMid, а затем перезагрузим его.
Чтобы получить машины, выполните следующую команду

vim-cmd vmsvc/getallvms

Из команды я получил, что у моей машины есть ID 44, поэтому мы перезагрузим его сейчас

vim-cmd vmsvc/reload 44

Данную информацию, о последнем методе я нашел на одном из сайтов комьюнити. Надеюсь, что вам удалось решить вашу проблему. С вами был Иван Семин, автор и создатель IT блога Pyatilistnik.org.

Автор - Сёмин Иван

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *