Mi è capitato di dover effettuare un backup di un volume LVM di una macchina guest in ambiente virtualizzato (kvm-proxmox) subito dopo un aggiornamento che ha reso la proxecura automatica (vzdump inefficace a seguito di questo errore:

INFO: starting new backup job: vzdump 103 --mode snapshot --storage BACKUP
INFO: Starting Backup of VM 103 (qemu)
INFO: status = running
INFO: backup mode: snapshot
INFO: ionice priority: 7
INFO: skip unused drive 'local:103/vm-103-disk-1.raw' (not included into backup)
INFO: creating archive '/VM/BACKUP/dump/vzdump-qemu-103-2014_06_06-12_19_45.vma'
unable to connect to VM 103 socket - No such file or directory
ERROR: unable to connect to VM 103 socket - No such file or directory
INFO: aborting backup job
ERROR: Backup of VM 103 failed - unable to connect to VM 103 socket - No such file or directory
INFO: Backup job finished with errors
job errors

Prima di riavviare la macchina host, come consugliato dal forum, ho preferito effettuare un backup dei dati seguendo questa procedura.

Prima di tutto installo i pacchetti necessari:

#apt-get install ntfsprogs kpartx

Poi attivo uno snapshot per il volume NETLITE-vm–131–disk–1:

#lvcreate -L 1G -s -n 131-snap /dev/mapper/NETLITE-vm--131--disk--1

A questo punto ho un’immagine consistente del disco ma non è possibile usare tools come ntfsclone direttamente in quanto la partizione del disco NTFS non è presente in /dev/mapper, quindi la rendo visibile con:

#kpartx -a /dev/NETLITE/131-snap

Ed effettuo il backup:

#ntfsclone -s /dev/mapper/NETLITE-131--snap1 -o /mnt/pve/BACKUP_NFS/131-ntfs_clone.img
ntfsclone v2012.1.15AR.5 (libntfs-3g)
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 34348736512 bytes (34349 MB)
Current device size: 34348737024 bytes (34349 MB)
Scanning volume ...
100.00 percent completed
Accounting clusters ...
Space in use       : 4282 MB (12.5%)
Saving NTFS to image ...
100.00 percent completed
Syncing ...

A questo punto ho una copia “ottimizzata” del filesystem e posso rimuovere puntamenti e snapshot:

#kpartx -d /dev/NETLITE/131-snap
#lvremove /dev/mapper/NETLITE-131--snap
Do you really want to remove and DISCARD active logical volume 131-snap? [y/n]: y
Logical volume "131-snap" successfully removed

A.Gagliardi 2014

Stando alla documentazione la procedura ideale di migrazione di un’installazione Windows verso Proxmox (KVM) prevede l’utilizzo di Clonezilla, purtroppo la ISO di Clonezilla non parte sulle VM già virtualizzate con XEN rendendo necessario un cambio di strategia.

Avviamo una VM m minimale su XEN utilizzando la ISO di sysrescuecd e configurando come disco uno snapshot della vm originale ove sia stato installato preventivamente il mergeide.reg

A questo punto copiamo il partizionamento.
Possiamo usare sfdisk con netcat.

Sulla VM di destinazione digitare:

nc -l -p 1234 | sfdisk /dev/sda
Sulla VM di origine digitare:
sfdisk -d /dev/xvda | nc XX.XX.XX.XX 1234
dove XX.XX.XX.XX è l’indirizzo ip della macchina destinazione.
A questo punto è buona norma riavviare la VM destinazione.
Per copiare il filesystem NTFS procediamo con ntfsclone.
Sulla VM di destinazione digitare:
nc -l -p 1234 | ntfsclone -r -O /dev/sda1 -
Sulla VM di origine digitare:
ntfsclone -s -o - /dev/vxda1 | nc XX.XX.XX.XX 1234
La procedura non esce al termine automaticamente, resta come appesa, solitamente basta attendere un po’ affinchè si svuoti il buffer di copia, con un bmon si nota chiaramente quando la procedura smette di usare la rete. A quel punto si può interrompere con ctrl-c.

Può essere necessario ridimensionare il filesystem sfruttando il maggior spazio concesso dal nuovo hardware quindi qualora il disco della VMsia più grande di quello originario si può procedere così:
Ridimensionare la partizione numero 1 alla massima possibile con sfdisk:

echo ",+," | sfdisk -N1 /dev/sda
Ridimensionamento del filesystem tramite ntfsresize:
ntfsresize -x /dev/sda1
oppure
ntfsresize -s 100G /dev/sda1

Al termine il Windows tendenzialmente non parte.
Si utilizza quindi il CD originale per partire in modalità rescue e si digitano i comandi fixboot e fixmbr.
A questo punto si riavvia e Windows dovrebbe partire.
Nel caso si sia ridimensionata la partizione Windows effettuerà un controllo approfondito del filesystem.
Prima di installare gli eventuali drivers virtio è meglio disinstallare servizi relativi a Xen, VMWARE, etc che potrebbero entrare in conflitto con il nuovo sistema di virtualizzazione.