Вопрос или проблема
К сожалению, мой QNAP NAS вышел из строя из-за физического дефекта. У меня были виртуальные машины на NAS, которые были сделаны резервные копии.
Мне срочно нужны некоторые файлы из файловой системы, но я не могу смонтировать что-либо здесь.
Вот структура файловой резервной копии:
./Server4.1701522057
./.a3b3b9b0-bf88-45aa-b038-de19365f2674.meta/a3b3b9b0-bf88-45aa-b038-de19365f2674.xml
./.a3b3b9b0-bf88-45aa-b038-de19365f2674.meta/snapshot/1701522057.xml
./.a3b3b9b0-bf88-45aa-b038-de19365f2674.meta/snapshot/1701522057.state
./Server4.1693051222
./.a3b3b9b0-bf88-45aa-b038-de19365f2674.meta/snapshot/1693051222.xml
./.a3b3b9b0-bf88-45aa-b038-de19365f2674.meta/snapshot/1693051222.state
./.a3b3b9b0-bf88-45aa-b038-de19365f2674.meta/devices.json
./Server4.1688817606
./.a3b3b9b0-bf88-45aa-b038-de19365f2674.meta/snapshot/1688817606.xml
./.a3b3b9b0-bf88-45aa-b038-de19365f2674.meta/snapshot/1688817606.state
./.a3b3b9b0-bf88-45aa-b038-de19365f2674.meta/snapshot/1664126194.xml
./.a3b3b9b0-bf88-45aa-b038-de19365f2674.meta/snapshot/1664126194.state
./.a3b3b9b0-bf88-45aa-b038-de19365f2674.meta/snapshot/1664108142.xml
./.a3b3b9b0-bf88-45aa-b038-de19365f2674.meta/snapshot/1664108142.state
Что я пробовал: я не очень знаком с KVM и файловыми структурами. Я думал, что смогу смонтировать снимки как сырые файлы. К сожалению, я не могу смонтировать снимок. Файлы “Server4.***” довольно маленькие, поэтому, вероятно, это не те файлы, которые я искал. Я пытался смонтировать снимки или файлы, как описано здесь: Как просмотреть живую файловую систему QEMU/KVM VM извне? Но, похоже, нет разделов, только устройство /dev/sda с неизвестным форматом файла.
Есть ли идеи, как я могу смонтировать определенный диск или снимок, чтобы скопировать оттуда некоторые файлы? Операционная система на госте — Linux/Ubuntu 22.04.
Ответ или решение
К сожалению, ваша ситуация действительно сложна, и я постараюсь предложить вам шаги, которые помогут восстановить ваши файлы из резервной копии виртуальных машин QNAP. Основная задача состоит в том, чтобы извлечь данные из файлов образов виртуальных дисков (например, формат .qcow2 или .raw), которые хранятся в вашем резервном копировании.
Шаги для восстановления файлов из резервной копии QNAP
-
Убедитесь, что у вас есть доступ к резервным копиям:
- Прежде всего, убедитесь, что вы можете получить доступ к скопированным файлам на другом устройстве. Подключите устройство, где находятся ваши резервные копии, чтобы вы могли работать с ними.
-
Определите формат образа диска:
- Посмотрите на названия файлов в вашем резервном копировании. Если файлы образов имеют расширение .img, .qcow2 или что-то подобное, вам необходимо узнать формат. В вашем случае файлы, начиная с
Server4.*
, могут быть образами виртуальных машин. - Часто QNAP использует формат .qcow2 для своих дисков, но может быть и .raw.
- Посмотрите на названия файлов в вашем резервном копировании. Если файлы образов имеют расширение .img, .qcow2 или что-то подобное, вам необходимо узнать формат. В вашем случае файлы, начиная с
-
Установите необходимые утилиты:
- Убедитесь, что у вас установлены необходимые инструменты для работы с образами дисков. Например, вам могут понадобиться пакеты
qemu-utils
. Установите их с помощью команды:sudo apt-get install qemu-utils
- Убедитесь, что у вас установлены необходимые инструменты для работы с образами дисков. Например, вам могут понадобиться пакеты
-
Проверьте содержимое образа:
- Используйте команду
qemu-img
для проверки формата и состояния образа. Пример:qemu-img info Server4.1701522057
- Используйте команду
-
Создайте временную директорию для монтирования:
mkdir /tmp/vm_mount
-
Проверьте, можно ли извлечь данные:
- Если ваш образ – это .qcow2, используйте следующую команду для извлечения файлов из образа без его монтирования:
sudo guestfish --ro -a Server4.1701522057 -m /dev/sda:/tmp/vm_mount
- Используйте
guestfish
для доступа и извлечения файлов напрямую. Сначала запустите его, затем используйте командыrun
,list-filesystems
,mount
иreaddir
для навигации по файловым системам.
- Если ваш образ – это .qcow2, используйте следующую команду для извлечения файлов из образа без его монтирования:
-
Монтирование образа:
- Если вы хотите смонтировать файл образа, вы можете выполнить:
sudo mount -o loop,ro Server4.1701522057 /mnt
- Или, если это .qcow2:
sudo modprobe nbd max_part=8 sudo qemu-nbd -c /dev/nbd0 Server4.1701522057 sudo mount /dev/nbd0p1 /mnt
- Замените
nbd0p1
на правильный раздел, который можно найти с помощьюfdisk -l
.
- Если вы хотите смонтировать файл образа, вы можете выполнить:
-
Теперь доступ к файлам:
- После успешного монтирования перейдите в директорию
/mnt
(или куда вы смонтировали образ) и проверьте, есть ли необходимые файлы:cd /mnt ls
- После успешного монтирования перейдите в директорию
-
Копирование нужных файлов:
- Как только вы нашли необходимые файлы, вы можете скопировать их на ваше основное устройство:
cp /mnt/path/to/your/files /path/to/destination
- Как только вы нашли необходимые файлы, вы можете скопировать их на ваше основное устройство:
- Отмонтируйте и завершите работу:
- После завершения не забудьте отмонтировать и отключить виртуальный диск:
sudo umount /mnt sudo qemu-nbd -d /dev/nbd0
- После завершения не забудьте отмонтировать и отключить виртуальный диск:
Заключение
Запустив указанные шаги, вы сможете получить доступ к необходимым файлам из ваших виртуальных машин даже при физическом дефекте NAS QNAP. Если что-то пойдёт не так или вам потребуется дополнительно помощь, не стесняйтесь спрашивать. Удачи!