From: Lars Marowsky-Bree <lmb@suse.de>
To: Daniel Phillips <phillips@istop.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/7] dlm: overview
Date: Wed, 27 Apr 2005 22:20:09 +0200 [thread overview]
Message-ID: <20050427202009.GE4431@marowsky-bree.de> (raw)
In-Reply-To: <200504271600.57993.phillips@istop.com>
On 2005-04-27T16:00:57, Daniel Phillips <phillips@istop.com> wrote:
> > Questions which need to be settled, or which the API at least needs to
> > export so we know what is expected from us:
> >
> > - How do the node ids look like? Are they sparse integers, continuous
> > ints, uuids, IPv4 or IPv6 address of the 'primary' IP of a node,
> > hostnames...?
> 32 bit integers at the moment. I hope it stays that way.
You have just excluded a certain number of clustering stacks from
working. Or at least required them to maintain translation tables. A
UUID has many nice properties; one of the most important ones being that
it is inherently unique (and thus doesn't require an adminstrator to
assign a node id), and that it also happens to be big enough to hold
anything else you might want to, like the primary IPv6 address of a
node.
We've had that discussion on the OCF list, and I think that was one of
the few really good ones.
> > - How are the communication links configured? How to tell it which
> > interfaces to use for IP, for example?
> CMAN provides a PF_CLUSTER. This facility seems cool, but I haven't got much
> experience with it, and certainly not enough to know if PF_CLUSTER is really
> necessary, or should be put forth as a required component of the common
> infrastructure. It is not clear to me that SCTP can't be used directly,
> perhaps with some library support.
You've missed the point of my question. I did not mean "How does an
application use the cluster comm links", but "How is the kernel
component told which paths/IPs it should use".
> > - How do we actually deliver the membership events - echo "current
> > node list" >/sys/cluster/gfs/membership or...?
> This is rather nice: event messages are delivered over a socket. The
> specific form of the messages sucks somewhat, as do the wrappers
> provided. These need some public pondering.
Again, you've told me how user-space learns about the events. This
wasn't the question; I was asking how user-space tells the kernel about
the membership.
> > - What kind of semantics are expected: Can we deliver the membership
> > events as they come, do we need to introduce suspend/resume barriers
> > etc?
> Suspend/resume barriers take the form of a simple message protocol,
> administered by CMAN.
Not what I asked; see the discussion with David.
> > - How to security credentials play into this, and where are they
> > enforced - so that a user-space app doesn't mess with kernel locks?
> Security? What is that? (Too late for me to win that dinner now...)
> Security is currently provided by restricting socket access to root.
So you'd expect a user-level suid daemon of sorts to wrap around this.
Fair enough.
> Yes. For the next month or two it should be ambitious enough just to ensure
> that the interfaces are simple, sane, and known to satisfy the base
> requirements of everybody with existing cluster code to contribute.
Which is what the above questions were about ;-) heartbeat uses UUIDs
for node identification; we've got a pretty strict security model, and
we do not necessarily use IP as the transport mechanism, and our
membership runs in user-space.
The automagic aspects are the icing on the cake ;-)
> > Or maybe these will be abstracted by user-space wrapper libraries, and
> > everybody does in the kernel what they deem best.
> I _hope_ that we can arrive at a base membership infrastructure that is
> convenient to use either from kernel or user space. User space libraries
> already exist, but with warts of various sizes.
... which is why I asked the above questions: User-space needs to
interface with the kernel to tell it the membership (if the membership
is user-space driven), or retrieve it (if it is kernel driven).
This implies we need to understand the expected semantics of the kernel,
and either standarize them, or have a way for user-space to figure out
which are wanted when interfacing with a particular kernel.
Sincerely,
Lars Marowsky-Brée <lmb@suse.de>
--
High Availability & Clustering
SUSE Labs, Research and Development
SUSE LINUX Products GmbH - A Novell Business
next prev parent reply other threads:[~2005-04-27 20:20 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-25 15:11 [PATCH 0/7] dlm: overview David Teigland
2005-04-25 20:39 ` Wim Coekaerts
2005-04-25 21:09 ` Lars Marowsky-Bree
2005-04-26 5:30 ` Daniel Phillips
2005-04-27 13:56 ` Lars Marowsky-Bree
2005-04-27 20:00 ` Daniel Phillips
2005-04-27 20:20 ` Lars Marowsky-Bree [this message]
2005-04-27 22:38 ` Daniel Phillips
2005-04-28 14:57 ` Lars Marowsky-Bree
2005-04-28 20:53 ` Daniel Phillips
2005-04-29 0:33 ` David Lang
2005-04-29 1:49 ` Bernd Eckenfels
2005-04-29 1:52 ` Daniel Phillips
2005-04-29 17:13 ` David Lang
2005-04-29 20:49 ` Daniel Phillips
2005-05-01 3:57 ` Theodore Ts'o
2005-05-01 4:14 ` David Lang
2005-05-02 11:21 ` Lars Marowsky-Bree
2005-04-28 16:25 ` David Teigland
2005-04-28 16:42 ` Lars Marowsky-Bree
2005-04-29 4:24 ` Daniel Phillips
2005-04-25 21:19 ` Andrew Morton
2005-04-26 5:46 ` David Teigland
2005-04-26 5:39 ` David Teigland
2005-04-26 18:48 ` Mark Fasheh
2005-04-26 22:34 ` Steven Dake
2005-04-27 3:32 ` David Teigland
2005-04-27 13:23 ` Lars Marowsky-Bree
2005-04-27 18:12 ` Mark Fasheh
2005-04-28 14:36 ` Lars Marowsky-Bree
2005-04-28 17:35 ` Mark Fasheh
2005-04-28 12:50 ` Stephen C. Tweedie
2005-04-25 20:52 ` Daniel Phillips
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=20050427202009.GE4431@marowsky-bree.de \
--to=lmb@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=phillips@istop.com \
/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