18.207.160.97

Восстановление отсутствующего файла дескриптора диска виртуальной машины VMware (.vmdk) (1002511)

Восстановление отсутствующего файла дескриптора диска виртуальной машины VMware (.vmdk) (1002511)


Узнайте, как VMware Skyline Advisor и Skyline Health Diagnostics работают вместе, чтобы обеспечить упреждающий анализ и анализ журналов самообслуживания.

• Используйте Skyline Advisor, чтобы избежать проблем до того, как они возникнут в VCF, vSphere, vSAN, NSX, vROps и Horizon. Результаты Skyline основаны на лучших базах знаний, VMSA / CVE и передовых методах проектирования.

• Используйте Skyline Health Diagnostics для определения первопричины журналов vSphere и vSAN при возникновении проблемы. Результаты диагностики Skyline Health основаны на ведущих KB и VMSA / CVE. Вы можете использовать инструмент Skyline Health Diagnostics в интерактивном или автономном режиме.

• Если вам требуется дополнительная помощь от службы технической поддержки, используйте Skyline Advisor, чтобы запустить Log Assist, чтобы сократить время загрузки журналов. TSE также могут инициировать журналы, чтобы уменьшить усилия.

Подробнее

В этой статье описаны действия по воссозданию потерянного файла дескриптора виртуального диска (.vmdk). Вам может потребоваться воссоздать отсутствующие файлы заголовков / дескрипторов, если:

• Дисковый файл виртуальной машины, указанный в браузере хранилища данных, является плоским файлом вашей виртуальной машины и не имеет значка.

• При включении виртуальной машины вы видите ошибку «Файл не найден».

• Плоский файл существует при просмотре каталога виртуальной машины.

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

Решение

Как восстановить потерянный / отсутствующий файл дескриптора виртуального диска (.vmdk):

Примечание. В видеоролике используется параметр vmkfstools -a. Начиная с версии ESXi 6.5 и более поздних эта опция устарела и будет проигнорирована следующим сообщением: «--adaptertype устарел и, следовательно, будет проигнорирован».

Важная заметка:

• VMware рекомендует регулярно выполнять резервное копирование полного образа критически важных виртуальных машин для упрощения восстановления в таких ситуациях.

• VMware также рекомендует попытаться восстановить отсутствующий файл дескриптора из резервной копии. Этот метод нельзя использовать для воссоздания зашифрованного файла дескриптора диска.

• Если на затронутой виртуальной машине нет полной резервной копии, обязательно скопируйте или сделайте резервную копию неструктурированного файла в отдельном месте.

• Доступность этой статьи ориентирована только на воссоздание файла дескриптора для виртуальной машины. Не редактируйте и не изменяйте содержимое плоского файла, так как это может привести к потере данных.

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

Однако, если используется паравиртуализированный контроллер SCSI, новый файл дескриптора также можно обновить с помощью ddb.adapterType = pvscsi, заменив ddb.adapterType = lsilogic в файле.

Шаги по созданию файла дескриптора диска виртуальной машины:

1. Подключитесь к хосту ESXi как root через SSH или DCUI.

2. Перейдите в каталог, содержащий диск виртуальной машины с отсутствующим файлом дескриптора, используя команду:

cd /vmfs/volumes/DATASTORE_NAME/VM_NAME

3. Определите тип контроллера SCSI, который использует виртуальный диск, проверив файл конфигурации виртуальной машины (.vmx). Контроллер идентифицируется строкой scsi # .virtualDev, где # - номер контроллера.

В этом примере используется lsilogic:

scsi0.present = true
scsi0.sharedBus = none
scsi1.present = true
scsi1.sharedBus = virtual
scsi1.virtualDev = lsilogic

4. Определите и запишите точный размер файла -flat с помощью этой команды:

ls -l vmdisk0-flat.vmdk

-rw------- 1 root root 4294967296 Oct 11 12:30 vmdisk0-flat.vmdk
5. Используйте команду vmkfstools, чтобы создать новый временный виртуальный диск:

# vmkfstools -4294967296 -d thin temp.vmdk
Команда использует эти флаги:

-size
Это размер виртуального диска.

d thin

Это создает диск в формате с тонким выделением ресурсов.

В результате создаются файлы temp.vmdk и temp-flat.vmdk.

Примечание. Чтобы сэкономить место на диске, мы создаем диск в формате с тонким предоставлением, используя тип thin. Единственное последствие, однако, заключается в том, что файл дескриптора содержит дополнительную строку, которую необходимо вручную удалить на более позднем этапе, если исходный диск не является тонким.

6. Удалите temp-flat.vmdk, так как он не нужен. Запустите эту команду

rm -i temp-flat.vmdk

7. Переименуйте temp.vmdk в имя, которое необходимо для соответствия потерянному файлу -flat (или vmdisk0.vmdk в этом примере):

mv -i temp.vmdk vmdisk0.vmdk

8. Отредактируйте файл дескриптора с помощью текстового редактора vi (в данном примере vi vmdisk0.vmdk).

1. В разделе Описание экстента

• Используйте команду «Вставить», чтобы разрешить изменения в файле дескриптора.

• Найдите и измените имя файла -flat, чтобы оно соответствовало потерянному -flat. После завершения - нажмите «Esc», чтобы выйти из этого режима.

2. Найдите и удалите строку ddb.thinProvisioned = 1, если исходный .vmdk не был тонким диском. Если да, сохраните эту строку. Используйте команду : wq! для сохранения и выхода из редактора vi.

 

Пример

# Disk DescriptorFile
version=1
CID=fb183c20
parentCID=ffffffff
createType=vmfs

#
Extent description
RW 8388608 VMFS vmdisk0-flat.vmdk

#
The Disk Data Base
#
DDB

ddb.virtualHWVersion = 4
ddb.geometry.cylinders = 522
ddb.geometry.heads = 255
ddb.geometry.sectors = 63
ddb.adapterType = lsilogic
ddb.thinProvisioned = 1

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

9. Чтобы проверить последовательность дисков, запустите эту команду для файла дескриптора диска:

vmkfstools -e filename.vmdk
Для полной цепочки вы увидите результат, подобный следующему:

Дисковая цепочка последовательна.

 

Для разорванной цепочки вы видите сводку цепочки снимков, а затем вывод, аналогичный следующему:

Дисковая цепочка несовместима: родительский виртуальный диск был изменен с момента создания дочернего. Идентификатор содержимого родительского виртуального диска не соответствует соответствующему идентификатору родительского содержимого в дочернем

Дополнительная информация

Каждый диск виртуальной машины состоит из пары файлов .vmdk. Один - это текстовый файл, содержащий описательные данные о виртуальном жестком диске, а второй - фактическое содержимое этого диска. Например, к виртуальной машине с именем examplevm подключен один диск емкостью 10 ГБ. Этот диск состоит из файла дескриптора examplevm.vmdk размером менее 1 КБ и плоского файла examplevm-flat.vmdk размером 10 ГБ, который содержит содержимое виртуальной машины.