LINUX.ORG.RU
ФорумAdmin

Как вытащить данные из qcow2

 , ,


0

1

Доброго дня, сразу скажу в линуксах не силен - помогите в сложившийся ситуации! Мозг кипит - не знаю уже куда копать!

Итак по порядку. 1. Поставил Proxmox 3.1 на машину для того, чтобы установить несколько серверов в виртуальной среде. 2. Поставил Proxmox 3.1 на вторую машину для того, чтобы установить несколько серверов в виртуальной среде. 3. Сделал кластер, чтобы с одной на другую перекинуть виртуалки. Получилось плохо, поэтому просто скопировал из /val/lib/vz/images/ все фалы виртуалок (они все использовали qcow2) и из папок /etc/pve/ настройки виртуалок.

Потом сделал две новые установки Proxmox 3.1 на каждую машину, подсунул ей настройки + сами файлы виртуалок. На одной всё норма, а вот на второй проблема: Файл первого диска (где стоит ОСь) подцепился, виртулаьная машина загрузилась, а второй диск, который был создан - нераспознается, а у меня на нём как на зло единственная копия ОЧЕНЬ нужной инфы застряла - вот так ступил!

Вот так выглядит файл конфигурации VM: balloon: 2048 bootdisk: sata0 cores: 1 cpu: Haswell memory: 4096 name: W2012R2 net0: e1000=42:F4:92:67:B4:C3,bridge=vmbr0 ostype: win8 sata0: local:120/vm-120-disk-1.qcow2,format=qcow2,size=32G sata1: local:120/vm-120-disk-2.qcow2,format=qcow2,size=80G sockets: 1 vga: cirrus

Второй диск инициализируется виндой, но как пустой и не разбитый!!! Пипец!!! Я даже в файле vm-120-disk-2.qcow2 вижу содержимое нужной мне инфы (коды, текста, HTML и прочее), а как достать - убейте не знаю! Хэлп!!!!

Как нибудь! Главное вытащить инфу из этого контейнера.



Последнее исправление: cbloner (всего исправлений: 1)
Ответ на: комментарий от sergej

Что успел попробовать

Я понял что в этом направлении! Ну хоть пару конкретных примеров, пожалуйста, если вас не затруднит!

Я первый раз за 10 лет с линиксом сталкиваюсь (раньше как-то был знаком), я даже не знаю в какую сторону по ману рыть!

Тем более имею смутное понятие об этом qcow2.

Заранее огромное спасибо!

cbloner
() автор топика
Ответ на: комментарий от sergej

Нам в институте на кафедре часто говорили RTFM! И я согласен, но беда в том что я даже вектор не представляю!

Буду очень признателен за конкретные начальные примеры!

cbloner
() автор топика
Ответ на: комментарий от cbloner
# Загружаем модуль ядра Network Block Device
modprobe nbd

# "Подключаем" образ к устройству /dev/nbd0.
qemu-nbd --connect /dev/nbd0 --read-only /путь/к/образу.qcow2

# Ищем разделы на устройстве.
kpartx -arvs /dev/nbd0

# Здесь ты можешь делать с разделами /dev/mapper/ndb0p* что угодно: монтировать, форматировать и т.п.

# Убираем девайсы разделов.
kpartx -dvs /dev/nbd0

# Выключаем qemu-nbd.
qemu-nbd --disconnect /dev/nbd0
Deleted
()
Ответ на: комментарий от Deleted

Огромное спасибо за развёрнутый ответ! Что может быть за ошибка?

root@buywell-proxmox:/var/lib/vz/images/120# qemu-nbd --connect /dev/nbd0 --read-only vm-120-disk-2.qcow2 /tmp/buildd/qemu-1.1.2+dfsg/nbd.c:nbd_init():L382: Failed to set NBD socket

cbloner
() автор топика
Ответ на: комментарий от Deleted

Сменил на nbd1. Принципиальная разница есть?

