[Openstack] Host Evacuation support in IceHouse for KVM
Chris Friesen
chris.friesen at windriver.com
Wed Jul 2 14:03:44 UTC 2014
On 07/01/2014 01:30 PM, Ashish Billore1 wrote:
> Hello Everyone,
>
> I am looking for evacuation support in openstack.
>
> From what I could find, there are following two commands:
>
> 1. nova evacuate evacuated_server_name host_b --on-shared-storage
>
> 2. nova host-evacuate command
>
> However, both seem to have some downtime.
Yes, both of these are intended to deal after the fact with a host that
is no longer accessible over the network. If the host is still
accessible then evacuate is not the appropriate operation.
> What I looking for is something like:
>
> 1. Host is put in a state, like maintenance mode, so that no new VMs are
> provisioned on it.
>
> 2. Do a live migration from this source host to any host chosen by the
> scheduler.
>
> This way, there won't be a downtime for the VMs and the host can be
> removed / brought down for maintenance.
>
> Apparently, "nova host-update" --maintenance provides the functionality
> I am looking for, however, it is only supported for Xen and
> unimplemented for KVM due to libvirt limitation.
>
> Is there a way to work it around for KVM ..?
There is nothing built-in (though I'd be in favour of adding something).
You can script it externally as follows:
1) Run "nova service-disable...." to disable the nova-compute service on
the host in question. This will prevent the scheduler from placing new
instances onto the host.
2) Loop over all the instances that are on the host in question, and
trigger live migration for each of them in turn. If one of the
migration fails, you might want to re-enable the service or else leave
it down and flag it for someone to look at.
Chris
More information about the Openstack
mailing list