30 March 2014

Updating Citrix XenServer 6.2

Intro
XenServer is a great Enterprise class virtual host which I have been recommending to people after trialling it myself. It has the advantage of being a light bare bones Linux install. It is administered via SSH or a Windows GUI (XenCenter). Citrix have said they will not release a non-windows admin tool which is a shame.

Since version 6.20 have seen fit to change their model for updates. They can no longer be installed via the GUI for the free version, but it is possible via CLI. In XenCenter (the Windows admin tool). In my opinion there are a couple of problems with this:
  1. Many online sources and even their own free license email point to installing free licenses via Tools/License Manager. However you can no longer add the free license: the button is greyed out or disappears depending on if the server is selected or not. The GUI doesn't explain this which makes for a frustrating experience unless you've read all the release notes (we all do that right?).
  2. The Tools/Update Manager presents a list of servers to apply updates to, but unlicensed servers are simply presented as grey, with no explanation of why they are unavailable.
If the focus is for Windows based users, then I feel they need to address this lack of feedback. Personally I also feel the product ought to just work out of the box for a limited period.

How am I supposed to persuade a Windows virtual host administrator to switch to a Linux based VH with patchy GUI coverage? It just ain't gunna happen.

Attempting to Apply Updates to XenServer v6.2

This is now the path to updates to XenServer free since version 6.2:
  1. On a Windows machine, browse to XenServer IP address and install XenCenter (it only runs on Windows)
  2. See the update alerts top right.
  3. Click on the web address and download the update(s).
  4. Extract them (or this can be done later on the Linux CLI via unzip)
  5. Try to install the updates via the GUI:
    1. Go to Tools/Install Update, select the update and find you're unable to select the select server (no explanation as to why). 
    2. Assume you're doing something wrong, get frustrated and Google it.
    3. Realise you haven't installed a license (as per previous versions) and request one.
  6. Attempt to install a free license, following the instructions in the email that gets sent to you:
    1. "Select the desired XenServer host and press the Activate Free XenServer button selecting Apply Activation Key"
    2. Notice the button greyed out or disappear as you select your server.
    3. Get annoyed

Updates to XenServer v6.2 free are now only possible via CLI

  1. Download Putty or another ssh client and log into the server.
  2. Copy the already downloaded updates to the server e.g.
    scp /Users/<username>/Downloads/XS62E001/XS62E001.xsupdate root@<XenServer hostname or IP>:/tmp/
  3. Follow the instructions to install it on the server:
    xe patch-upload -s <XenServer IP> -u root -pw <password> file-name=/tmp/XS62E001.xsupdate
  4. Note the GUID e.g.
    dedcc0dd-d8f3-4f76-78qk-92697c7a44f0
  5. Apply the hotfix to the server e.g.
    xe -s <hostname> -u root -pw <password> patch-pool-apply uuid=dedcc0dd-d8f3-4f76-78qk-92697c7a44f0
  6. Ensure it was applied:
    xe patch-list -s <XenServer IP> -u root -pw <password> name-label=XS62ESP1
    or in the GUI via XenCenter, select server, General tab and Updates section.
I understand they need to get people to buy licenses, I really do... but I don't believe making patchy GUIs with partial functionality is the best way to go about it.

UPDATE

Thanks to diogo miranda for this script that will handle it automatically:
  1. Change to the folder where you want to install it e.g.
    mkdir xeer1update
    cd xeer1update
  2. Run the following on the server to install it:
    wget https://raw.githubusercontent.com/Coultard/XenServer-Patcher-bash/master/xeer1update.sh --no-check-certificate
    chmod +x xeer1update.sh
    bash xeer1update.sh
You could add this to Crontab to semi-automate it... you'll need to checkin and ensure what the output is.
  1. crontab -e
  2. paste i n:
    00 00,18 * * * ./root/xeer1update/xeer1update.sh
  3. Restart cron:
    /sbin/service crond restart
xe-toolstack-restart will restart the toolstack on all hosts.

You may run out of disk space so see my separate post on that.

No comments:

Post a Comment