lunedì , Dic 10 2018
Ultime Notizie
Home / Linux / Proxmox: Spostare LVM tra due server

Proxmox: Spostare LVM tra due server

Ciao Ragazzi,

oggi vi spiego come migrare un LVM da un server ad un altro. La domanda sorge spontanea…Perchè?

Il perchè è semplice da spiegare, una volta capito lo scenario:

Ho due proxmox diversi, su due server diversi e devo migrare una VM di grandi dimensioni dal server 1 al server 2.

Bene, chi è più esperto e conosce come funziona Proxmox mi dirà che la strada migliore è quella di fare un backup della prima macchina, trasferirla sul secondo server e ripristinare il backup: questa è la soluzione ideale da prediligere sempre!

Con la soluzione del backup/ripristino siamo sicuri che non perdiamo nessun tipo di informazione e non abbiamo possibilità di errore.

Nel mio caso è diverso, non posso fare così perchè la VM pesa 230GB e fare backup e ripristino comporterebbe troppo tempo e soprattutto tenerla spenta per troppo tempo (ebbene si non posso evitare di spegnerla per molto perchè stiamo parlando di un Mail Server) per cui il pensiero di fare qualcosa “a caldo” o quasi è balenato nella mia testa e quella del mio amico Frank

Vi risparmio le prove fatte e vi do già il metodo funzionante.

Creiamo sul server 2 una VM con le stesse caratteristiche di quella che dobbiamo spostare così da allocare i dischi nel LVM.

Andiamo su server 1 e con il comando lvdisplay identifichiamo i dischi da spostare:

— Logical volume —
LV Path /dev/vg0/vm-106-disk-1
LV Name vm-106-disk-1
VG Name vg0
LV UUID xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
LV Write Access read/write
LV Status available
# open 0
LV Size 100,00 GiB
….

— Logical volume —
LV Path /dev/vg0/vm-106-disk-2
LV Name vm-106-disk-2
VG Name vg0
LV UUID xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
LV Write Access read/write
LV Status available
# open 0
LV Size 130,00 GiB
….

Questi sono gli LVM da copiare sul server 2. Procediamo per prima cosa spegnendo la VM sul server 1 e poi, sempre dal server 1:

root@server1:~# dd if=/dev/vg0/vm-106-disk-1 bs=4096 | ssh root@server2 'dd of=/dev/vg0/vm-110-disk-1  bs=4096'
 
root@server1:~# dd if=/dev/vg0/vm-106-disk-2 bs=4096 | ssh root@server2 'dd of=/dev/vg0/vm-110-disk-2  bs=4096'

Se i due server si trovano sulla stessa rete la copia sarà molto più veloce del previsto e soprattutto molto più veloce che effettuare un backup+ripristino da Proxmox.

Può succedere però che, una volta finita la copia, sul server 2 la VM non parta per questo errore:

file system may not support O_DIRECT

Questo può accadere se i Proxmox dei due server sono diversi o se c’erano configurazioni particolari dietro.

La soluzione è semplice, basta mettere la cache del disco in write-through come in figura:

Fatemi sapere se avete altre soluzioni migliori di questa o alternative!

E mi raccomando, prima di provare queste cose assicuratevi di avere sempre un backup a portata di mouse!

Enjoy!

 

 

Info Paolo Daniele

Ingegnere delle Telecomunicazioni, appassionato di informatica fin da piccolo ho trasformato la passione in lavoro. Con il PHP faccio tutto (o quasi...) ma non disprezzo altri linguaggi all'occorrenza. Se vi piace il mio sito, o vi è utile, o vi sto simpatico, offritemi una birra!

Ti potrebbe interessare

Installare SQL Server su Ubuntu

Ciao Ragazzi, oggi vi parlo di come installare SQL Server 2017 su Ubuntu. L’installazione è …

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *