diff options
author | Florian Haas <florian@hastexo.com> | 2012-02-20 16:25:43 +0100 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-10-24 17:46:48 -0700 |
commit | 61c1d77f220e36af7feec14ae072d2f6e3230cf0 (patch) | |
tree | aebf1d4d55d47334f0f6c7b90142351554676a7e /configure.ac | |
parent | 0d868525d2d6e33761842e0e134eb59475c6c2bb (diff) |
Add OCF compliant resource agents for glusterd and volumes
These resource agents plug glusterd into Open Cluster Framework
(OCF) compliant cluster resource managers, like Pacemaker.
The glusterd RA is fairly trivial; it simply manages the glusterd daemon
like any upstart or systemd job would, except that Pacemaker can
do it in a cluster-aware fashion.
The volume RA is a bit more involved; It starts a volume and monitors
individual brick's daemons in a cluster aware fashion, recovering bricks
when their processes fail.
Note that this does NOT imply people would deploy GlusterFS servers
in pairs, or anything of that nature. Pacemaker has the ability to
deploy cluster resources as clones, meaning glusterd and volumes would be
configured as follows in a Pacemaker cluster:
primitive p_glusterd ocf:glusterfs:glusterd \
op monitor interval="30"
primitive p_volume_demo ocf:glusterfs:volume \
params volname="demo" \
op monitor interval="10"
clone cl_glusterd p_glusterd \
meta interleave="true"
clone cl_volume_demo p_volume_demo \
meta interleave="true" ordered="true"
colocation c_volume_on_glusterd inf: cl_volume_demo cl_glusterd
order o_glusterd_before_volume 0: cl_glusterd cl_volume_demo
The cluster status then looks as follows (in a 4-node cluster; note
the configuration above could be applied, unchanged, to a cluster
of any number of nodes):
============
Last updated: Fri Mar 30 10:54:50 2012
Last change: Thu Mar 29 17:20:17 2012 via crmd on gluster02.h
Stack: openais
Current DC: gluster03.h - partition with quorum
Version: 1.1.6-3.el6-a02c0f19a00c1eb2527ad38f146ebc0834814558
4 Nodes configured, 4 expected votes
8 Resources configured.
============
Online: [ gluster02.h gluster03.h gluster04.h gluster01.h ]
Clone Set: cl_glusterd [p_glusterd]
Started: [ gluster02.h gluster03.h gluster04.h gluster01.h ]
Clone Set: cl_volume_demo [p_volume_demo]
Started: [ gluster01.h gluster02.h gluster03.h gluster04.h ]
This is also a way of providing automatic glusterd and brick recovery
in systems where neither upstart nor systemd are available.
Change-Id: Ied46657bdfd2dd72dc97cf41b0eb7adcecacd18f
BUG: 869559
Signed-off-by: Florian Haas <florian@hastexo.com>
Reviewed-on: http://review.gluster.org/3043
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index ab5af8fd484..7dda2f3ab8b 100644 --- a/configure.ac +++ b/configure.ac @@ -125,6 +125,9 @@ AC_CONFIG_FILES([Makefile extras/init.d/glusterd-SuSE extras/benchmarking/Makefile extras/hook-scripts/Makefile + extras/ocf/Makefile + extras/ocf/glusterd + extras/ocf/volume contrib/fuse-util/Makefile contrib/uuid/uuid_types.h xlators/nfs/Makefile @@ -168,6 +171,12 @@ AC_ARG_WITH(launchddir, [launchddir='/Library/LaunchDaemons']) AC_SUBST(launchddir) +AC_ARG_WITH([ocf], + [AS_HELP_STRING([--with-ocf], [build OCF-compliant cluster resource agents])], + , + [with_ocf=no]) +AM_CONDITIONAL(WITH_OCF, [ test "$with_ocf" = "yes" ]) + # LEX needs a check AC_PROG_LEX if test "x${LEX}" != "xflex" -a "x${FLEX}" != "xlex"; then |