Открытие образа виртуальной машины на основе файла Qemu/Xen (после обновления не загружается)
За исключением одного виртуального хоста, на котором все еще работает Xen/RHEL5, все наши виртуальные возможности размещены на хостах KVM с устройствами хранения LVM. Я тупо пытался выполнить полное обновление Ubuntu на госте, работающем на компьютере Xen, только для того, чтобы он установил не-Xen-ядро и отказался загружаться (ошибка новичка там).
Приступая к реальной проблеме, рассматриваемая машина использует одно файловое устройство хранения. Мне давно пришлось открыть один из них, но процесс не должен сильно отличаться от открытия тома LVM, но по какой-то причине я не вижу таблицу разделов в файле устройства.
root@vh1 web2.entrant # losetup -a
/dev/loop2: [0902]:34603012 (storage.img)
/dev/loop3: [0902]:32768005 (/srv/xen/domains/web2.entrant/disk.img)
root@vh1 web2.entrant # fdisk -l /dev/loop3
Disk /dev/loop3: 68.7 GB, 68719476736 bytes
255 heads, 63 sectors/track, 8354 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/loop3 doesn't contain a valid partition table
Проверка файла раздела другой машины на том же хосте приводит к той же проблеме (нет действительной таблицы разделов), хотя он все равно запускается / работает нормально, что само по себе странно.
Редактировать: (Добавление kpartx)
root@vh1 ~ # kpartx -av /srv/xen/domains/web2.entrant/disk.img
root@vh1 ~ #
Нет сообщения (как и ожидалось) о том, какие разделы были добавлены
Изменить: (Попытка гостевой рыбы, Вирт-спасения и т. Д.)
[root@vh1 web2.entrant]# virt-rescue --rw --suggest -a /srv/web2.entrant/disk.img
Inspecting the virtual machine or disk image ...
This disk contains one or more filesystems, but we don't recognize any
operating system. You can use these mount commands in virt-rescue (at the
><rescue> prompt) to mount these filesystems.
# /dev/vda has type 'unknown'
и с гостевой рыбкой:
><fs> add-ro disk.img
><fs> run
><fs> list-filesystems
/dev/vda: unknown
><fs> lvs
><fs>
Я предполагаю, что полностью испортил таблицу разделов, к сожалению, у меня нет копии того, как выглядела схема разделов компьютеров (поскольку другой гость, с которого она была скопирована (пока загружается), похоже, показывает то же пустое) таблица разделов при попытке того же процесса)
3 ответа
Вы пытались использовать kpartx
инструмент?
Используйте что-то вроде: kpartx -av path_to_disk_image
, Он создаст циклические записи, так что вы сможете смонтировать ваши разделы где угодно. Может выглядеть так: mount mount_point_path /dev/mapper/loopXpX
,
guestfish
будет полезно здесь.
В прошлом я использовал guestfish для выполнения некоторых модификаций lvm
Этот документ описывает изменение отдельных файлов, таких как grub.conf, fstab и т. Д., Путем монтирования lvm vgs.
Предполагая, что предыдущее ядро все еще доступно, возможно, путь восстановления состоит в том, чтобы отредактировать ваш grub.conf в гостевой системе для загрузки в старое ядро XEN и в интерактивном режиме сделать исправления после запуска.
Вы пробовали просто смонтировать сам образ диска без таблицы разделов? т.е. смонтировать -o loop /path/to/disk.img /mnt/testing
Кажется, я помню, что гость может быть необработанным разделом.
Если у вас есть файл vm.cfg, это также будет полезно.