Ошибка при запуске виртуальной машины — 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
Добавить комментарий

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