root@buywell-proxmox:/var/lib/vz/images/120# modprobe nbd

root@buywell-proxmox:/var/lib/vz/images/120# qemu-nbd --connect /dev/nbd1 --read-only /var/lib/vz/images/120/vm-120-disk-2.qcow2

root@buywell-proxmox: kpartx -arvs /dev/nbd1

root@buywell-proxmox:/var/lib/vz/images/120# kpartx -arvs /dev/nbd1

-bash: kpartx: command not found

root@buywell-proxmox:/var/lib/vz/images/120# apt-get install kpartx

root@buywell-proxmox:/var/lib/vz/images/120# kpartx -arvs /dev/nbd1

root@buywell-proxmox:/var/lib/vz/images/120# mount /dev/nbd1 /mnt/qcow2/

mount: block device /dev/nbd1 is write-protected, mounting read-only mount: you must specify the filesystem type

И в конце такая фигня:

root@buywell-proxmox:/var/lib/vz/images/120# mount -t cifs /dev/nbd1 /mnt/qcow2/ mount.cifs: bad UNC (/dev/nbd1)

Раздел был под виндой (NTFS), простом том с MBR! Может не так монтировать надо? Извиняюсь за туповатые вопросы, но правда в линухах по отсутствие практики чувствую себя полным профаном!

cbloner
() автор топика
Ответ на: комментарий от cbloner

Сменил на nbd1. Принципиальная разница есть?

При загрузке модуль nbd создаёт несколько устройств (количество ЕМНИП можно указать в параметрах модуля), которые можно использовать. Принципиальной разницы нет.

Раздел был под виндой (NTFS), простом том с MBR! Может не так монтировать надо?

  • Монтировать тебе нужно разделы из /dev/mapper/nbdXpY, а не само устройство nbdX. nbdX - весь диск, а /dev/mapper/nbdXpY - конкретные разделы этого диска.
  • CIFS - это сетевая файловая система. По идее команда mount должна сработать без опций и автоматом определить NTFS и заюзать драйвер в ядре. Но если тебе нужно r/w, а не r/o, то лучше заюзать ntfs-3g.
Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Про разделы понял. А если повреждена структура раздела и он не сможет явно определить NTFS Это или нет, то можно как-то выцепить данные оттуда? «Пофиксить» чем либо?

И к сожалению в /dev/mapper/ у меня только:

control pve-data pve-root pve-swap

И всё... это нормально?

cbloner
() автор топика
Ответ на: комментарий от Deleted

И как узнать, вернее где посмотреть эти разделы (nbdXpY), эти самые X и Y? С помощью fdisk -l или как-то по другому?

cbloner
() автор топика
Ответ на: комментарий от cbloner

И к сожалению в /dev/mapper/ у меня только:

control pve-data pve-root pve-swap

И всё... это нормально?

Это значит, что нету разделов в образе. Насколько это нормально в твоём случае - тебе решать =).

Deleted
()
Ответ на: комментарий от Deleted

Если таблица разделов раньше была, но ты каким-то образом её случайно снёс, то можешь попробовать восстановить её с помощью утилиты testdisk.

Если ты ещё и саму файловую систему умудрился сильно повредить, то можешь попробовать восстановить файлы с помощью photorec.

Deleted
()

блин, а я надеялся, что автор темы - erzent

anonymous
()
Ответ на: комментарий от Deleted

fdisk -l не нашёл даже /dev/nbdX Раздел там точно есть! Самое обидно что я просто просмоторщиком лезу файл смотреть и вижу и html и txt файлы. Даже файлы структуры базы 1С и ту вижу!

Ну неужели их никак нельзя выцепить???? Конвертер? Фиксер или ещё магия какая-то. Там скорее всего таблица разделов подпортилась или что там у этого контейнера (qcow2) внутрях!

Помогите, а то ща правда рыдать начну - это такой попадос!

