Duplicazione volume LVM (NTFS) con snapshot
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
- Pubblicato il Sistemistica, Tips & Tricks
Migrazione XEN -> Proxmox (KVM) di VM Windows
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/sdaSulla VM di origine digitare:
sfdisk -d /dev/xvda | nc XX.XX.XX.XX 1234dove 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 1234La 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/sdaRidimensionamento 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.
- Pubblicato il Sistemistica, Tips & Tricks