Ошибка при запуске виртуальной машины — vmware esx cannot find the virtual disk

vmware esx cannot find the virtual disk

Перестала запускаться виртуальная машина. В процессе гугления выяснилось, что в каталоге с виртуальной машиной отсутствует файл с конфигурацией. Восстановим (создадим) его.

В VMware vSphere включаем ssh, и коннектимся. Затем переходим в каталог с нашей виртуальной машиной

[root@localhost]# cd /vmfs/volumes/datastore2/srv-virtual-01

Смотрим размер flat-диска

[root@localhost]# ls -l srv-virtual-010-flat.vmdk
-rw-------    1 root     root     85899345920 Jul 29  2016 srv-virtual-010-flat.vmdk

При помощи утилиты vmkfstools создаем новый vmdk-файл

[root@localhost]# vmkfstools -c 85899345920 -d thin -a lsilogic new.vmdk

85899345920 - размер (узнали из предыдущего шага)
thin - тип диска
lsilogic - адаптер

После выполнения этого действия в каталоге появится 2 файла:

new.vmdk - файл конфигурации, он нам и нужен
new-flat.vmdk - файл с данными

Удаляем файл с данными

[root@localhost]# rm new-flat.vmdk

Переименовываем new.vmdk в нужный нам и редактируем его

[root@localhost]# mv new.vmdk srv-virtual-010.vmdk
[root@localhost]# vi srv-virtual-010.vmdk

Находим строку и меняем:

RW 167772160 VMFS "new-flat.vmdk"
на
RW 167772160 VMFS "srv-virtual-010-flat.vmdk"

Так же, у меня в каталоге присутствовали файы

-rw-------    1 root     root     18035675136 May 23 09:14 srv-virtual-010-000002-delta.vmdk
-rw-------    1 root     root           330 May 23 09:13 srv-virtual-010-000002.vmdk

Как мне удалось выяснить, это файл с данными и файл конфигурации, которые появились после того, как сделали snapshot

Смотрим содержимое файла конфигурации srv-virtual-010-000002.vmdk

[root@localhost]# cat srv-virtual-010-000002.vmdk
# Disk DescriptorFile
version=1
encoding="UTF-8"
CID=a02b6973
parentCID=e650b626
isNativeSnapshot="no"
createType="vmfsSparse"
parentFileNameHint="srv-virtual-010-000001.vmdk"
# Extent description
RW 167772160 VMFSSPARSE "srv-virtual-010-000002-delta.vmdk"
...

Нас интересуют строки:

parentCID=e650b626
parentFileNameHint="srv-virtual-010-000001.vmdk"

Значение parentCID файла srv-virtual-010-000002.vmdk соответствует значению CID файла srv-virtual-010-000001.vmdk
Но файл srv-virtual-010-000001.vmdk у нас отсутствует, и мы в начале статьи создали новый файл конфигурации srv-virtual-010.vmdk
Смотрим его содержимое:

[root@localhost]# сat srv-virtual-010.vmdk
# Disk DescriptorFile
version=1
encoding="UTF-8"
CID=5d2981c6
parentCID=ffffffff
isNativeSnapshot="no"
createType="vmfs"

# Extent description
RW 167772160 VMFS "srv-virtual-010-flat.vmdk"
...

Запоминаем строку

CID=5d2981c6

Теперь редактируем файл конфигурации srv-virtual-010-000002.vmdk, в котором меняем значение parentCID и parentFileNameHint

[root@localhost]# vi srv-virtual-010-000002.vmdk
# Disk DescriptorFile
version=1
encoding="UTF-8"
CID=a02b6973
parentCID=5d2981c6 ## значение CID файла srv-virtual-010.vmdk
isNativeSnapshot="no"
createType="vmfsSparse"
parentFileNameHint="srv-virtual-010.vmdk" ## наш вновь созданный файл конфигурации
# Extent description
RW 167772160 VMFSSPARSE "srv-virtual-010-000002-delta.vmdk"

После всех этих манипуляций моя виртуальная машина запустилась

При составлении материала были использованы следующие сайты:
http://geckich.blogspot.com/2011/12/cannot-open-disk-or-vmware-esx-cannot.html
https://kb.vmware.com/s/article/1026353

Максим Макаров

У блога появился хостинг, его любезно предоставила компания Облакотека. Облакотека - облачные сервисы для создания и управления виртуальной ИТ-инфраструктурой.
Если вам понравился мой блог и вы хотели бы видеть на нем еще больше полезных статей, большая просьба поддержать этот ресурс.

Оцените автора
IT Draft
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.