Как восстановить данные с виртуальной машины XenServer? В результате своих действий или сбоя работы гипервизора можем утратить машину. Она может перестать запускаться, может повредиться или исчезнуть её виртуальный диск, может повредиться само хранилище XenServer Xen Storage. Что можно предпринять в такой ситуации?
Содержание
- Не запускается виртуальная машина XenServer
- Где XenServer хранит файлы виртуальных машин
- Пересоздание виртуальной машины XenServer
- Перенос виртуальной машины XenServer на VirtualBox
- Восстановление данных виртуальных машин XenServer программами для восстановления данных
- Восстановление удалённых данных виртуальной машины XenServer
Не запускается виртуальная машина XenServer
Виртуальная машина XenServer может не запускаться по ряду разных причин.
Чаще это некорректные настройки: неправильное назначение машине ресурсов, не тот тип BIOS, не тот контроллер диска, отключённые функции виртуализации в BIOS самого сервера и т.п. Неправильные настройки либо отменяются, если это возможно, либо нужно искать в сети информацию по правильным настройкам.
Что в машине настроено неверно, могут подсказать логи машины. В XenCenter — программе управления виртуальными машинами XenServer – у каждой машины есть вкладка «Logs». Там отображаются ошибки её запуска.
Часто эти ошибки имеют общую формулировку о невозможности запуска машины, но иногда указывают на конкретные проблемы, что мешает запуску. Эти формулировки можно скопировать с помощью контекстного меню на них для поиска сведений.
Если ранее машина работала, и для неё создавались снапшоты (Snapshot) – бэкап-снимки, можно откатиться к одному из таких снимков.
Виртуальные машины XenServer могут не запускаться из-за сбоя работы их гостевых операционных систем. В таких случаях машину необходимо загрузить с реанимационного LiveDisk’а. И попробовать восстановить работоспособность гостевой операционной системы. Если восстановление невозможно, в среде LiveDisk’а сможем хотя бы извлечь ценные данные, хранящиеся внутри машины.
Виртуальные машины XenServer могут не запускаться из-за повреждения или удаления файлов, обеспечивающих их работу. Такое повреждение или удаление файлов может произойти в результате:
- Сбоя питания или системного сбоя работы XenServer;
- Ошибок при создании снапшотов;
- Ошибок при переносе, копировании, экспорте-импорте данных машин;
- Наших ошибочных действий;
- И т.п.
Во всех этих случаях также можно попробовать откатиться к снапшотам машины. Если это не поможет, можно прибегнуть к более радикальным мерам – пересоздать машину на базе её виртуального диска, либо экспортировать и импортировать в другом гипервизоре.
Если такие радикальные меры не помогут, нам останется только восстановление данных виртуальных машин XenServer. Извлечь данные с незапускающейся машины можно при помощи программ для восстановления данных.
Не запускаться машины XenServer ещё могут из-за проблем с хранилищем Xen Storage. Здесь можно попробовать восстановить хранилище. И, опять же, если не получится, можно хотя бы извлечь с него необходимые данные, в частности, файлы виртуальных дисков машин.
Все эти решения далее мы рассмотрим подробно.
Где XenServer хранит файлы виртуальных машин
Чтобы восстановить виртуальную машину или как минимум её данные, нам необходимо знать, где XenServer хранит данные машин. XenCenter предоставляет нам возможность видеть только файлы виртуальных жёстких дисков машин и оперировать ими.
Диски машин XenServer отображаются в разделах хранилищ Xen Storage. Выбираем нужное хранилище, и в его вкладке «Storage» увидим все диски и снапшоты машин, хранящихся в этом хранилище. Специфика XenServer заключается в том, что этот гипервизор снапшоты хранит как отдельные диски. Для дисков указывается их размер.
Виртуальные диски, принадлежащие конкретной машине XenServer, можно посмотреть в её разделе, во вкладке «Storage». Здесь будут перечислены все диски машины с указанием хранилища, где они размещаются, и их размера.
В отдельных случаях для восстановления данных машин XenServer нам понадобится ещё знать идентификаторы дисков. Но об этом мы будем говорить далее, при рассмотрении непосредственно этого вопроса.
Пересоздание виртуальной машины XenServer
Попытаться восстановить виртуальную машину XenServer можно путём пересоздания на базе существующего её виртуального диска. Но таковой не должен быть повреждён.
Удаляем проблемную машину XenServer. В XenCenter на её разделе жмём контекстное меню, выбираем «Delete VM».
Далее снимаем галочку с виртуальных дисков машины, чтобы они не были удалены. Жмём «Delete».
Далее на панели инструментов XenCenter жмём «New VM».
Выбираем гостевую операционную систему.
Указываем имя старой машины.
Пропускаем этап загрузочных носителей.
Выбираем хранилище XenServer.
Указываем выделяемые машине ресурсы процессора и оперативной памяти.
Пропускаем этап создания нового виртуального диска, мы его потом удалим.
Если нужно, настраиваем сеть.
И жмём «Create Now».
В разделе созданной только что машины идём во вкладку «Storage». Кликаем новый диск машины и удаляем его кнопкой «Delete».
Далее жмём «Attach Disk».
Указываем виртуальный диск от старой машины. Жмём «Attach».
Всё, теперь имеем новую машину на базе старого виртуального диска. Пробуем её запустить.
Перенос виртуальной машины XenServer на VirtualBox
Если файл виртуального диска машины XenServer целостен, машину можно попробовать восстановить методом переноса на другой гипервизор. Это решение в том числе на случай проблем с самим гипервизором XenServer.
Если машина на другом гипервизоре запустится, можно сделать бэкап её гостевой операционной системы и потом развернуть этот бэкап на машине XenServer. И таким вот образом восстановить её на исходном гипервизоре XenServer.
XenServer имеет возможность экспорта виртуальных машин в формат OVF/OVA, который поддерживают многие гипервизоры, в частности, работающие внутри десктопных операционных систем VirtualBox и VMWare (Workstation, Player, Fusion). В этих гипервизорах можно импортировать машины XenServer из OVF/OVA.
Но более того. Формат экспорта OVF/OVA предусматривает извлечение файлов виртуальных дисков машин XenServer. А по умолчанию это файлы формата VHD, на базе которых можно воссоздавать виртуальные машины и в тех же программах VirtualBox или VMWare, и в штатном гипервизоре Windows Hyper-V.
Для экспорта виртуальной машины XenServer в XenCenter на этой машине жмём контекстное меню. Выбираем «Export».
Указываем путь сохранения файлов экспорта на управляющем компьютере. Формат указываем OVF/OVA.
Если нужно, можем выбрать для экспорта несколько машин.
Идём дальше.
Дальше.
Жмём «Finish».
И ожидаем завершения загрузки файлов экспорта машины.
Далее приступаем к работе с гипервизором на управляющем компьютере. Как создать виртуальную машину на базе имеющегося диска VHD в бесплатной программе VMware Workstation Player, детально описано здесь. Ниже мы рассмотрим, как это делается в бесплатной программе VirtualBox.
VirtualBox, как упоминалось, может импортировать файлы экспорта OVF/OVA. Можно попробовать выполнить импорт машины с помощью меню «Файл → Импорт конфигураций». Но в любом гипервизоре при импорте машин из других гипервизоров часто возникают конфликты в настройках оборудования.
Наверняка рабочий способ переноса машины с другого гипервизора – создать её с нуля на базе файла её виртуального диска, который присутствует в числе файлов экспорта. В VirtualBox это делается следующим образом. Жмём «Создать».
Указываем имя машины, тип её гостевой операционной системы.
Указываем объём оперативной памяти машины.
На этапе создания жёсткого диска указываем «Использовать существующий виртуальный диск». Жмём кнопку обзора.
Жмём кнопку «Добавить».
Указываем путь к файлу VHD из числа экспортированных с XenServer файлов.
И выбираем этот диск.
Жмём кнопку создания виртуальной машины.
По умолчанию VirtualBox назначает всем машинам в качестве типа эмулируемой BIOS старую Legacy. Если на машине XenServer использовался BIOS UEFI, в VirtualBox жмём кнопку настроек машины.
В разделе «Система» во вкладке «Материнская плата» ставим галочку включения EFI.
И пробуем запустить машину VirtualBox.
Восстановление данных виртуальных машин XenServer программами для восстановления данных
Если восстановление виртуальной машины невозможно, можно как минимум извлечь из неё данные. Как восстановить данные виртуальной машины XenServer? Это можно сделать с помощью программ для восстановления данных со специальным функционалом.
Одной из таких программ является RS Partition Recovery. Она поддерживает огромнейший перечень файловых систем. Может подключать для отображения и извлечения данных виртуальные жёсткие диски разных форматов, включая те, которые используются XenServer — VHD, QCOW.
И главное: при непосредственном подключении физических жёстких дисков XenServer программа определяет LVM-системы, которые используются гипервизором для хранения виртуальных машин. И может извлекать с них данные.
Специализация RS Partition Recovery — восстановление данных, и программа поддерживает как исправные, так и повреждённые носители информации. То же касается и виртуальных дисков. В случае повреждения файла виртуального диска RS Partition Recovery даст нам больше шансов на восстановление данных, нежели другие инструменты.
Программа предоставляет доступ к содержимому не только виртуальных жёстких дисков машин XenServer, но также их снапшотов. Если какие-то данные не сможем отыскать на самом диске, возможно, отыщем в одном из снапшотов.
Скачиваем RS Partition Recovery.
Универсальное решение для восстановления данных
И давайте рассмотрим, как с её помощью восстановить данные и с VHD или прочих форматов виртуальных дисков, и непосредственно с физических дисков XenServer.
Восстановление данных с виртуального диска машины XenServer
Для восстановления данных XenServer с VHD или прочих форматов виртуальных дисков переносим их файлы на компьютер с десктопной операционной системой. Можно способом экспорта машины XenServer, описанным в пункте статьи о переносе машины.
На старте RS Partition Recovery отменяем по умолчанию запускающийся мастер восстановления данных. В меню «Сервис» жмём «Монтировать диск».
Выбираем формат виртуального диска. Если это VHD, кликаем пункт «Hyper-V (*.vhd, *.vhdx)». Если это QCOW, кликаем пункт «QEMU (*.qcow, *.qcow2, *.img, *.cow, *.qed)».
Указываем папку с файлом виртуального диска.
Отмечаем нужные диски и снапшоты.
Все они далее отобразятся в окне RS Partition Recovery как диски компьютера. Кликаем поочерёдно каждый из них и ищем нужные нам данные.
Оставляем выставленный по умолчанию тип поиска данных «Быстрое сканирование».
По его завершению смотрим нужные данные. Указываем кликом мыши, какие нужно восстановить. Жмём кнопку «Восстановить».
Выбираем предпочитаемый способ восстановления данных.
Далее указываем путь сохранения данных. И, собственно, получаем их в месте сохранения.
Восстановление данных с жёсткого диска хранилища Xen Storage XenServer
Если файлы виртуальных дисков машин XenServer имеют большие размеры, их можно не переносить на компьютер с десктопной операционной системой, а подключить диски хранилища Xen Storage сервера XenServer к компьютеру. Либо сам сервер запустить с диска с десктопной операционной системой или, например, с флешки Windows To Go. И выполнить восстановление данных непосредственно с хранилищ Xen Storage.
Но перед этим необходимо кое-что узнать в XenCenter. Восстановление данных с виртуальных дисков удобно тем, что мы точно знаем, с дисками какой машины мы работаем. А вот при работе непосредственно с физическими жёсткими дисками хранилищ гипервизора нужно знать идентификаторы дисков машины.
Для этого в XenCenter в разделе проблемной виртуальной машины во вкладке «General» смотрим графу «UUID». И копируем с помощью контекстного меню её значение. Это идентификатор машины.
Далее в разделе сервера XenServer открываем вкладку «Console». Жмём Enter для авторизации. Вводим команду:
xe vm-disk-list uuid=300ab1d0-ea34-70e4-4362-1abc008c800e
Только в ней после «uuid=» каждый подставляет своё скопированное значение идентификатора машины.
Эта команда отображает идентификаторы всех дисков и снапшотов виртуальной машины. Это длинные значения в строке «uuid (RO)».
Запечатлеваем эту информацию – копируем или делаем скриншот окна XenCenter.
Далее подключаем физический диск хранилища Xen Storage к компьютеру с десктопной операционной системой.
Важно: если в качестве хранилища Xen Storage используется RAID-массив, необходимо подключить к компьютеру с десктопной операционной системой все диски массива. И использовать аналог программы RS Partition Recovery с поддержкой RAID – программу RS RAID Retrieve.
Запускаем RS Partition Recovery. Следуем автоматически запущенному мастеру восстановления данных.
Смотрим блок физических дисков. По идентификатору, полученному в консоли, выбираем диск виртуальной машины.
Определить, какие диски принадлежат машине, из которой необходимо извлечь данные, также можно по размеру дисков машин XenServer. Но это если нужный диск размером отличается от других дисков. В таком случае отменяем мастер восстановления данных. И в окне RS Partition Recovery в блоке физических дисков выбираем нужный диск, ориентируясь на его размер.
Далее выполняем поиск и восстановление данных точно так же, как рассмотрено в предыдущем пункте статьи.
Если нужные данные машины XenServer не обнаружатся, возможно, они в результате сбоя работы машины были аварийно удалены. В таком случае данные можно поискать как удалённые.
Восстановление удалённых данных виртуальной машины XenServer
Как восстановить виртуальную машину или как минимум её данные, если она не может быть восстановлена? Или если в хранилище Xen Storage исчезли её виртуальные диски? Либо же само хранилище Xen Storage недоступно нам, повреждено, удалено и не может быть восстановлено средствами гипервизора?
Примечание: хранилище Xen Storage может быть недоступно нам из-за его отсоединения. В таком случае необходимо повторно присоединить его с помощью меню операции «Reattach» в меню «Storage» XenCenter.
Ко всем этим случаях применимы описанные выше способы восстановления данных с виртуального диска машины или непосредственно с физического диска хранилища, где используется программа RS Partition Recovery (или RS RAID Retrieve в случае RAID-массива). Но с одной небольшой отличительной особенностью.
При восстановлении обычных данных мы использовали тип поиска «Быстрое сканирование». Он применяется для поиска существующих данных и данных, удалённых недавно.
Если же данные удалены давно, удалены аварийно, удалены вследствие форматирования раздела, переразметки всего диска, повреждения файловой системы (RAW), повреждения Xen Storage, необходимо использовать тип поиска «Полный анализ». Он длится по времени дольше, но ищет данные более эффективно.
Если тип поиска «Быстрое сканирование» не обнаружит нужные данные, можем повторно запустить поиск с использованием типа поиска «Полный анализ».
В результатах поиска удалённые данные будут находиться в специальной папке. И будут отмечены крестиком. Чтобы их восстановить, нажимаем кнопку «Восстановить».
И восстанавливаем, как описано выше.