From: Martin Fick <mogulguy@yahoo.com>
To: Yehuda Sadeh Weinraub <yehudasa@gmail.com>
Cc: ceph-devel@vger.kernel.org
Subject: Re: Replacing DRBD use with RBD
Date: Wed, 5 May 2010 13:34:08 -0700 (PDT) [thread overview]
Message-ID: <582033.76293.qm@web36101.mail.mud.yahoo.com> (raw)
--- On Wed, 5/5/10, Yehuda Sadeh Weinraub <yehudasa@gmail.com> wrote:
> The problem is that the ceph monitors require a quorum in
> order to decide on the cluster state. The way the system
> works right now, a 2-way monitor setup would be less stable
> than a system with a single monitor since it wouldn't work
> whenever any of the two monitors crashes.
Right, that is indeed not nice. :)
> A possible workaround would be to have a special case for a
> 2-way mon clusters, where it'd require a single mon for
> getting a majority. I'm not sure whether this is actually
> feasible. As usual, the devil is in the details.
Yes. One simple way is to use a ping node. If a node can
reach the ping node, but not its peer, it should be able
to assume "lone operation" and thus effectively degrade to
a single monitor situation temporarily. I guess my question
is, "is this something that the ceph project is
potentially willing to support for OSDs?"
I suspect that also supporting dynamic reconfiguration:
http://en.wikipedia.org/wiki/Paxos_algorithm#Cheap_Paxos
would also help a great deal to make clusters more
adaptable.
> > One suggestion I have would be to do this would be to
> > use some of the same techniques that heartbeat uses to
> > determine whether a node has gone down or if instead there
> > is network segregation: a serial port connection, common
> > ping nodes (such as a router)...
> There is a heartbeat mechanism withing the mon cluster, and
> it's being used for the monitors to keep track of their peer
> status. It might be a good idea to add different configurable
> types of heartbeats.
Yes, specifically, I meant by using some of the techniques
that the heartbeat project uses:
http://www.linux-ha.org/wiki/Heartbeat
Ideally (my suggestion,) they would make some of them
available in a library so that other projects like
RADOS could use them independently without having to
rewrite them from scratch.
> > 2) Is there any way of preventing two users of an RBD
> > device from using the device concurrently? ...
>
> We were just thinking about the proper solution to this
> problem ourselves. There are a few options. One is to
> add some kinds of locking mechanism to the osd, which
> would allow doing just that. E.g., a client would take
> a lock, do whatever it needs to do, a second client
> would try to get the lock but will be able to hold it only
> after the first one has released it. Another option would
> be to have the clients handle the mutual exclusion
> themselves (hence not enforced by the osd) by setting
> flags and leases on the rbd header.
I'm curious, do you mean a scheme such as writing the
name of the node "locking" the image along with a
timestamp regularly to the header as a heartbeat?
Along with some lock acquisition logic?
Thanks for the replies!
-Martin
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next reply other threads:[~2010-05-05 20:34 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-05 20:34 Martin Fick [this message]
2010-05-06 5:10 ` Replacing DRBD use with RBD Thomas Mueller
-- strict thread matches above, loose matches on Subject: below --
2010-05-04 23:46 Martin Fick
2010-05-05 7:30 ` Alex Elsayed
2010-05-05 20:02 ` Alex Elsayed
2010-05-05 20:13 ` Yehuda Sadeh Weinraub
2010-05-05 20:59 ` Martin Fick
2010-05-05 20:00 ` Yehuda Sadeh Weinraub
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=582033.76293.qm@web36101.mail.mud.yahoo.com \
--to=mogulguy@yahoo.com \
--cc=ceph-devel@vger.kernel.org \
--cc=yehudasa@gmail.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