Как восстановить vmx файл

Обновлено: 03.07.2024

Во-первых, ESX не даст вам удалить самые важные файлы, т.к. они заблокированы процессом vmx. Это файлы *-flat.vmdk и *.vswp. Что это за файлы:

-flat.vmdk или vmname-flat.vmdk - диск данных виртуальной машины. Собственно, тот файл, куда виртуальная машина пишет данные.
.vswp или vmname.vswp - Файл подкачки виртуальной машины.

Но удаляться другие важные файлы (возможно, еще кое-какие, но в данной статье пойдет речь об этих):

.vmx или vmname.vmx - файл конфигурации виртуальной машины. Тот файл, в котором хранится описание виртуальной машины и ее настройки.
.vmdk или vmname.vmdk - файл конфигурации, который описывает характеристики файла данных -flat.vmdk. Такие как размер, количество блоков данных, структуру/иерархию снапшотов и др.

И еще про типы файлов VmWare
Основные файлы виртуальной машины имеют такие расширения:

*.log – файл журнала ключевой активности VMware Workstation. Он используется для устранения неполадок, в случае их возникновения
*.nvram – файл состояния и настроек BIOS виртуальной машины
*.vmdk – файл виртуального диска, в котором сохранено содержимое жесткого диска виртуальной машины
Примечание. В зависимости от настроек VMware Workstation, диск виртуальной машины может состоять из одного или нескольких *.vmdk файлов.
*.vmem – файл подкачки виртуальной машины. Создаётся и виден только во время работы виртуальной машины
*.vmsd – файл параметров текущего снепшота
*.vmsn – файл состояния снепшота, который хранит текущее состояние виртуальной машины во время его использования
*.vmss – файл состояния приостановленной виртуальной машины
*.vmtm – конфигурационный файл, один из файлов параметров виртуальной машины
*.vmx – главный конфигурационный файл, в котором хранятся все параметры виртуальной машины
*.vmxf – дополнительный конфигурационный файл.
Примечание. Файлы с описанными расширениями являются основными. В папке виртуальной машины могут также присутствовать и другие файлы и папки, в том числе и такие, которые отображаются только во время её работы.

Восстановление vmx файла. Файла конфигурации виртуальной машины.

Пока виртуальная машина запущена, она хранит все свои параметры в оперативной памяти. Для восстановления файлв просто переименуйте виртуальную машину через Веб клиента или vSphere клиента. Таким образом, ESX создаст вам новый vmx файл с рабочими параметрами.

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

Восстановление vmdk файла. Файла описания для -flat.vmdk.

Восстановление vmdk файла для снапшотов. Файла описания для -delta дисков.

На этом все. После перезагрузки ваша ВМ будет с большой долей вероятности в рабочем состоянии. Делайте бэкапы и прибудет с вами спокойствие )

спросил(а) 2020-03-24T19:21:04+03:00 1 год, 8 месяцев назад

Для этой цели нам необходимо использовать vmware-vdiskmanager.exe. Он устанавливается вместе с vmware.exe в профессиональной версии. Insalator доступен по адресу: VMware Workstation Pro. Мы можем использовать 30-дневную пробную версию.

После установки VMware Workstation Professional.

Выполняйте шаг за шагом:

    Откройте командную строку (cmd.exe) в качестве администратора
    Перейдите к локальной установке вашей VMware (моя - это рабочая станция C:\Program Files (x86)\VMware\VMware Workstation).
    Введите следующую команду → vmware-vdiskmanager.exe -R "полный путь к вашему поврежденному vmdk"
    Нажмите Enter
    Запустить VMware.exe
    Перейдите к файлу > Новая виртуальная машина

Отметьте опцию Custom (расширенный)

введите описание изображения здесь

Выберите подходящую аппаратную совместимость

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Точки и введите имя виртуального машинного компьютера так же, как поврежденный файл vmx.

введите описание изображения здесь

введите описание изображения здесь

ответил(а) 2020-03-24T19:33:21.859779+03:00 1 год, 8 месяцев назад

Это восстановление данных виртуальной машины является конечной утилитой для возврата удаленных или потерянных данных из файлов образов Microsoft (VHD), Oracle (VDI) и VMware (VMDK). это может восстановить все файлы мультимедиа/изображения, файлы базы данных и офисные документы с виртуальных машин, а также восстановить все данные, потерянные из-за повреждения и форматирования с виртуальных машин.

