cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Kazunori INOUE <inouekazu@intellilink.co.jp>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [fence-virt PATCH] backend plugin for monitoring a host's status
Date: Mon, 31 Oct 2011 17:19:57 +0900	[thread overview]
Message-ID: <4EAE5A2D.60606@intellilink.co.jp> (raw)
In-Reply-To: <4EA763D9.8080105@redhat.com>

Hi, Lon

(2011/10/26 10:35), Lon Hohberger wrote:
> On 10/05/2011 04:56 AM, Kazunori INOUE wrote:
>> Hi all,
>>
>> I think that the communication function of fence-virt is flexible,
>> so I want to use it more effectively.
>>
>> Therefore I made backend plugin for a guest to get the host's status
>> using the communication facility of fence-virt,
>> and I changed to allow specifying one more backend (for fencing, and
>> replying the host's status).
>>
>> I created the backend "pm-monitor" which has met the following
>> configurations / requirements.
>> - Both hosts and VMs, cluster (Pacemaker) have been configured.
>>
>> Here's an overview of function. Please refer to attached 'overview.png'.
>> (*) pingd resource notifies the status of connection with a specific
>>       host to pacemaker, and pacemaker manages the result.
>> (1) resource (vm-client) which requires the host's status is executed.
>> (2) vm-client requests 'host_status (result of pingd)' to the host
>>       with fence_virt.
>> (3) use the serial listener,
>> (4) fence_virtd (pm-monitor backend) gets the 'result of pingd' from
>>       pacemaker and answers it after conversion.
>>       - the conversion rule is set in /etc/pm-monitor.conf
> 
> Originally, the devstatus callback was supposed to be what provided the
> answer to the question "is my fencing [device|host] operational?" - but
> your patch is more than that, it looks like a generalized way to do
> arbitrary request/response pacemaker resource monitoring from within VMs.
> 
> That kind of monitoring is interesting.
> 
>> Here's a description of the attached files.
>> * add_general_backend.patch
>>     - add the server/pm-fence.c
>>     - change the configure.in and server/Makefile.in
> 
> I think I understand how it operates; your explanation is very detailed.
> 
> * I don't quite understand all of the benefits.  Presumably, one uses
> the serial configuration to prevent guests/hosts from sharing the same
> networks - i.e., it's designed for environments where guests and hosts
> are not allowed to talk over the network to each other.  So, presumably,
> we're using this to indirectly monitor an IP on the host network, using
> fence-virt as a bridge.  What I don't understand is the benefit to the
> virtual machine cluster in doing this.
> 
> * Do you see other uses besides monitoring pingd sets?
> 
Yes, VM can get the status of host's hardware (status of disk, status
of CPU, etc.) if the following RAs are running on the host.
 - HealthCPU
 - SysInfo
 - diskd (disk monitor RA - published only in Japanese community.
          http://hg.sourceforge.jp/view/linux-ha/pm_diskd/)

Since such RA writes status of hardware into the CIB(*), vm-client can
specify the attribute and can get it's value.
(*) example of the CIB
    # cibadmin -Q
    <cib>
      <status>
        <node_state ...>
          <transient_attributes ...>
            <instance_attributes ...>
              <nvpair id="..." name="default_ping_set" value="100"/>
              <nvpair id="..." name="#health-cpu" value="green"/>
              <nvpair id="..." name="diskd" value="normal"/>
                :

Our final purpose is to get the status of host's hardware who cannot
perform acquisition directly from a guest by this way.

> * It may be that this new project may be a better "backbone" for this
> sort of general request/response than fence-virt; it's a much more
> general communications medium for guest<->host communication:
> 
>      http://git.fedorahosted.org/git/?p=vios-proxy.git
> 
> (although it is written in C++ ;) ).
> 
OK, thank you. We will also see it.

> 
> Notes about the patch itself:
> 
>   * no support for multicast listener (this looks intentional -
>     is it?)
> 
Yes. This patch is only support for serial listener.

Best Regards,
Kazunori INOUE

>   * this will break on-wire compatibility; we need to be very careful
>     here.
> 
>   * some duplicate build system changes with the other
>     patch (not a big deal)
> 
>   * [not directly related to your patch] the vmchannel/serial support
>     in fence-virt probably should be replaced with more recent
>     technology in libvirt
> 
> -- Lon



      reply	other threads:[~2011-10-31  8:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-05  8:56 [Cluster-devel] [fence-virt PATCH] backend plugin for monitoring a host's status Kazunori INOUE
2011-10-12  1:40 ` Andrew Beekhof
2011-10-13  8:52   ` Kazunori INOUE
2011-10-13 23:18     ` Andrew Beekhof
2011-10-26  1:35 ` Lon Hohberger
2011-10-31  8:19   ` Kazunori INOUE [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EAE5A2D.60606@intellilink.co.jp \
    --to=inouekazu@intellilink.co.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).