xenserver ha improvements

Post on 15-Jul-2015

483 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

XenServer HA Improvements

Geoff HigginbottomCTO ShapeBlue

geoff.higginbottom@shapeblue.comTwitter: @CloudStackGuru

Cloud Architect & ShapeBlue CTO

Specialise in….

Designing & Building Clouds based on Apache CloudStack / Citrix CloudPlatform

Developing CloudStack training

Blogging and sharing CloudStack knowledge

Involved with CloudStack before donation to Apache

Designed Clouds for Cloudera, Everyware, SunGard, Ascenty, BskyB, Trader Media, M5 Hosting, Team Cymru, Interoute, University of Pennsylvania.…

CloudStack Committer

Who Am I?

How does VM HA work in CloudStack?

VMware – vCenter handles it

XenServer, KVM – CloudStack handles it

Hyper-V – Not currently supported

CloudStack VM HA

Hotfix XS62ESP1004 (and XenServer 6.5.0)

Improved mechanism for detecting a failed Host and electing a new Pool Master

Requires Pool HA to be enabled

Prior to XS62ESP1004, correct procedure was to not enable HA on the XenServer Pool when using with CloudStack

So What's the Problem?

If you dot not setup Pool HA a new Pool Master will NOT be elected in the event of a Pool Master failure

All Hosts in the Cluster will go offline

CloudStack will not trigger VM HA, and will report all VMs as still running

No control of VMs in the affected Cluster

So What's the Problem?

Configure Pool HA but only for the Pool Master and not for VMs

How? Create and mount new SR – must not be used for VMs

Enable Pool HA via UI

XE Commands

Script it

Resolution

Use the UI…

Use the UI…

Use the UI…

Use the UI…

Set ‘Failures tolerated’ to Zero

Use the UI…

Use the UI…

Note: It may take two minutes to enable

HA Enabled

Run following two commands to enable Pool HA

xe sr-list name-label=<SR NAME> --minimal (to get the SR ID)

xe pool-ha-enable heartbeat-sr-uuids=<SR ID>

XE Commands

You will need to disable and re-enable Pool HA as some point in the future, so in true DevOps tradition, if you do it more than once, script it

Create a script called enable-ha.sh on any XenServer and populate with the following :

#!/bin/bash

MGMTHAUUID=`xe sr-list name-label=MGMT-HA --minimal`

xe pool-ha-enable heartbeat-sr-uuids=$MGMTHAUUID

echo "Pool HA is now enabled"

Note the script assumes the SR is called ‘MGMT-HA’

Script it…

To perform a controlled restart of a Pool Master Host: Place into Maintenance Mode within CloudStack

Disable Pool HA

Place the Host into Maintenance Mode with XenCenter to force the promotion of a Slave to Pool Master

Restart the Host

Once Host has fully booted and is online in XenCenter re-enable Pool HA

Exit Maintenance Mode in XenCenter

Exit Maintenance Mode in CloudStack

Managing HA Enabled Pools

top related