Если Вы случайно попытались удалить каталог виртуальной машины, которая запущена на VMFS разделе и у вас нет бэкапа. Не расстраивайтесь, еще не все потеряно. ))) Попробуем восстановить файлы виртуальной машины vmx и vmdk.

Информация в данной статье является фантазией автора и представляется "как есть" и автор никогда не рекомендует пользоваться данной статьей, как руководством к действию. Автор не несет ответственности за ваши действия.

Во-первых, ESX не даст вам удалить самые важные файлы, т.к. они заблокированы процессом vmx. Это файлы *-flat.vmdk и *.vswp. Что это за файлы:

-flat.vmdk или vmname-flat.vmdk - диск данных виртуальной машины. Собственно, тот файл, куда виртуальная машина пишет данные.
.vswp или vmname.vswp - Файл подкачки виртуальной машины.

Но удаляться другие важные файлы (возможно, еще кое-какие, но в данной статье пойдет речь об этих):

.vmx или vmname.vmx - файл конфигурации виртуальной машины. Тот файл, в котором хранится описание виртуальной машины и ее настройки.
.vmdk или vmname.vmdk - файл конфигурации, который описывает характеристики файла данных -flat.vmdk. Такие как размер, количество блоков данных, структуру/иерархию снапшотов и др.

Более подробное описание типов файлов можно найти, например тут .

Перед тем как Вы начнете что-то делать

  1. не спешите и НЕ выключайте ВМ.
  2. не пытайтесь менять настройки ВМ. (настройки не стоит трогать, т.к. например, при попытке добавить новый диск, vmware выдает ошибку, виртуалка крашится и мы остаемся наедине с файлом .flat)
  3. Сделайте бэкап Ваших данных изнутри виртуалки в безопасное место.

Восстановление vmx файла. Файла конфигурации виртуальной машины.

Пока виртуальная машина запущена, она хранит все свои параметры в оперативной памяти. Для восстановления файлв просто переименуйте виртуальную машину через Веб клиента или vSphere клиента. Таким образом, ESX создаст вам новый vmx файл с рабочими параметрами.

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

Восстановление vmdk файла. Файла описания для -flat.vmdk.

Восстановление vmdk файла для снапшотов. Файла описания для -delta дисков.

На этом все. После перезагрузки ваша ВМ будет с большой долей вероятности в рабочем состоянии. Делайте бэкапы и прибудет с вами спокойствие )

Файловая помойка в нашей организации крутится на виртуальной машине VMware ESXi 6 под Windows Server 2016. И это не просто помойка. Это сервер файлового обмена между структурными подразделениями: тут и совместная работа, и проектная документация, и папки с сетевых сканеров. В общем, тут вся производственная жизнь.

Я впал в изумление и решил сходить в отпуск. Пока я был в отпуске — у помойки не было ни одного зависания. А когда в понедельник вышел первый день на работу — помойка висела. Вытерпела полное резервное копирование и аккурат по его окончании повисла. Такая теплая встреча из отпуска подтолкнула меня к решению физически перетащить диски с гостевой машиной в другой хост.

И, хотя давно известно, что в первый день после отпуска нельзя делать ничего серьезного, хотя я всю дорогу на работу настраивал себя не работать, мое возмущение очередным зависанием выбило из головы и настрой, и зароки…

По окончании мастера свежий Datastore появился в списке… а вместе с ним и Datastores с остальных физических дисков.

Чтобы развеять сомнения, по-быстрому установил на пробу свежий ESXi, взял левый диск и, уже вчитываясь, прошелся по шагам мастера. Да. При добавлении Datastore с помощью мастера происходит потеря всех данных на диске без возможности отката операции и восстановления данных. Позже я прочитал на одном из форумов оценку такого дизайна мастера: shitsome crap. И прямо вот очень согласился.

Начиная с шестой — мысли потекли в более конструктивном русле. Ладно. Инициализация занимает считанные секунды даже для 3Tb-диска. Значит, это высокоуровневое форматирование. Значит, просто была переписана таблица разделов. Значит, данные все еще там. Значит, сейчас поищем какой-нибудь unformat и voila.