cbloner
() автор топика
Ответ на: комментарий от cbloner

Ну неужели их никак нельзя выцепить???? Конвертер? Фиксер или ещё магия какая-то. Там скорее всего таблица разделов подпортилась или что там у этого контейнера (qcow2) внутрях!

Я выше написал: testdisk (для таблицы разделов) и photorec (если всё совсем плохо и ты поломал файловую систему, но файлы 1С он скорее всего не может).

Btw, а делал ли ты бэкапы? 8)

Deleted
()
Ответ на: комментарий от Deleted

Только перед тем как что-нибудь предпринимать, сделай бэкап самого qcow2-образа. На случай если случайно поломаешь его ещё сильнее.

Deleted
()
Ответ на: комментарий от Deleted

testdisk и photorec видят только физический диск + разделы которые примонтированы. Учитывая что мой образ не монтируется, то и сделать я с ним ничего с помощью этих утилит не смогу?!

Если бы я сделал бэкап, плакал бы я так долго. Остались только эти файлы от виртуальной машины. Причём первый грузиться нормуль, вся ось стартует, а второй диск который я поднимал дополнительно в Proxmox как будто пуст!

Имеет ли смысл примонтить первый диск с виндой, полечить его и может он увидит разметку от второго диска? Может они завязаны друг на друга два образа диска? Хотя это наверное бред?!

Нету никакого низкоуровневого рестора типа OnTrack Для таких образов?

cbloner
() автор топика
Ответ на: комментарий от cbloner

testdisk и photorec видят только физический диск + разделы которые примонтированы. Учитывая что мой образ не монтируется, то и сделать я с ним ничего с помощью этих утилит не смогу?!

Обе работают с самим диском, то есть в твоём случае с /dev/nbdX.

Имеет ли смысл примонтить первый диск с виндой, полечить его и может он увидит разметку от второго диска? Может они завязаны друг на друга два образа диска? Хотя это наверное бред?!

Вряд ли.

Нету никакого низкоуровневого рестора типа OnTrack Для таких образов?

Без понятия. Ты можешь при помощи qemu-img сконвертировать qcow2 в RAW-образ и залить его на физический HDD. А потом подключить его к компьютеру с вендой и попробовать разные windows-only тулзы для восстановления данных.

Ещё можешь попробовать qemu-img check на образе.

Последний вариант: найти хорошую фирму, которая занимается восстановлением данных и отправить им этот qcow2-образ. Но если он действительно сильно испорчен, то восстановление будет стоит немаленьких денег.

Deleted
()
Ответ на: комментарий от Deleted

Прогнал с помощью

root@buywell-proxmox:/var/lib/vz/images/120# qemu-img check vm-120-disk-2.qcow2

Написал много чего, походу потерянные кластеры:

ERROR cluster 854688 refcount=0 reference=1 ERROR cluster 854689 refcount=0 reference=1

251 errors were found on the image. Data may be corrupted, or further writes to the image may corrupt it.

601951 leaked clusters were found on the image. This means waste of disk space, but no harm to data.

295 internal errors have occurred during the check.

An error has occurred during the check: Success The check is not complete and may have missed error.

Может его пофиксить можно этой командой? Переписать или сделать этот snapshot с него?

cbloner
() автор топика
Ответ на: комментарий от Deleted

Я наверное опух от количества инфы, но вижу только ключи rebase и resize.

rebase может почистить этот мусор с кластерами?

cbloner
() автор топика
Ответ на: комментарий от Deleted

Спасибо. Сейчас буду пытаться лечить и подсунуть винде на восстановление!

Если что я завтра спрошу? ;-) Хотя чувствую вторую ночь за компом проведу! ;-\

cbloner
() автор топика
Ответ на: комментарий от cbloner

После лечения с помощью «qemu-img check -r» я бы попробовал testdisk'ом пройтись.

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

Deleted
()

Ну как, получилось что-нибудь?

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.