comandi generici per la gestione delle macchine virtuali con l'utilizzo di xen-tools e dei comandi xm di XEN server.

Si può accedere in modalità grafica ai tools grafici offerti dalla macchina che ospita xen server:

ssh -Y -l root mysqltest2

per lanciare ConVirt

[root@mysqltest2 ~]# ./convirt-0.9.6/ConVirt

per lanciare virt manager:

[root@mysqltest2 ~]# virt-manager

per lanciare lvm manager:

[root@mysqltest2 ~]# /usr/bin/system-config-lvm

con quest'ultimo tool possiamo creare i volume groups e le partizioni logiche che andremo ad utilizzare per le nostre vm.

Abbiamo 3 possibilità, per quanto riguarda la creazione del disco della nostra vm:
  • immagine disco su file (disk.img)
    • molto versatile e facilmente configurabile
    • è possibile spostare l'intera macchina virtuale copiando e incollando l'immagine disco e il file di configurazione ( per convenzione verrà messo sempre in /etc/xen/ )
    • le prestazioni sono degradate
  • utilizzare un disco fisico o una sua partizione
    • massime prestazioni
    • problemi nella copia di vm
    • uso del comando dd
  • utilizzare un disco logico su LVM
    • versatilità per quanto riguarda l'estensione del disco
    • uso del comando dd
    • prestazioni vicine a quelle che si hanno nell'utilizzo del disco fisico
  • ultima… tutte queste cose possono risiedere in locale o essere remote:
    • SAN
    • NFS
    • iSCSI

Creazione di una VM con disco su file utilizzando, per l'installazione, immagini iso montate in loop come cdrom:
Creazione di una VM con disco lvm con xen-strap:
  1. creare la partizione logica (non ancora formattata)
  2. digitare il seguente comando:
      • ./xen-strap --name=sl45 --ip=193.205.73.225 -y -f -b sl45 lvm:/dev/xentest/sl45 --url=ftp://ftp.scientificlinux.org/linux/scientific/45/i386/SL/RPMS/
  3. avviare la macchina virtuale con il seguente comando:
      • xm create /etc/xen/sl45.cfg -c

Cli Live Migration

different Pool
xe vm-migrate vm=VM_name live=true remote-master=IP_Addr remote-username=root remote-password='password'

same Pool
xe vm-migrate vm=VM_name host=xenhostXXX live=true

Due to bug on XS6.5 xen motion doesn't appear in contest menu.

Xen VM-migrate continue to work using this cli-command:

example to move submit1 (on xenhost118) to xenhost112 (Master Pool)
[root@xenhost118 ~]# xe vdi-list name-label=submit1-disk 
uuid ( RO) : 2ba4e7e3-1146-4113-978a-11199e5cd15f
name-label ( RW): submit1-disk
name-description ( RW): submit1-disk ( da condorcl1-disk )
sr-uuid ( RO): 5a2b9532-cbfe-fe1f-116a-441f46793120
virtual-size ( RO): 32212254720
sharable ( RO): false
read-only ( RO): false
xe vm-migrate vm=submit1  host=xenhost112 remote-master=10.100.200.112 remote-username=root remote-password='password' vdi:2ba4e7e3-1146-4113-978a-11199e5cd15f=5a2b9532-cbfe-fe1f-116a-441f46793120 live=true

https://support.citrix.com/article/CTX213656

Come trasferire VM pesanti:

comandi generici per la gestione delle macchine virtuali con l'utilizzo di xen-tools e dei comandi xm di XEN server.

Si può accedere in modalità grafica ai tools grafici offerti dalla macchina che ospita xen server:

ssh -Y -l root mysqltest2

per lanciare ConVirt

[root@mysqltest2 ~]# ./convirt-0.9.6/ConVirt

per lanciare virt manager:

[root@mysqltest2 ~]# virt-manager

per lanciare lvm manager:

[root@mysqltest2 ~]# /usr/bin/system-config-lvm

con quest'ultimo tool possiamo creare i volume groups e le partizioni logiche che andremo ad utilizzare per le nostre vm.

Abbiamo 3 possibilità, per quanto riguarda la creazione del disco della nostra vm:
  • immagine disco su file (disk.img)
    • molto versatile e facilmente configurabile
    • è possibile spostare l'intera macchina virtuale copiando e incollando l'immagine disco e il file di configurazione ( per convenzione verrà messo sempre in /etc/xen/ )
    • le prestazioni sono degradate
  • utilizzare un disco fisico o una sua partizione
    • massime prestazioni
    • problemi nella copia di vm
    • uso del comando dd
  • utilizzare un disco logico su LVM
    • versatilità per quanto riguarda l'estensione del disco
    • uso del comando dd
    • prestazioni vicine a quelle che si hanno nell'utilizzo del disco fisico
  • ultima… tutte queste cose possono risiedere in locale o essere remote:
    • SAN
    • NFS
    • iSCSI

