Gestione partizioni di macchine virtuali Xen

Da sia.
Vai alla navigazione Vai alla ricerca

I comandi fondamentali sono:

 # Xen 3
 xe host-vm-list
 find /dev -name \*UUID-della-vm\*
 # Xen 4
 xe vm-disk-list --multiple
 find /dev -name \*UUID-del-VDI-del-disco\*

per la lista dei block device della macchina virtuale.

NB: per Xen 4 il VDI è quello immediatamente dopo il VDB col nome della macchina che si sta cercando nel campo vm-name-label.

NB: per Xen 3 notare che la parte terminale del nome è il nome del disco all'interno di xen (xvda, xvdb, ...).

ATTENZIONE: la tabella delle partizioni di questi dischi virtuali non viene caricata al boot dal kernel host. Quindi, per poter accedere alle singole partizioni, bisogna prima caricarne la tabella con il comando kpartx (vedi dopo) e poi ricordarsi di "scaricare" la tabella prima di far ripartire la macchina guest.

ATTENZIONE: assicurarsi di aver spento la macchina virtuale prima di fare qualsiasi modifica ai suoi dischi.

Per prima cosa occorre ridimensionare il disco da interfaccia grafica xenserver-client (altrimenti sarà necessario un lvresize ed il valore riportato dall'interfaccia grafica NON sarà aggiornato).

Su Xen 4 l'lvresize del volume non viene più fatto automaticamente dall'interfaccia grafica. È necessario, quindi, farlo a mano.

Esempi

Supponiamo che il nostro disco virtuale sia

 /dev/VG_XenStorage-00cbc55d-7345-4a7d-83b9-ea2aef2f9dd7/LV-f5f903fc-869f-40ea-9249-52886d454f6d.xvdb

Per vederne le partizioni:

 fdisk -l /dev/VG_XenStorage-00cbc55d-7345-4a7d-83b9-ea2aef2f9dd7/LV-f5f903fc-869f-40ea-9249-52886d454f6d.xvdb

Per modificarne o allargare le partizioni:

 fdisk /dev/VG_XenStorage-00cbc55d-7345-4a7d-83b9-ea2aef2f9dd7/LV-f5f903fc-869f-40ea-9249-52886d454f6d.xvdb

Per accedere ad un filesystem di una partizione:

 losetup /dev/loop0 /dev/VG_XenStorage-00cbc55d-7345-4a7d-83b9-ea2aef2f9dd7/LV-f5f903fc-869f-40ea-9249-52886d454f6d.xvdb
 kpartx -a /dev/loop0

per fare l'e2fsck sul filesystem nella prima partizione:

 e2fsck /dev/mapper/loop0p1

per fare il resize del filesystem nella prima partizione:

 e2fsck -f /dev/mapper/loop0p1
 resize2fs /dev/mapper/loop0p1

per montare il filesystem nella prima partizione:

 mkdir a
 mount /dev/mapper/loop0p1 a
 ls a
 umount a
 rmdir a

ATTENZIONE: prima di riavviare la macchina virtuale è indispensabile fare umount, scaricare la tabella delle partizioni ed eliminare il loop device. I comandi sono:

 umount a
 kpartx -d /dev/loop0
 losetup -d /dev/loop0

e vanno eseguiti in questo ordine.