[Pacemaker] Manging Virtual Machine's resource

Xinwei Hu hxinwei at gmail.com
Tue May 20 23:13:40 EDT 2008


We had a deployment of this kind running for more then a half year.
2 lessons we had so far:

1. Start a "standalone" heartbeat inside VM is the best option so far.
   i.e "ucast lo 127.0.0.1" in ha.cf
   It's the simplest way to have monitoring and restarting inside VM.
2. Manage VMs as Xen resources in a cluster of all dom0.
   However,
   a. VMs might be migrated between dom0s anytime, so set dom0 as a
parameter to STONITH plugin is not ideal in practice. (The same
problem applies to VMware ESX server also.)
   b. VM is a typical example that we'd better support "inheritance"
for RA. VM's RA can only tell whether it's running, but there're
different ways to tell if the OS (Linux, BSD, Windows, Netware) inside
is health.

My .2c

2008/5/19 Andrew Beekhof <beekhof at gmail.com>:
>
> On May 19, 2008, at 7:14 AM, Nitin wrote:
>
>> On Fri, 2008-05-16 at 15:08 +0200, Andrew Beekhof wrote:
>>>
>>> On May 16, 2008, at 3:04 PM, Nitin wrote:
>>>
>>>> Hello,
>>>>
>>>> I would like to make my virtual machines (DomUs) resources to
>>>> participate in the HA cluster. Dom0 (Physical Host) may or may not
>>>> have
>>>> resources.
>>>>
>>>> To do this I would like to treat DomUs as *resource* in the cluster as
>>>> opposed to treating them as *nodes*. I am planning to write OCF
>>>> resource
>>>> agents for virtual machines. But I am not very sure about how to
>>>> make a
>>>> resource's resource to participate in the cluster.
>>>>
>>>> Is there any configuration in existing structure to achieve this??
>>>> If no
>>>> then please tell me how to go about creating a "container" resource in
>>>> CRM.
>>>
>>> Why not just use the Xen agent if you don't want them to be cluster
>>> nodes?
>>> Or do you mean that you want them to both be resources and to run
>>> other resources too?
>>
>> Yes. Please advise me how to go about it.
>> Thanks a lot for reply.
>
> We don't have a clean way to do that yet
>
> Possible options:
> a) start the services at VM boot (you don't get monitoring)
> b) start the services at VM boot and modify the Xen agent to monitor the
> services inside the VM (ugly)
> c) add a proxy resource to start/stop/monitor the services inside the VM
> (complex)
> d) implement a generic version of c)
> e) have the VM join the cluster (makes stonith and quorum "interesting")
> f) wait for us to implement clusters-of-clusters which also solves this
> scenario "for free"
> g) something else i've not thought of
>




More information about the Pacemaker mailing list