Creazione di una VM con disco su file utilizzando, per l'installazione, immagini iso montate in loop come cdrom:
Creazione di una VM con disco lvm con xen-strap:
  1. creare la partizione logica (non ancora formattata)
  2. digitare il seguente comando:
      • ./xen-strap --name=sl45 --ip=193.205.73.225 -y -f -b sl45 lvm:/dev/xentest/sl45 --url=ftp://ftp.scientificlinux.org/linux/scientific/45/i386/SL/RPMS/
  3. avviare la macchina virtuale con il seguente comando:
      • xm create /etc/xen/sl45.cfg -c

Cli Live Migration

different Pool
xe vm-migrate vm=VM_name live=true remote-master=IP_Addr remote-username=root remote-password='password'

same Pool
xe vm-migrate vm=VM_name host=xenhostXXX live=true

Due to bug on XS6.5 xen motion doesn't appear in contest menu.

Xen VM-migrate continue to work using this cli-command:

example to move submit1 (on xenhost118) to xenhost112 (Master Pool)
[root@xenhost118 ~]# xe vdi-list name-label=submit1-disk 
uuid ( RO) : 2ba4e7e3-1146-4113-978a-11199e5cd15f
name-label ( RW): submit1-disk
name-description ( RW): submit1-disk ( da condorcl1-disk )
sr-uuid ( RO): 5a2b9532-cbfe-fe1f-116a-441f46793120
virtual-size ( RO): 32212254720
sharable ( RO): false
read-only ( RO): false
xe vm-migrate vm=submit1  host=xenhost112 remote-master=10.100.200.112 remote-username=root remote-password='password' vdi:2ba4e7e3-1146-4113-978a-11199e5cd15f=5a2b9532-cbfe-fe1f-116a-441f46793120 live=true

https://support.citrix.com/article/CTX213656

TRANSFER VMS BETWEEN XENSERVER POOLS

JUNE 16, 2016 NICHOLAS 7 COMMENTS

When Xenserver 7 came out I found myself unable to easily upgrade to it thanks to my custom RAID 1 build. If I wanted Xenserver 7 I would have to blow the whole instance away and start from scratch. This posed a problem because I have a pool of 2 xenserver hosts. You cannot add a server with a higher xenserver version to a lower versioned pool; the pool master must always have the highest version of Xenserver installed. My decision to have an mdadm RAID 1 setup on my pool master ultimately turned into forced VM downtime for an upgrade despite having a pool of other xenserver hosts.

After transferring VMs to my secondary host and promoting it to pool master, I wiped my primary xenserver and installed 7. When it was up and running I essentially had two separate pools running. To transfer my VMs back to my primary server I had to resort to the command line.

Offline VM transfer

The xe vm-export and vm-import commands work with stdin/out and piping. This is how I accomplished transferring my VMs directly between two pools. Simply pipe xe vm-export commands with an ssh xe vm-import command like so:

xe vm-export uuid=<VM_UUID> filename= | ssh <other_server> xe vm-import filename=/dev/stdin

Note the lack of a filename – this instructs xenserver to pipe to standard output instead. Also note that transferring the VM scrambles the MAC addresses of its interfaces. If you want to keep the MAC address you’ll have to manually re-assign it after the copy is complete.

Minimal downtime

For the method above you will have to turn the VM off in order to transfer it. I had some VMs that I didn’t want to stay down for the entire transfer. A way around this is to take a snapshot of the VM and then copy the snapshot to the other pool. Note that this method does not retain any changes made inside the VM that occurred after you took the snapshot. You will have to manually transfer any file changes that took place during the VM transfer (or be fine with losing them.)

In order to export a snapshot you must first convert it to a VM from a template (thanks to this site for outlining how.) The full procedure is as follows:
  1. Take a snapshot of the VM you want to move
    xe vm-snapshot uuid=<VM_UUID> new-name-label=<snapshotname>
  2. Convert the snashot template to a VM (the command xe snapshot-list is a handy way to obtain UUIDs of your snapshots)
    xe template-param-set is-a-template=false ha-always-run=false uuid=<UUID of snapshot>
  3. Transfer the template to the new pool
    xe vm-export uuid=<UUID of snapshot> filename= | ssh <other_server> xe vm-import filename=/dev/stdin
  4. Rename VM and/or modify interface MAC addresses as needed on the new host. Stop the VM on the old host and start it on the new one.
I used both methods above to successfully move my VMs from my older 6.5 pool to the newer 7 pool. Success.

"The VDI is not available"

During a Reboot of a VM at some unavoidable circumstances, the Startup logs might end up with “VDI not available” error. Follow the below steps to fix this:

Determine the UUID of the Storage Repository and the VDI that’s exhibiting the issue (we can either get this from xencenter or by using xe sr-list name-lable= ”name of the SR” and xe vdi-list sr-uuid = ”UUID obtained from the previous command”)

Run xe vdi-forget uuid = <vdi_uuid>

Now you could not see the Disk in the corresponding SR.

Make a “Scan” again and you will see the VDI sitting on the SR.

Reattach the VDI to your VM of choice and the VM will bootup fine.

Finally we fixed VDI not available error in XenServer.
Topic revision: r3 - 02 Oct 2021, Dibiase
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Wiki_Virgo_LSC? Send feedback