[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