On Wed, 2018-05-30 at 09:37 +0200, Supriti Singh wrote:
Hello,
Recently Jeff introduced few more recovery backends: rados_kv,
rados_ng and rados_cluster. I want to understand which recovery
backend should be used for which use case? From design point of view
what are differences among these three recovery backend?
Thanks,
Supriti
rados_kv: This is the original rados recovery backend that uses a key-
value store. It has support for "takeover" operations: merging one
recovery database into another such that another cluster node could take
over addresses that were hosted on another node. Note that this recovery
backend may not survive crashes that occur _during_ a grace period. If
it crashes and then crashes again during the grace period, the server is
likely to fail to allow any clients to recover (the db will be trashed).
rados_ng: a more resilient rados_kv backend. This one does not support
takeover operations, but it should properly survive crashes that occur
during the grace period.
rados_cluster: the new (experimental) clustered recovery backend. This
one also does not support address takeover, but should be resilient
enough to handle crashes that occur during the grace period.
FWIW, the semantics for fs vs. fs_ng are similar. fs doesn't survive
crashes that occur during the grace period either.
Unless you're trying to use the dbus "grace" command to initiate address
takeover in an active/active cluster, you probably want rados_ng for
now.
--
Jeff Layton <jlayton(a)poochiereds.net>