Гружу машину с загрузочного образа Strelec… И выясняю, что программы восстановления разделов знают все, кроме VMFS. Разметку разделов Synology, например, знают, а вот VMFS — нет.

Перебор программ не утешителен: в лучшем случае GetDataBack и R.Saver находят NTFS-разделы с живой структурой каталогов и живыми именами файлов. Но меня это не устраивает. Мне нужны два vmdk-файла: с диском системы и диском файлов помойки.

И тут я понимаю, что, похоже, сейчас буду ставить винду и раскатываться из файлового бэкапа. И одновременно с этим вспоминаю, что у меня там был корень DFS. А еще совершенно дикая по объему и разветвленности система прав доступа к папкам подразделений. Не вариант. Единственный приемлемый по времени вариант — восстановление состояния системы и диска с данными и всеми правами.

Снова гуглинг, форумы, KB'шки и снова плач Ярославны: VMware ESXi не предусматривает механизма восстановления данных. Все ветки обсуждений имеют два финала: кто-то восстановился с помощью не дешевой DiskInternals VMFS Recovery или кому-то помог активно продвигающий свои услуги специалист по vmfs-tools и dd. Вариант с покупкой лицензии DiskInternals VMFS Recovery за $700 — не вариант. Допуск постороннего лица с «территории потенциального противника» к корпоративным данным — тоже не вариант. Зато было нагуглено, что VMFS разделы умеет читать так же еще UFS Explorer.

DiskInternals VMFS Recovery

Была скачана и установлена триальная версия. Программа успешно увидела пустой VMFS раздел:

image

В режиме Undelete (Fast Scan) так же нашла и потертый Datastore c папками виртуальных машин с дисками внутри:


Предпросмотр показал, что файлы живые:


Монтирование раздела в систему было успешным, но по непонятной причине во всех трех папках была одна и та же виртуалка. Конечно, по закону подлости — не та, что требуется.

Предпринятая попытка бессовестно запиратить софтину закончилась провалом. Зато запиратился UFS Explorer.

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

Я находился в катастрофическом положении и вовсе не гордился теми мерами, к которым прибег.

UFS Explorer

Сканирование диска показало наличие 7 нод. Количество нод «удивительным образом» совпало с количеством *-flat.vmdk файлов, обнаруженных VMFS Recovery:


Сравнение размеров файлов и размеров нод показало так же совпадение до байта. Заодно были восстановлены имена *-flat.vmdk файлов и, соответственно, принадлежность их к виртуальным машинам.



Спустя 4 часа выгрузки 2,5Тб нода из UFS Explorer'a и 20 часов загрузки в Datastore гипервизора грохнутые файлы дисков были подключены к свеже-созданной виртуальной машине. Диски подхватились. Потери данных замечено не было.

В преддверии Нового года я подумал: а не сделать ли скромный, но очень полезный подарок нашим читателям, рассказав про функции, на которые системные администраторы-пользователи Veeam Backup & Replication обычно не обращают внимания, а про некоторые из них даже и не знают? Так родилась эта статья — о том, как использовать Veeam Backup нестандартным способом.

Начну, пожалуй, с известного многим VeeamZIP.


VeeamZIP — бесплатный инструмент для создания резервных копий.

В бесплатном Veeam Backup Free Edition возможно забэкапить только одну ВМ за один проход VeeamZIP, в платной же версии Veeam Backup & Replication у VeeamZIP нет никаких ограничений. В результате работы VeeamZIP получается файл, в котором находится полная копия забэкапленной ВМ. Запускается операция VeeamZIP вручную из интерфейса (на закладке Virtual Machines — см. скриншот ниже), командлетой PowerShell (Help, рассказ на хабре) или из vSphere Web Client (если установлен плагин с Veeam Backup Enterprise Manager).

Основное предназначение VeeamZIP: однократное создание независимой переносимой резервной копии.


  1. Архивация старых ВМ; тестовый или выводимый из эксплуатации сервис. В этом случае делаем VeeamZIP-файл и удаляем ВМ в продакшене.
  2. Передача/отправка ВМ разработчику, чтобы потестировать у себя на стенде; требуется полная копия для последующей настройки репликации (seeding); нужно передать подготовленные ВМ в филиалы либо сдать «в ремонт» подрядчикам/на обследование безопасникам и т. д., и т. п.
  3. Сохранение различных вариантов ВМ, например, различных версий ПО (как в анекдоте: «Вот скелет Александра Македонского, когда ему было пять лет… А вот скелет уже семилетнего Македонского. »).
  4. Создание внеплановой копии перед изменениями, если не подходит Quick Backup — например, в задании указано хранить 3 ежедневные точки восстановления, а вам нужно, чтобы копия сохранилась на больший срок.
  5. Придумайте свой вариант.


