Home > Server > Mount veloce della partizione LVM di una VM in XenServer 5.6

Mount veloce della partizione LVM di una VM in XenServer 5.6

Obiettivo:  Accedere ai file systems di un VM fermata in XenServer 5.6 modificando e recuperando eventualemente files e directories.

Glossario:
dom0
  = dominio privilegiato.  E’  la Virtual Machine (VM) creata dall’Hypervisor di XenServe al boot. Il dominio privilegiato è  l’unico che ha accesso diretto all hardware e che si occupa di lanciare le altre VM .
domU = dominio non privilegiato .  Tutte le altre istanze di macchina virtuale (VM) in esecuzione diverse da dom0  sono dominioU:  viene creato un distinto dominio per ogni istanza.
VM : Virtual Machine, in XenServer è identificata da uno specifico uuid è ospitata in una Virtual Disk Image con un proprio vdi-uuid ed è connessa al dom0 grazie a un VBD con un suo vdb-uuid
VDI:  Virtual Disk Image, un immagine o file che rappresenta un hard disk virtual.
VDB: Virtual Block Device, un modo per connettere una VDI a una virtual machine
UUID: Universally unique identifier. Una stringa di caratteri che XenServer sistematicamente per idenficare in modo univoco un particolare oggetto.

Premetto ritengo che dovrebbe esistere un comando per effetturare il mount automatico del VDI di una VM halted in XenServer 5.6. Tuttavia non avendo trovato ancora lo stesso e trovandomi nella condizione di dover accedere ai files di una VM che non riparte ho osservato che utilizzando due console e sfruttando xe-edit-bootloader si può ottenre un accesso veloce alle partizioni.
Infatti xe-edit-bootloader per consentire l’edit del file grub.cfg crea il VBD del VDI della macchina virtuale. Effettua il plug del VBD dom0 e quindi il mount della partizione di boot in /var/run/. Come si può osservare dalla sequenza di operazioni svolta automaticamente

[root@localhost ~]# xe-edit-bootloader -n "ubuntu 12.04 LTS Server PV" -p 1
Creating dom0 VBD: c8b02acb-a63d-afdc-1504-335ccbee07c0
Plugging VBD: 
Waiting for /dev/xvda1: .. done
Mounting filesystem: done
Unplugging VBD: . done

questa l’intestazione di nano proposto in automatico per agire su grub.cfg che eivdenzia il punto di mount

GNU nano 1.3.12 File: /var/run/fix-grub-ecc801e0-f24c-4b31-a391-2e10bc9baeeb/boot/grub/grub.cfg

possiamo avere un ulteriore conferma del punto di mount della partizione di boot in /var/run utilizzando una seconda console collegata a XenServer e digitando

df -l 
/dev/xvda1 240972 43301 185230 19% /var/run/fix-grub-ecc801e0-f24c-4b31-a391-2e10bc9baeeb

all’uscita dalla fase di editing c’è il veloce unplug del VBD.

Pertanto se si desidera intervenire direttamente sulle partizioni di una VM fermata in modo veloce  è sufficiente evitare di uscire dalla fase di editing nella prima console e utilizzando la seconda console accedere alle partizioni presenti nella VDI della VM.

digitando fdisk -l nella seconda console è possibile osservare il dettaglio delle partizioni presenti nel VDI della VM con idicato il device in questo caso /dev/xvda.

[root@localhost grub]# fdisk -l
....
....
....

Disk /dev/xvda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/xvda1 * 1 32 248832 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/xvda2 32 1045 8136705 5 Extended
/dev/xvda5 980 1045 522240 82 Linux swap / Solaris
/dev/xvda6 32 980 7614464 83 Linux

Ora finche il file grub.cfg rimarrà aperto sarà possibile montare le partizioni del device /dev/xvda con ad esempio

mkdir /mnt/xvda6 
mount /dev/svda6 /mnt/xvda6

quindi si potrà agire direttamente su files e directory.

Riassumendo un numero di comandi molto limitato imperniato su

xe-edit-bootloader -n "nome virtual machine" -p 1

-p indica la partizione di boot in genere assume valore 1 o 0

con fdisk -l si può osservare il device di tipo xvd[a-z] utilzzato

quindi il comando mount e ovviamente due sessioni

ATTENZIONE

Prima di riprendere la normale attività e bene sempre controllare ancora una volta
l’esistenza di VBD facenti capo al dom0 con

xe vbd-list  uuid = uuid_dom0

per determinare l’uuid dom0

xe vm-list | grep -B 1 -e Control

se esistono ancora VBD non previsti disconnettere il VBD (unplug destroy )

xe vbd-unplug uuid=VBD-uuid
xe vbd-unplug uuid=4e55fd78-d367-ccc0-dfc8-f06557080217

xe vbd-destroy uuid=VBD-uuid 
[root@localhost /]# xe vbd-destroy uuid=4e55fd78-d367-ccc0-dfc8-f06557080217
Categorie:Server Tag:, , , ,
  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: