За исключением одного виртуального хоста, на котором все еще работает 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 ~ #
Нет сообщения (как и ожидалось) о том, какие разделы были добавлены
Изменить: (Пробуем guestfish, virt-rescue и т.д.)
[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>
Я предполагаю, что я полностью испортил таблицу разделов, к сожалению, у меня нет копии того, как выглядела разметка разделов машины (поскольку другой гость, с которого он был скопирован (при загрузке), кажется, показывает тот же пустой таблица разделов при попытке того же процесса)
Вы пробовали просто смонтировать образ диска без таблицы разделов? то есть монтировать -o цикл /path/to/disk.img / mnt / testing
Я, кажется, помню, что гость может быть сырым разделом.
Если у вас есть файл vm.cfg, это тоже будет полезно.
guestfish
здесь будет полезно.
В прошлом я использовал guestfish для выполнения некоторых lvm модификации
Этот документ описывает изменение отдельных файлов, таких как grub.conf, fstab и т. д., путем монтирования lvm vgs.
Предполагая, что предыдущее ядро все еще доступно, возможно, способ восстановления состоит в том, чтобы отредактировать ваш grub.conf на гостевой машине для загрузки в более старое ядро XEN и интерактивно внести исправления после запуска.
Вы пробовали использовать kpartx
инструмент?
Используйте что-то вроде: kpartx -av path_to_disk_image
. Он создаст записи цикла, чтобы вы могли монтировать свои разделы в любом месте. Может выглядеть так: mount mount_point_path /dev/mapper/loopXpX
.