Upgrading XenServer 7.1 to 7.3 via 7.2

It’s winter break, giving me time to bring systems down for their much needed maintenance. One of my tasks was to upgrade our XenServers. They’re not joined to the same pool for historical reasons. One of them is close to 8 years old, the other one is fairly new. For the first server I chose to reboot into the hypervisor after upgrading to 7.2, before upgrading to 7.3. A wise choice. Just for the fun of it, I chose not to reboot into the hypervisor on the second server between 7.2 and 7.3. This left me with the choice of restoring the old 7.1 version or performing a clean reinstall of 7.3. Neither option was inviting, so I had to reboot into the hypervisor prior to upgrading to 7.3. Lesson learned.


The irony of this story is that XenServer 7.4 was released two days ago. Luckily, I can use the new update feature and save me a trip to the server room.

Upgrading XenServer 6.2

  1. Download the required updates.
  2. Extract the XS*.xsupdate files.
  3. Transfer the XS*.xsupdate files to, say, /tmp/xsup on the master.
  4. Login on the XenServer console.
  5. Delete old log files in /var/log, e.g. /bin/rm /var/log/*.gz.
  6. Create if necessary, and change directory to /tmp/xsup.
  7. Run:
    uuidlist=`for f in XS*; do xe patch-upload file-name=$f; done`
  8. Run:
    for u in $uuidlist; do xe patch-pool-apply uuid=$u; done
  9. Delete the XS*.xsupdate files from /tmp/xsup.
  10. Shutdown the running VMs and restart each node.

If you want to free some disk space by removing old patches, try:

for p in `xe patch-list --minimal | tr , ' '`; do xe patch-destroy uuid=$p; done

Note, this will also remove any pending or unapplied patches.

Also, make sure you give XenServer more than 4 GiB of disk space to dom0 when installing the system, preferably 8 GiB or even 10 GiB.

Making a FreeBSD/amd64 XENHVM kernel boot on XenServer 6.2.0

See http://lists.freebsd.org/pipermail/freebsd-xen/2013-August/001681.html and http://lists.freebsd.org/pipermail/freebsd-xen/2013-August/001683.html.

[R]emove [the] DVD device from [the] problem[atic] virtual machine:
# xe vm-list params=uuid name-label="<your-vm-name>"
# xe vbd-list empty=true params=uuid vm-uuid=<your-vm-UUID>
# xe vbd-destroy uuid=<vbd-UUID>

I can confirm the above steps really makes a FreeBSD stable/9 amd64 XENHVM kernel tick on XenServer 6.2.0.

stable/10 and head works out of the box without the need of removing the DVD drive. Yay!

Just remember to install the two ports sysutils/xen-tools and sysutils/xe-guest-utilities, and adding xenguest_enable="YES" to the /etc/rc.conf file.