Thomas Georgiou wrote:
> I do not know what the recommended versions are, but I wrote ebuilds
> for the pacemaker/corosync cluster stack with the latest versions that
> were available at the time.  They are located here
> http://code.tjhsst.edu/vm-overlay/vm-overlay.
Unfortunately, I was not aware that those existed. However, I am going
to take the recommendation NOT to use corosync yet (which sucks, as I'm
not sure the rest of my stack will compile without it yet)
>   I believe there might
> be a small bug in the permissions in the pacemaker ebuild, but I do
> not remember if I fixed it.  We are currently using the ebuilds in a
> testing environment running semi-production services (secondary
> mailserver, nameserver).  However, we do not have need of dlm, drbd,
> or ocfs2 yet.  If you do use ebuilds, please respond with what you
> used, or if you modify mine, how you modified them.
>
> Thomas Georgiou
>
> P.S. Now I see you already have things installed.  Did you install
> them by hand, or through ebuilds?
>
>   
I built them all by hand. I'm not that handy with making ebuilds yet,
and the packages in the standard tree are ancient.

I used some instructions I found on the net as a starting point, but had
to go on my own from there.
Needless to say, it was a bit of a challenge, trying to get everything
latest and greatest to build together.

The bigest problems were with dlm (needed for ocfs2) and ocfs2, in
particular getting them to build their pacemaker agents. (dlm_controld
and ocfs2_controld)

I have attached my notes. I was going to put together a HOWTO when I was
done (or maybe some ebuilds), but I want to get the setup stable first.

Some of the steps in my notes may no longer be relevant, as newer
versions are available for some packages  (eg: ocfs2-tools)

Thanks!

Jonathan

-- 
J. deBoer Computer Consulting.
42 Birchmont Dr.
Leduc, AB.
T9E-8S4
cell: 780-717-0669 

echo "dev-libs/nss" >> /etc/portage/package.keywords
echo "dev-libs/nss utils" >> /etc/portage/package.use
emerge dev-libs/nss

Heartbeat/Corosync/OpenAIS/Pacemaker
export PREFIX=/usr/local
export LCRSODIR=$PREFIX/libexec/lcrso 
export STACKS_SUPPORTED="--with-ais --without-heartbeat"

Heartbeat:
archive at http://hg.linux-ha.org/dev/archive/tip.tar.bz2
./ConfigureMe bootstrap --prefix=$PREFIX
make
make install

Corosync (>=1.0.0, only needed if using OpenAIS >= 1.0.0) :
Get the latest corosync from SVN or pacemaker won't compile
svn checkout http://svn.fedorahosted.org/svn/corosync/trunk corosync
./autogen.sh --prefix=$PREFIX
./configure --prefix=$PREFIX --with-lcrso-dir=$LCRSODIR
make
make install
#cp init/generic /etc/init.d/corosync

ln -s /usr/local/etc/corosync /etc/corosync
echo "PKG_CONFIG_PATH=/usr/local/lib/pkgconfig" >> /etc/env.d/05pkg-config
env-update
source /etc/profile


#OpenAIS (< 1.0.0) :
#make PREFIX=$PREFIX LCRSODIR=$LCRSODIR
#make install PREFIX=$PREFIX LCRSODIR=$LCRSODIR STATICLIBS=NO 

OpenAIS (>=1.0.0) :
svn checkout http://svn.fedorahosted.org/svn/openais/trunk openais
./autogen.sh --prefix=$PREFIX
./configure --prefix=$PREFIX --with-lcrso-dir=$LCRSODIR
make
make install
cp init/generic /etc/init.d/openais
edit /etc/init.d/openais
        between lines 50 and 51 (before prog is executed), add a line:
        export 
COROSYNC_DEFAULT_CONFIG_IFACE="openaisserviceenable:openaisparser"

add 21openais file to /etc/env.d: 
echo "LDPATH=\"/usr/local/lib/openais\"" >> /etc/env.d/21openais

env-update
source /etc/profile

Pacemaker :
wget http://hg.clusterlabs.org/pacemaker/stable-1.0/archive/tip.tar.bz2
./ConfigureMe bootstrap --prefix=$PREFIX --with-lcrso-dir=$LCRSODIR 
$STACKS_SUPPORTED
make
make install

LibLogThread from Cluster:
wget https://fedorahosted.org/releases/c/l/cluster/cluster-3.0.0.tar.gz
#./configure --openaisincdir=/usr/local/include 
--openaislibdir=/usr/local/lib/openais --enable_pacemaker
./configure --openaisincdir=/usr/local/include 
--openaislibdir=/usr/local/lib/openais --corosyncincdir=/usr/local/include 
--corosynclibdir=/usr/local/lib/corosync --enable_pacemaker
cd common/liblogthread
make
make install

DLM and friends: (after openais) :
Download from http://sources.redhat.com/cluster/wiki/
download the latest DLM from GIT
./autogen.sh --prefix=/usr/local
If the command does not work, you may need to modify configure.ac
        change AC_PREREQ([[2.63b]) to be AC_PREREQ([2.63])
        comment out LT_PREREQ and LT_INIT
./configure --prefix=/usr/local --enable-pacemaker --disable-cman
change line 68 of group/dlm_controld/pacemaker.c to be:
        log_error("Connection to our AIS plugin (%d) failed", PCMK_SERVICE_ID);
make
make install

Setup LSB init scripts
mkdir -p /lib/lsb
cp init-functions  /lib/lsb/
cp rc.status /lib/lsb

ocfs2-tools 1.4.2+
./autogen.sh --prefix=/usr/local
in Config.make
        add -lpthread to COM_ERR_LIBS
modify ./ocfs2_controld/Makefile
        set line:
                PCMK_INCLUDES = -I/usr/local/include/pacemaker 
-I/usr/local/include/heartbeat -I/usr/include/libxml2 $(GLIB_CFLAGS)
modify ocfs2_controld/pacemaker.c:
        set line 158:
                 log_error("Connection to our AIS plugin (%d) failed", 
PCMK_SERVICE_ID);
make
make install
cd vendor/common
#cp o2cb.init /etc/init.d/o2cb
#cp ocfs2.init /etc/init.d/ocfs2
cp 51-ocfs2.rules /etc/udev/rules.d/

mkdir -p /usr/lib/ocf/resource.d/ocfs2
cp o2cb.ocf /usr/lib/ocf/resource.d/ocfs2/o2cb/

#copy 
http://oss.oracle.com/pipermail/ocfs2-devel/attachments/20081118/9c3e6005/attachment.obj
#       to /usr/lib/ocf/resource.d/ocfs2/o2cb

#modify /usr/lib/ocf/resource.d/ocfs2/o2cb to point to the correct location of 
ocfs2_controld.pcmk
#       DAEMON="/sbin/ocfs2_controld.${OCF_RESKEY_stack}"

#chmod a+x /usr/lib/ocf/resource.d/ocfs2/o2cb

Note: The XML for the o2cb resource in pacemaker would be:
                 <primitive id="o2cb-pcmk" class="ocf" type="o2cb" 
provider="ocfs2"/>


STONITH device scripts are found in:
/usr/local/lib/stonith/plugins/external

_______________________________________________
Pacemaker mailing list
Pacemaker@oss.clusterlabs.org
http://oss.clusterlabs.org/mailman/listinfo/pacemaker

Reply via email to