Apertura di un'immagine VM basata su file Qemu / Xen (non si avvia dopo l'aggiornamento)


1

Oltre a un host virtuale che esegue ancora Xen / RHEL5, tutte le nostre funzionalità virtuali sono ospitate su host KVM con dispositivi di archiviazione LVM. Ho stupidamente tentato un aggiornamento completo di Ubuntu su un guest in esecuzione sulla macchina Xen, solo per far installare un kernel non Xen e rifiutarmi di avviarlo (errore da rookie lì).

Arrivando al problema reale, la macchina in questione utilizza un singolo dispositivo di archiviazione basato su file. È passato un po 'di tempo da quando ho dovuto aprire uno di questi, ma il processo non dovrebbe essere molto diverso dall'apertura di un volume LVM, ma per qualche motivo non vedo una tabella delle partizioni nel file del dispositivo.

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

L'ispezione del file di partizione di un'altra macchina sullo stesso host produce lo stesso problema (nessuna tabella di partizione valida), anche se si avvia / gira ancora bene, il che è strano in sé.

Modifica: (aggiunta di kpartx)

root@vh1 ~ # kpartx -av /srv/xen/domains/web2.entrant/disk.img
root@vh1 ~ # 

Nessun messaggio (come previsto) che indica quali partizioni sono state aggiunte

Modifica: (Cercando guestfish, virt-rescue, ecc.)

[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'

e con il pesce ospite:

><fs> add-ro disk.img
><fs> run
><fs> list-filesystems
/dev/vda: unknown
><fs> lvs
><fs> 

Suppongo di aver incasinato completamente la tabella delle partizioni, sfortunatamente non ho una copia di come fosse il layout della partizione delle macchine (visto che l'altro ospite da cui è stata copiata (durante l'avvio) sembra esibire lo stesso vuoto tabella delle partizioni quando si tenta lo stesso processo)


E qual è l'output difile /srv/xen/domains/web2.entrant/disk.img
Michael Hampton

[root @ vh1 ~] # file /srv/web2.entrant/disk.img /srv/web2.entrant/disk.img: data
kwiksand

Penso che a questo punto sarebbe più facile e veloce ripristinare dal backup.
Michael Hampton

Risposte:


0

Hai provato a usare lo kpartxstrumento?

Usa qualcosa come: kpartx -av path_to_disk_image. Creerà voci di loop in modo da poter montare le tue partizioni dove vuoi. Potrebbe essere simile: mount mount_point_path /dev/mapper/loopXpX.


Ops! Volevo aggiungere questo in fondo alla domanda, ci avevo provato anche io, dato che lo uso sempre quando si montano le partizioni all'interno dei volumi LVM (modificato sopra)
kwiksand

0

guestfish sarà utile qui.

Ho usato guestfish in passato per apportare alcune modifiche a lvm

Questo documento tratta la modifica di singoli file come grub.conf, fstab ecc montando lvm vgs.

Supponendo che il kernel precedente sia ancora disponibile, forse una via di recupero consiste nel modificare grub.conf sul guest per eseguire l'avvio nel kernel XEN precedente e effettuare riparazioni interattive una volta avviate.


0

Hai provato semplicemente a montare l'immagine del disco stesso, senza la tabella delle partizioni? cioè mount -o loop /path/to/disk.img / mnt / testing

Mi sembra di ricordare che un ospite può essere una partizione non elaborata.

Se hai il file vm.cfg sarebbe utile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.