[ClusterLabs] Bloody Newbie needs help for OCFS2 on pacemaker+corosync+pcs
thl at it-hluchnik.de
thl at it-hluchnik.de
Wed Aug 3 17:07:01 UTC 2016
Hello all,
thanks to all who gave me hints, I finally succeeded.
That's what I did for getting OCFS2 running in my OEL7.2 based test cluster:
As resource ocf:pacemaker:o2cb was unavailable (though the manpage is available in the pacemaker RPM:-( ) I got it from GitHub. But when trying I found that the script depends on another script which is unavailable, too. Re-reading the docs, I found the resource "systemd" and this worked:
# pcs resource create ResO2CB systemd:o2cb \
op monitor interval="10" timeout="30" \
op start interval="0" timeout="120" \
op stop interval="0" timeout="120"
# pcs resource clone ResO2CB meta \
clone-max=3 \
clone-node-max=1 \
clone-min=1 \
notify="false" \
globally-unique="false" \
ordered="false" \
interleave="false"
Trying to mount a shared device was the next problem. The script /usr/lib/ocf/resource.d/heartbeat/Filesystem is buggy but I fixed that for me by adding some lines:
# diff Filesystem.distorig Filesystem
368a369,370
> elif grep -q "Red Hat Enterprise Linux Server release 7.2" /etc/redhat-release >/dev/null 2>&1 ; then
> ocf_log info "$DEVICE: We are on a RHEL 7.2 System."
Function "ocfs2_init" has that content now:
...
OCFS2_SLES10=""
if [ "X$HA_cluster_type" = "Xcman" ]; then
return
elif [ "X$HA_cluster_type" != "Xopenais" ]; then
if grep -q "SUSE Linux Enterprise Server 10" /etc/SuSE-release >/dev/null 2>&1 ; then
OCFS2_SLES10="yes"
ocf_log info "$DEVICE: Enabling SLES10 compatibility mode for OCFS2."
elif grep -q "Red Hat Enterprise Linux Server release 7.2" /etc/redhat-release >/dev/null 2>&1 ; then
ocf_log info "$DEVICE: We are on a RHEL 7.2 System."
else
ocf_log err "$DEVICE: ocfs2 is not compatible with your environment."
exit $OCF_ERR_CONFIGURED
fi
else
return
fi
...
After the modification, this was working for me:
# pcs resource create ResOCFS2_00 ocf:heartbeat:Filesystem \
device="/dev/disk/by-uuid/1f744914-f8c8-4846-9aa0-a16e700e2400" \
directory="/ocfs00" \
fstype="ocfs2" options="rw,defaults,noatime" \
op monitor timeout="40" interval="20"
# pcs resource clone ResOCFS2_00 meta \
clone-max=3 \
clone-node-max=1 \
clone-min=1 \
notify="false" \
globally-unique="false" \
ordered="false" \
interleave="false"
# pcs constraint order ResO2CB-clone then ResOCFS2_00-clone
Hope these info are useful.
Best Regards
Thomas
Am Tuesday 02 August 2016 16:48:58 schrieb Ken Gaillot:
> On 08/02/2016 08:16 AM, thl at it-hluchnik.de wrote:
> > Hello Kyle + all,
> >
> > No luck at all. Cant get o2cb up at all. Please find details below.
> > Thanks in advance for any help.
> >
> > First I tried to translate your crm syntax to pcs syntax:
> >
> > primitive p_o2cb lsb:o2cb \ op monitor interval="10" timeout="30"
> > \ op start interval="0" timeout="120" \ op stop interval="0"
> > timeout="120"
> >
> > ||| vvv
> >
> > # pcs resource create ResO2CB lsb:o2cb \ op monitor interval="10"
> > timeout="30" \ op start interval="0" timeout="120" \ op stop
> > interval="0" timeout="120"
> >
> > Error: Unable to create resource 'lsb:o2cb', it is not installed on
> > this system (use --force to override)
> >
> >
> > I checked my installation and found this:
> >
> > # rpm -ql pacemaker | grep o2cb
> > /usr/share/man/man7/ocf_pacemaker_o2cb.7.gz
> >
> > According this, I would expect
> > /usr/lib/ocf/resource.d/pacemaker/o2cb but there is no such
> > script.
>
> OEL is, shall we say, very similar to RHEL. RHEL doesn't support
> OCFS2, so it does not include that RA. It is ironic that OEL doesn't
> change that. In any case, you can get the RA from the upstream source:
> https://github.com/ClusterLabs/pacemaker/tree/master/extra/resources
>
> > But I succeeded in:
> >
> > # pcs resource create --force ResO2CB ocf:pacemaker:o2cb \ op
> > monitor interval="10" timeout="30" \ op start interval="0"
> > timeout="120" \ op stop interval="0" timeout="120"
> >
> > # pcs resource show ... ResO2CB (ocf::pacemaker:o2cb):
> > Stopped ...
> >
> > Trying to debug-start:
> >
> > # pcs resource debug-start ResO2CB Error performing operation:
> > Input/output error
> >
> >
> >
> > # rpm -qi pacemaker Name : pacemaker Version : 1.1.13
> > Release : 10.el7 Architecture: x86_64 Install Date: Sa 23 Jul
> > 2016 15:23:51 CEST Group : System Environment/Daemons Size
> > : 1400509 License : GPLv2+ and LGPLv2+ Signature :
> > RSA/SHA256, Sa 21 Nov 2015 19:24:37 CET, Key ID 72f97b74ec551f03
> > Source RPM : pacemaker-1.1.13-10.el7.src.rpm Build Date : Sa 21
> > Nov 2015 18:10:40 CET ...
> >
> > It seems that o2cb script is missing in that RPM. Or did I miss to
> > install any package?
> >
> > Best Regards
> >
> > Thomas Hluchnik
> >
> >
> >
> >
> >
> > Am Tuesday 02 August 2016 12:39:27 schrieb Kyle O'Donnell:
> >> er forgot
> >>
> >> primitive p_o2cb lsb:o2cb \ op monitor interval="10" timeout="30"
> >> \ op start interval="0" timeout="120" \ op stop interval="0"
> >> timeout="120"
> >>
> >> ----- Original Message ----- From: "Kyle O'Donnell"
> >> <kyleo at 0b10.mx> To: "users" <users at clusterlabs.org> Sent:
> >> Tuesday, August 2, 2016 6:38:11 AM Subject: Re: [ClusterLabs]
> >> Bloody Newbie needs help for OCFS2 on pacemaker+corosync+pcs
> >>
> >> primitive mysan ocf:heartbeat:Filesystem \ params
> >> device="/dev/myocsdevice" directory="/mymount" fstype="ocfs2"
> >> options="rw,noatime" \ op monitor timeout="40" interval="20"
> >> depth="0" clone cl_ocfs2mgmt p_o2cb \ meta interleave="true"
> >> clone cl_mysan mysan \ meta target-role="Started" order
> >> o_myresource_fs inf: cl_mysan myresource
> >>
> >>
> >> ----- Original Message ----- From: thl at it-hluchnik.de To: "users"
> >> <users at clusterlabs.org> Sent: Tuesday, August 2, 2016 6:31:44 AM
> >> Subject: [ClusterLabs] Bloody Newbie needs help for OCFS2 on
> >> pacemaker+corosync+pcs
> >>
> >> Hello everybody, I am new to pacemaker (and to this list), trying
> >> to understand pacemaker. For this I created three virtual hosts
> >> in my VirtualBox plus four shared disks, attached with each of
> >> the three nodes.
> >>
> >> I installed Oracle Enterprise Linux 7.1, did a "yum update" and
> >> got OEL7.2. Then I created four OCFS2 devices, working fine on
> >> all of my three nodes. They are started by systemd, using
> >> o2cb.service and ocfs2.service and running fine.
> >>
> >> Now I have started with learning pacemaker by "Clusters from
> >> Scratch" and meanwhile I have a virtual IP and a Webserver, this
> >> works fine so far.
> >>
> >> Next I want to control my OCFS2 devices by pacemaker, not by
> >> systemd. I searched the net and found some howtos, but they rely
> >> on crmsh instead of pcs. Most headaches come from DRBD which I
> >> don't understand at all. Why the hell does it seem that I need
> >> DRBD for running OCFS2?
> >>
> >> Is there anybody who can explain me how to get that running
> >> (after disabling o2cb.service & ocfs2.service):
> >>
> >> - create a resource which manages and controls o2cb stack -
> >> create another resource which manages OCFS2 mountpoints - create
> >> constraints for the Web Server (all Apache config / content shall
> >> be copied to one of the OCFS2 filesystems)
> >>
> >> The Web Server shall be dependent from availability of a mounted
> >> OCFS2 device. If it stops working, the Web Server must switch to
> >> a node where that mount point is OK.
> >>
> >> Thanks in advance for any help
> >>
> >> Thomas Hluchnik
>
> _______________________________________________
> Users mailing list: Users at clusterlabs.org
> http://clusterlabs.org/mailman/listinfo/users
>
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://bugs.clusterlabs.org
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.clusterlabs.org/pipermail/users/attachments/20160803/e3dc18b5/attachment-0004.sig>
More information about the Users
mailing list