Назад | Перейти на главную страницу

Как восстановить дельта-файл (диск) на Vmware ESXi

Использование VMware Server ESXi (бесплатная версия)

У меня есть виртуальная машина (win 2k3 r2 server). Когда я впервые подготовил его, я сделал его снимок. Недавно я попытался клонировать основной диск, используя свой стандартный аппаратный метод для увеличения диска Windows. (используя knoppix, клонируйте диск на новый диск, сделайте его загрузочным, затем я намеревался расширить раздел с помощью diskpart из окон). Этот процесс не удался; Я попытался установить клонированный диск (через vmware gui), чтобы заменить исходный диск, загрузиться и готово. Это не сработало. Машина ни разу не загрузилась. Я проверил порядок загрузки, расположение диска и все, что обычно делаю.

В качестве меры безопасности я затем попытался вернуть все настройки, чтобы машина загружалась с исходного диска, и я мог найти (как в конечном итоге) лучший способ увеличения размера диска. Однако когда я включил машину с исходным диском, она вернулась к тому первоначальному снимку, который я создал; Он потерял все изменения с тех пор.

Я просмотрел файловую систему и нашел несколько файлов, я думаю, что ключевой файл здесь называется "дельта", и я предполагаю, что это именно тот диск, который мне нужен, но я не могу найти способ, чтобы виртуальная машина действительно использовала его. диск / файл. Его нельзя добавить, когда я добавляю существующий диск.

Нужно ли мне каким-то образом зафиксировать эту дельту на исходном диске, а затем снова загрузиться с него? Можете ли вы указать мне правильное направление?

С тех пор я обнаружил, как правильно наращивать диски с помощью vmkfstools, но мне нужно вернуться к исходному состоянию машины, чтобы попробовать это. Любая помощь будет принята с благодарностью.

Возможно, вам не повезло, но если у вас нет резервной копии, возможно, стоит использовать структурированный подход к этому.

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

Из оболочки SSH или с помощью утилиты SCP (Veeam FastSCP или Tunnellier удобны, если вы используете Windows) найдите папку виртуальной машины и найдите все файлы с расширениями .vmdk. Их должно быть два для базового диска (небольшой файл дескриптора с именем VMname1.vmdk и файл гораздо большего размера, содержащий фактические данные диска, с именем VMname1-flat.vmdk) и аналогичная пара для каждой дельты вашего снимка (небольшой дескриптор, называемый VMname1-00001.vmdk и более крупный файл с именем VMname1-00001-delta.vmdk, который содержит изменения, внесенные на базовый диск в течение времени существования этого моментального снимка). Они также упоминаются в файле управления моментальными снимками (файл VMname.vmsd), который содержит все метаданные обо всех активных моментальных снимках на виртуальной машине. Сама виртуальная машина имеет все свои настройки, хранящиеся в файле .VMX, включая (что важно) ссылку на местоположение текущего активного VMDK для ее диска (ов) - это будет указывать на последнюю дельту моментального снимка.

Затем VMware использует внутренние идентификаторы (называемые CID) и параметр, называемый ParentFileNameHint в дескрипторе VMDK, для рекурсивного связывания каждой дельты с ее родителем (который сам может быть дельтой), пока он не попадет на базовый диск. Сама по себе -delta не является полным диском, его необходимо связать с неизмененной копией его родительского элемента для работы. Если родительский файл был изменен, вам почти наверняка не повезло.

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

Разобравшись с этим, вы должны прочитать Руководство по ремонту цепи CID от SANBarrow это поможет вам понять, как сшить вещи, если их можно снова сшить.

Наконец - никогда не полагайтесь на снимки как на резервные копии. Они не подходят для этой цели и вызывают значительные дополнительные накладные расходы ввода-вывода в активном состоянии.

Моментальные снимки VMware работают, записывая все изменения на диск с момента создания снимка в новый файл, дельта-файл. Когда вы вернетесь к снимку, система просто удалит дельту и бац, вы вернетесь к предварительно созданной точке. Если вы удалите снимок, система объединит все изменения с исходным файлом, что может занять много времени, если вы сделали снимок давно.

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

  1. Реализуйте политику создания резервных копий, не основанную на моментальных снимках.
  2. Выключите виртуальную машину.
  3. Скопируйте все файлы в надежное место.
  4. Попробуйте удалить снимок.
  5. Посмотри, что получится. Если шаг 3 не дал того, что вы хотели, переходите к 5.
  6. Сделайте новый снимок.
  7. Скопируйте все дельта-файлы из резервной копии поверх дельта-файлов, созданных на шаге 5.
  8. Посмотри, что получится. Если шаг 6 не сделал того, что вы хотели, примите судьбу и начните пытаться восстановить то, что вы потеряли.

Удачи, --джед

Обычно дельта-файл - это файл, который создается при репликации диска и, возможно, при клонировании. Дельта - это просто отдельный файл, в котором хранятся все изменения, внесенные в работающую виртуальную машину, не выключенную во время копирования. После выхода из клона, репликации и т. Д. Дельта (изменения) записывается обратно в живую виртуальную машину. Я не думаю, что вы можете вернуться к дельте, так как это + изменения.

Боковое примечание: вы говорите о наращивании диска также с помощью vmkfstools ... но это не будет работать с нединамическим диском, не так ли? Я почти уверен, что ваш diskpart и / или vmkfstools будут работать только с динамическим основным. Если можно просто создать новый диск и добавить его в систему.