Cleaning up Old XenServer Patches The Easy (Lazy) Way

Cleaning up patches on XenServer isn’t difficult but it can be annoying if you have a large number of hosts. Here’s the easy way to clean up your old patch files on all hosts….if you’re an extra lazy Linux admin you can use tmux to do this to all of them at the same time 🙂

for i in `xe patch-list | grep uuid | awk '{print $5}'` ; do xe patch-clean uuid=$i ; done

I’ve been wrapping up some large projects on the work front and several audio/music related projects so apologies for not posting here for a while. I have lots of good stuff coming down the pipe in the near future!

Convert KVM VMs to Citrix XenServer

Attach External Hard Drive or External Storage

For the purposes of this task you will want to attach some sort of removable storage. An easy way to determine what the device the storage shows as run the following before attaching the storage:

blkid

make note of the last /dev/sd# device you see. Now plugin your external storage and run the same command, you should see a new entry there that should be your path you will want to use in the next step (ex: /dev/sdd1)

 

Next we will mount the external storage to /mnt

mount /dev/sdd1 /mnt

 

List the LV Info

On the KVM host you wish to copy the VM from list the lv information

lvdisplay

You should see a path like /dev/KVM/vmname.

Convert Raw LVM to VHD

Using the qemu-img utility you will need to run the following:

qemu-img convert -O vpc /dev/vg_name/lv_name /mnt/vmname

You can also convert to other formats as listed belelow:

Disk Format
QEMU -O Argument
Disk Format
QEMU -O Argument
qcow2 (Xen/KVM) qcow2
QED (KVM) qed
raw raw
VDI (vbox) vdi
VHD (Hyper-V/Citrix Xen) vpc
VMDK (VMWare/eSXI) vmdk

Once the disk is converted and on your external storage you will want to exit the /mnt directory and unmount

cd /
umount /mnt

 

Import to Citrix XenServer

Attach the external drive and mount it similarly to how you did in step 1, however you will need to check and see what device this shows up as, it will likely be /dev/sdb1. Mount this to the /mnt location.

 

Next we will need to identify the UUID of the storage repository in Xen we are going to use by UUID:

xe sr-list

Using the UUID from above create a global variable using the following:

RESTORE=$(xe vdi-create sr-uuid=<UUID of SR from above> name-label=<vmname> virtual-size=<size of drive +1 gb>GiB)

This will create an object named restore in your storage repository. Next we will want to import the VHD

xe vdi-import filename=/mnt/<vmanme> format=vhd --progress uuid=$RESTORE

Once the import completes you will want to create a new VM in Xen but not start it. After the VM creates you will want to remove the delete the hard drive associated with the VM on the storage tab. Once you do this click “attach disk” and select the disk you imported. Once this is attached you can start the VM and you should be good to go. Note on Windows systems and some linux systems you may need to update the network settings. Once this is done install Guest Tools, reboot and you’re all set.

Upgrading Citrix XenServer 6.x to 7

I know it’s been a little bit, I intended to blog about this a month ago but life and work sometimes get busy. Nonetheless here goes!  I know it’s been a little bit, I intended to blog about this a month ago but life and work sometimes get busy. Nonetheless here goes!

 

Step 1: Install Citrix XenCenter 7

Before you begin the upgrade process it’s crucial to install the new version of Citrix XenCenter as you will not be able to connect to or manage hosts post upgrade with the old client, however the new XenCenter client is backwards compatible. Both the XenCenter installer and XenServer ISO are available for download at the following link here. During the install of the client, the old XenCenter will be automatically removed and replaced by the new one.

 

Step 2: Start Pool Upgrade

If you are running a standalone XenServer host, the process is quite simple, you can skip the next paragraph as the steps will pertain to a multi-node Citrix XenServer pool.

When performing upgrades to a XenServer pool you will want to start by upgrading the pool master first. There are 2 options when performing the upgrade, you can choose to have the upgrade automatically move through the pool a host at a time, or you can choose to manually upgrade each host. For the purposes of this article I will cover the steps for the manual upgrade as most Xen admins will take the conservative approach that will give them the most control during the upgrade process. Citrix recommends backing up the pool database which can be accomplished by running xe pool-dump-database. You will want to live migrate or shutdown all running VMs on the given host you are about to upgrad.

Next we will choose the Tools menu and select Rolling Pool upgrade, and follow the steps in the wizard selecting the manual upgrade mode. You can then connect the ISO to the host via virtual media to the LOM/OOB interface (iDrac for Dell) or burn the ISO to disk for XenServer7 and insert the CD and connect to the host with a monitor and keyboard. Your server will reboot and you will need to choose the boot option to boot from disk or virtual media.

 

Step 3: Installing XenServer 7 on the Host

Upon booting from the disk you will be greeted by the screen shown below, press enter and continue.

boot from disk

You will be prompted to select your keymap, choose the relevant one for your language and keyboard type then press enter:

Screenshot from 2016-07-27 21-09-27

Select OK and press enter on the next screen to start the upgrade process:

Screenshot from 2016-07-27 21-09-43

Choose to accept the EULA and press enter:

Screenshot from 2016-07-27 21-10-13

Choose to upgrade from the existing XenServer and select OK:

Screenshot from 2016-07-27 21-10-25

Next you will receive a notice that the installer will collect a backup of your current installation, go ahead and continue:

Screenshot from 2016-07-27 21-10-49

Next we will need to choose the location of our installer, if you are using virtual media or burned a CD/DVD choose local media:

Screenshot from 2016-07-27 21-11-02

Next you will be prompted as to whether or not you would like to install any supplemental packs, if you have any that you are currently dependent on you may do so, if not choose no and proceed with the install (supplemental packs can also be installed after the fact)

Screenshot from 2016-07-27 21-11-21

Next we will be asked if we want to verify the installation source, you can safely skip this or if you’d like you can choose to verify (if you are using a method other than local install you should verify the install source):

Screenshot from 2016-07-27 21-11-35

Next the moment we’ve all been waiting for, choose install XenServer and go get a cup of coffee, this will take 10-15 minutes to complete.

Screenshot from 2016-07-27 21-11-50

Once this is complete your host has been fully upgraded and you should be able to see and manage it within XenCenter. If this is a standalone XenServer you are done upgrading hosts. If you are using a XenServer pool you will need to rinse and repeat this action across the other hosts in the pool.

Step 4: Update XenServer Tools

Once all of your hosts are upgraded you can now perform the XenServer Tools upgrade, this will greatly improve performance on Windows boxes, as Disk IO is not optimized until the new tools are installed and performance may be untenable and/or horrific until this is done. Please note for Windows upgrades it will take at least 2 sometimes 3 reboots for the upgrade to fully complete. For Linux systems you may need a reboot, however there are no performance issues with Linux guests running the same tools as the previous version of XenServer.