Возможность Quick Migration доступна в бесплатной версии. В платном Veeam Backup & Replication она применяется для миграции ВМ, после операции восстановления путем запуска непосредственно из резервной копии — Instant VM Recovery, в случае если, например, VMware Storage vMotion невозможен. Запустить эту операцию также можно со вкладки Virtual Machines.

Но ведь никто не запрещает использовать эту функцию для обычного переноса ВМ в рабочей среде! Спору нет, Storage vMotion хорош тем, что переносит диски ВМ без остановки их работы, но он негативно влияет на производительность основной СХД в момент переноса. А Quick Migration работает аналогично репликации в Veeam Backup & Replication, и влияние на СХД существенно меньше [помечу себе, что надо проверить, срабатывает ли при этой операции I/O Control], но при этом ВМ будет некоторое время недоступна (будет иметь место даунтайм на момент ввода ВМ в паузу, переноса посторонних блоков и вывода машины из паузы). Так что здесь у вас есть выбор: либо штатный ресурсоемкий svMotion без остановки, либо Veeam Quick Migration с меньшим влиянием на продуктив, но приостановкой в работе.

А вообще, закладка Virtual Machines — весьма полезный раздел.

Здесь вы легко можете находить нужные ВМ и, кликая по правой кнопке мыши, добавлять их в существующие задания или создавать с ними новые. Это зачастую проще и нагляднее, чем каждый раз открывать задание на редактирование и добавлять новые ВМ для бэкапа через его свойства.


Кто помнит про Veeam FastSCP для VMware? Когда-то это был единственный хороший способ копировать данные на датасторы, например, если это ISO-шники или готовые ВМ, образы дисков. Консольный scp копировал очень медленно, а FastSCP был действительно быстрым и бесплатным. Затем его упразднили в пользу бесплатной редакции Veeam Backup. Но! Функция копирования был и остается в Veeam Backup & Replication.


  1. Создаете задание на копирование File Copy Job без включения расписания на исполнение.
  2. На последнем экране мастера копируете командную строку для исполнения задания.


Сам процесс копирования, если говорить про Windows/Linux, происходит изнутри ОС. Так что смело добавляйте физические хосты в консоль Veeam Backup & Replication, когда вам необходимо из/в них тоже что-то копировать.

Копирование происходит как есть, т. е. без сжатия и дедупликации. Хотите сжимать файлы для архивации? Наверное, тогда лучше всего подойдут ленты. У них есть встроенная архивация, а у Veeam Backup & Replication есть интеграция с лентами и свой тип задания File to Tape Job.

На этой закладке есть встроенный текстовый редактор!


И он понимает текстовые файлы в Unix формате:


Так что если вам нужно отредактировать vmx-файл (конфигурация ВМ на платформе VMware) или любой другой конфигурационный файл внутри Linux (да и Windows тоже), то можете смело воспользоваться этим инструментом. По команде «Сохранить» файл будет сохранен там же, откуда он и был открыт (то есть вовсе не надо копировать его себе на диск, чем-то редактировать и потом заливать обратно).

Напомню тем, кто не знает, а тем, кто забыл — расскажу.

vPower — это технология Veeam, предназначенная для получения доступа к данным ВМ, находящихся в резервной копии, без необходимости полного извлечения (разархивирования и регидрации всех данных обратно). На ней построена возможность Veeam Instant VM Recovery для быстрого восстановления доступа к засбоившей ВМ, а также другие возможности, включая виртуальные лаборатории, восстановление файлов «других ОС» (не Windows) и т. д.

