User Tools

Site Tools


virtualization:xenserver:xenserver_updates

Xenserver Updates

:!: If you have Xen Orchestra: https://xen-orchestra.com/blog/xcp-ng-updates-from-xen-orchestra/

:!: If you have XCP-NG: https://github.com/xcp-ng/xcp/wiki/Upgrade-Howto

:!: Upgrade XenServer to XCP-NG: https://github.com/xcp-ng/xcp/wiki/Upgrade-from-XenServer

  • Version upgrades are done with the Rolling Pool Upgrade tool within XenCenter
  • Command line updates are more reliable and faster
  • Updates to the pool master are applied pool-wide
    • Be sure to reboot hosts if needed after updates, again starting with the pool master

Download Updates: https://support.citrix.com/article/CTX138115

:!: The XenServer Dom0 disk space is limited and easy to fill up. You should clean out any unnecessary files before, during and after updates to keep from filling the disk. For example, on a large update like a Service Pack, you might want to just install the Service Pack, delete any unneeded files, then proceed with any other updates.

Updating VMs

:!: Updating VMs: https://docs.citrix.com/en-us/xenserver/7-1/vms/update.html

  • Enable Windows Update tools for PV drivers from Windows Update
    • Xen Orchestra VM Advanced settings, or
    • xe vm-param-set uuid=<VM-UUID> has-vendor-device=true
Do not install Citrix PV driver update at the same time as other Windows Updates!
Perform Citrix PV driver updates from the XenAdmin (XenCenter) VM console.

When updating a Windows VM:

  1. Install all other Windows Updates and reboot
  2. Then install Citrix PV driver update and reboot
  3. Finally, log into the Windows VM as the same (admin) user and initiate a second reboot

Show Installed Updates on a XenServer

xe patch-list |grep name-label |sort

xe update-list -s <server> -u root -pw <password> name-label=XS72E016

Install Updates

:!: As of XenServer 7.0, we use XenCenter to do the updates.

:!: Do not install XenServer 7.3 due to limitations, one of which is “Maximum Pool Size Restricted To 3 Hosts”.

XenServer 7.2

  • Hotfix XS72E016
    • Includes XS72E001, XS72E004, XS72E006, XS72E008, XS72E009, XS72E012, XS72E013, XS72E015

Manual Updates

wget --no-check-certificate --limit-rate=500k -O XSxxxxxxxxx.zip <URL>

for x in XS*.zip; do unzip $x; done

for x in *.xsupdate; do xe patch-upload file-name=$x; done

Then install the updates one at a time, in order, using the UUID's printed by the last command:

xe patch-pool-apply uuid=<uuid-of-update>

:!: You can use xe patch-list | more to show more patch details such as UUIDs, names and reboot recommendations.

Migrate any running VMs off of the Pool Master:

xe vm-migrate vm=<vm-name> host=<pool-member-host>

:!: If the pool is HA enabled, you will have to disable HA, reboot the pool master, then reboot the pool member servers one by one after the pool master comes back up. Finally, re-enable HA.

:!: Don't put the Pool Master in Maintenance Mode unless you want to designate another member server as Pool Master.

xe pool-ha-disable
xe pool-designate-new-master host-uuid=<UUID>
xe pool-ha-enable

Then restart XAPI or reboot the XenServer host as necessary:

xe-toolstack-restart

or

reboot

Multiple XenServers

For a single XenServer, the above commands would suffice when run from the commmand line of the XenServer.

To update multiple XenServers, you would download the updates once, then push them to multiple servers by running additional commands specifying server/user/password on the 'xe patch-upload' and 'xe patch-pool-apply' commands.

Patch Cleanup

First, we delete all the downloaded stuff (everything in /root):

cd ~
rm -rf *

Then, to clean patches pool-wide we run:

for i in `xe patch-list --minimal|tr "," " "`;do xe patch-pool-clean uuid=$i;done
virtualization/xenserver/xenserver_updates.txt · Last modified: 2020/03/15 09:35 by gcooper