====== 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= 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: - Install all other Windows Updates and reboot - Then install Citrix PV driver update and reboot - 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 -u root -pw 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 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= :!: 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= 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= 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