When an application has been made cloud-aware and it can tolerate single VM failure, availability can be further improved by placing VMs in different parts of the data centres.
An availability zone is a way in which the user can specify a particular “location” in which a host should boot. The most common usage for availability zones is to group together servers in terms of availability but other features could be external network connectivity or redundant power. When a nova boot command is issued, an availability zone can be provided to specify which zone to start the VM in.
The existing availability zones for VMs can be found running:
$ openstack availability zone list --compute +---------------+-------------+ | Zone Name | Zone Status | +---------------+-------------+ | cern-geneva-c | available | | cern-geneva-b | available | | cern-geneva-a | available | +---------------+-------------+
Each of these zones have different local network switch and power inputs. Thus a failure in an individual hardware component of the cern-geneva-a (such as a server, a network swich, a power distribution unit in a rack, ...) should not affect VMs running in cern-geneva-b.
To create a VM in a particular availability zone, this should be specified at VM creation time:
$ openstack server create --availability-zone cern-geneva-a ...
An additional availability zone called
none is used where dedicated servers and special configurations are used.