Для платформы VMware vSphere используется свой встроенный NFS-сервер (vPower NFS). Принцип его работы следующий. Veeam Backup & Replication регистрирует на хосте ESXi новое хранилище NFS. Затем при восстановлении ВМ извлекает из резервной копии мелкие файлы ВМ — vmx, nvram и другие. При этом вместо файлов дисков (vmdk) создаются файлы-ссылки на них. Далее Veeam Backup регистрирует ВМ в vSphere и дает команду на её загрузку (при включенной соответствующей опции). Когда гипервизор обращается к файлу-диску ВМ за блоком данных, Veeam Backup & Replication извлекает нужный блок из резервной копии и отдает его гипервизору. Так загружается и затем работает ВМ из резервной копии.

  1. Во время восстановления (обязательно делайте восстановление в новое местоположение, вы же не хотите затереть существующую ВМ!) НЕ включайте опции Connect VM to network (подключение к сети) и Power on VM automatically (автоматическое включение ВМ).
  2. После окончания процесса восстановления текущее состояние в логе будет обозначено как Waiting for user to start migration.
  3. В консоли vSphere к нужной работающей ВМ запускаете добавление нового диска.
  4. Выбираете существующий.
  5. Находите нужный диск презентованной из резервной копии ВМ на датасторе [VeeamBackup_<имя_сервера>].
  6. И подтверждаете его добавление.
  7. Внутри ВМ инициализируете, при необходимости, и пользуйтесь этим диском.
  8. Profit!
  • Восстановление желательно производить на том хосте, где находится целевая ВМ, к которой вы хотите присоединить диск. Иначе вы можете не увидеть vPower NFS-хранилище — в случае, если на хост никогда не производилось восстановление.
  • Не пытайтесь прицепить диск к той же ВМ, с которой запущен этот vPower NFS-сервис (т. е. к репозиторию Veeam) — получите ошибку.
  • Если вы что-нибудь запишете на такой диск, в резервную копию данные не попадут. Новые данные сохранятся на диске, если вы не отмените Instant VM Recovery. После миграции таких дисков данные сохраняются в нем окончательно.
  • Storage vMotion для ВМ, к которой прицеплен такой диск, поможет перенести этот диск на основную рабочую СХД (в этом случае он смигрирует вместе с новыми данным).
  • И не забудьте потом разрегистрировать изначально «восстанавливаемую» ВМ (т. е. сделать Stop publishing для Instant VM Recovery).

Что еще можно сделать с vPower NFS? Идем дальше!

Обычно добавление VeeamBackup NFS производится 1 раз на каждый хост ESXi при проведении вышеописанных операций. При повторных операциях перепроверяется, что данное подключение существует, и если вы вручную удалите это подключение (unmount datastore), Veeam Backup & Replication подключит его заново. (Эти диски Veeam Backup сам, по своей доброй воле не удаляет — чтобы сократить время при следующем процессе.) Отключать его, в принципе, не имеет большого смысла, а уж будучи подключенным, он может помочь в других делах. Так, его можно использовать как (внезапно!) NFS шару :) Например, можно туда положить ISO-шник или мигрировать ВМ между хостами ESXi, не связанными общим хранилищем.

Удобно: перенастройте папку для vPower NFS на удобное, доступное для вас место на сервере репозитория (расположение по умолчанию — в %ProgramData% ).


Тогда в эту папку будет проще что-то положить со стороны Windows-машины. А можно и еще расшарить папку — для удобного доступа извне.(Вот тут возникла идея: проверить, как VMware Workstation будет работать с таким диском.)

Подключим NFS ко всем хостам — это можно сделать вручную, запустив процесс восстановления Instant VM Recovery на каждом хосте, а затем отменив восстановление (лично мне это не очень удобно, особенно при большом количестве хостов). Другой вариант — в консоли VMware на каждом хосте добавить NFS с данными сервера, как показано здесь (но это также делается вручную):


Можно сделать то же самое через командлет New-Datastore (из powercli). Например, вот так:

Ну, а если вы хотите удалить все NFS-датасторы, оставшиеся от Veeam Backup & Replication, то для этой цели есть скрипт.

Иногда мы даже не задумываемся, что ПО, которым мы пользуемся каждый день, обладает возможностями, на которые мы не обращаем внимания — а они могут помочь нам в других, не совсем «своих» повседневных задачах.

Всем известно, что в системном администрировании большую часть времени отнимают рутинные задачи. Подумайте над тем, как автоматизировать их с помощью тех средств, которые у вас уже есть под рукой, и вы наверняка найдете, как использовать имеющиеся программы по их не совсем прямому назначению. Think, так сказать, different…

Читайте также: