<font color="#222222" face="arial, sans-serif"><span style="white-space:nowrap">Afternoon all,</span></font><div><font color="#222222" face="arial, sans-serif"><span style="white-space:nowrap"><br></span></font></div><div>
<font color="#222222" face="arial, sans-serif"><span style="white-space:nowrap">We have a 2 node failover cluster using IBM IMM for STONITH via the external/ipmi plugin. We have recently moved from OCFS2 to ext3 for our database filesystems due to a bug we discovered, there is only one disk we need to have available to both nodes (shared scripts, logs etc) which remains as OCFS2.</span></font></div>
<div><font color="#222222" face="arial, sans-serif"><span style="white-space:nowrap">All SAN disks are available to both nodes all of the time, although obviously only mounted via the appropriate resource group.</span></font></div>
<div><font color="#222222" face="arial, sans-serif"><span style="white-space:nowrap"><br></span></font></div><div><font color="#222222" face="arial, sans-serif"><span style="white-space:nowrap">I have the following questions around best practice for this type of configuration:</span></font></div>
<div><font color="#222222" face="arial, sans-serif"><span style="white-space:nowrap">1) </span></font><span style="color:rgb(34,34,34);font-family:arial,sans-serif;white-space:nowrap">I'm planning on implementing sfex resources (a small LVM volume on the same volume group as the data being protected) as an additional safety feature along side the existing external/ipmi STONITH control ... is this best </span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;white-space:nowrap">practice</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;white-space:nowrap"> in case the IBM IMM is unavailable or credentials change etc and the STONITH is not carried out ?</span></div>
<div><font color="#222222" face="arial, sans-serif"><span style="white-space:nowrap">2) </span></font><span style="color:rgb(34,34,34);font-family:arial,sans-serif;white-space:nowrap">Is there any risk to a healthy node if an unhealthy node with a shared OCFS2 volume mounted goes down ? Quorum policy is set to ignore. Seems to not give any issues but I want to clarify this is the designed behavior.</span></div>
<div><span style="white-space:nowrap;color:rgb(34,34,34);font-family:arial,sans-serif">3) Does a node need its own STONITH resource to be able to self fence or is this covered off by internal pacemaker functionality ? ie: We currently use location constraints to ensure STONITH resources don't run on themselves as per the documentation.</span></div>
<div><span style="white-space:nowrap;color:rgb(34,34,34);font-family:arial,sans-serif">4) What is the best way to disable STONITH non disruptively for node maintenance ? Is it a case of editing the CIB </span><font color="#222222" face="arial, sans-serif"><span style="white-space:nowrap">stonith-enabled directive to false and stopping the STONITH resources then stopping openais ?</span></font></div>
<div><span style="white-space:nowrap;color:rgb(34,34,34);font-family:arial,sans-serif">5) Is there an OCF compliant resource agent script for Derby / JavaDB that anyone knows of ? We use an old init style script at the moment, I'm afraid it will trip us up and STONITH a node on shutdown at some stage.</span></div>
<div><font color="#222222" face="arial, sans-serif"><span style="white-space:nowrap"><br></span></font></div><div><font color="#222222" face="arial, sans-serif"><span style="white-space:nowrap">Are there any other considerations to be in a best practice position ? We have a window of change coming up and I want to create the best environment possible. Please feel free to critique the below configuration as it stands.</span></font></div>
<div><font color="#222222" face="arial, sans-serif"><span style="white-space:nowrap"><br></span></font></div><div><font color="#222222" face="arial, sans-serif"><span style="white-space:nowrap">Many thanks, Dave.</span></font></div>
<div><br></div><div><div>node server-001</div><div>node server-002</div><div>primitive DERBYDB lsb:derby</div><div>primitive FS_DB_NEWS ocf:heartbeat:Filesystem \</div><div>        params device="/dev/vg_db_news/lv_db_news" directory="/DB_NEWS" fstype="ext3" options="acl" \</div>
<div>        op monitor interval="40s" \</div><div>        op start interval="0" timeout="60" \</div><div>        op stop interval="0" timeout="60" \</div><div>        meta migration-threshold="3" failure-timeout="180"</div>
<div>primitive FS_DB_FEEDS ocf:heartbeat:Filesystem \</div><div>        params device="/dev/vg_db_feeds/lv_db_feeds" directory="/DB_FEEDS" fstype="ext3" options="acl" \</div><div>        op monitor interval="40s" \</div>
<div>        op start interval="0" timeout="60" \</div><div>        op stop interval="0" timeout="60" \</div><div>        meta migration-threshold="3" failure-timeout="180"</div>
<div>primitive FS_DB_SHARED ocf:heartbeat:Filesystem \</div><div>        params device="/dev/mapper/07ea2ffab5c4ae011_part1" directory="/DB_SHARED" fstype="ocfs2" options="acl" \</div>
<div>        op monitor interval="40s" \</div><div>        op start interval="0" timeout="60" \</div><div>        op stop interval="0" timeout="60" \</div><div>        meta target-role="Started"</div>
<div>primitive FS_LOGS_NEWS ocf:heartbeat:Filesystem \</div><div>        params device="/dev/mapper/0c2ebc3735c4ae011_part1" directory="/LOGS_NEWS" fstype="ext3" options="data=writeback,noatime,acl" \</div>
<div>        op monitor interval="40s" \</div><div>        op start interval="0" timeout="60" \</div><div>        op stop interval="0" timeout="60" \</div><div>        meta migration-threshold="3" failure-timeout="180"</div>
<div>primitive FS_LOGS_FEEDS ocf:heartbeat:Filesystem \</div><div>        params device="/dev/mapper/0345899885c4ae011_part1" directory="/LOGS_FEEDS" fstype="ext3" options="data=writeback,noatime,acl" \</div>
<div>        op monitor interval="40s" \</div><div>        op start interval="0" timeout="60" \</div><div>        op stop interval="0" timeout="60" \</div><div>        meta migration-threshold="3" failure-timeout="180"</div>
<div>primitive IP_NEWS_15 ocf:heartbeat:IPaddr2 \</div><div>        params ip="192.168.15.92" cidr_netmask="24" \</div><div>        op monitor interval="30s" \</div><div>        meta migration-threshold="3" failure-timeout="180"</div>
<div>primitive IP_NEWS_72 ocf:heartbeat:IPaddr2 \</div><div>        params ip="192.168.72.92" cidr_netmask="24" \</div><div>        op monitor interval="30s" \</div><div>        meta migration-threshold="3" failure-timeout="180"</div>
<div>primitive IP_FEEDS_15 ocf:heartbeat:IPaddr2 \</div><div>        params ip="192.168.15.93" cidr_netmask="24" \</div><div>        op monitor interval="30s" \</div><div>        meta migration-threshold="3" failure-timeout="180"</div>
<div>primitive IP_FEEDS_72 ocf:heartbeat:IPaddr2 \</div><div>        params ip="192.168.72.93" cidr_netmask="24" \</div><div>        op monitor interval="30s" \</div><div>        meta migration-threshold="3" failure-timeout="180"</div>
<div>primitive MAIL_ALERT ocf:heartbeat:MailTo \</div><div>        params email="<a href="mailto:theguy@thatcompany.com">theguy@thatcompany.com</a>" \</div><div>        op monitor interval="60" timeout="10"</div>
<div>primitive PGSQL_FEEDS1 ocf:heartbeat:pgsql \</div><div>        params pgdata="/DB_FEEDS/feeds1/dbdata/data/" pgport="5432" pgdba="feeds1" \</div><div>        op start interval="0" timeout="120" \</div>
<div>        op stop interval="0" timeout="120" \</div><div>        op monitor interval="60" timeout="30" \</div><div>        meta migration-threshold="3" failure-timeout="180"</div>
<div>primitive PGSQL_FEEDS2 ocf:heartbeat:pgsql \</div><div>        params pgdata="/DB_FEEDS/feeds2/dbdata/data/" pgport="5434" pgdba="feeds2" \</div><div>        op start interval="0" timeout="120" \</div>
<div>        op stop interval="0" timeout="120" \</div><div>        op monitor interval="60" timeout="30" \</div><div>        meta migration-threshold="3" failure-timeout="180"</div>
<div>primitive PGSQL_NEWS ocf:heartbeat:pgsql \</div><div>        params pgdata="/DB_NEWS/news/dbdata/data/" pgport="5433" pgdba="news" \</div><div>        op start interval="0" timeout="120" \</div>
<div>        op stop interval="0" timeout="120" \</div><div>        op monitor interval="60" timeout="30" \</div><div>        meta migration-threshold="3" failure-timeout="180"</div>
<div>primitive STONITH-DB-001 stonith:external/ipmi \</div><div>        params hostname="server-001" ipaddr="192.168.72.80" userid="user" passwd="password" interface="lan" \</div>
<div>        op monitor interval="60s" timeout="30s" \</div><div>        meta target-role="Started"</div><div>primitive STONITH-DB-002 stonith:external/ipmi \</div><div>        params hostname="server-002" ipaddr="192.168.72.81" userid="user" passwd="password" interface="lan" \</div>
<div>        op monitor interval="60s" timeout="30s" \</div><div>        meta target-role="Started"</div><div>primitive VG_DB_NEWS ocf:heartbeat:LVM \</div><div>        params volgrpname="vg_db_news" \</div>
<div>        op monitor interval="60" timeout="60"</div><div>primitive VG_DB_FEEDS ocf:heartbeat:LVM \</div><div>        params volgrpname="vg_db_feeds" \</div><div>        op monitor interval="60" timeout="60"</div>
<div>primitive clvm ocf:lvm2:clvmd \</div><div>        params daemon_timeout="30" \</div><div>        op start interval="0" timeout="90" \</div><div>        op stop interval="0" timeout="100"</div>
<div>primitive dlm ocf:pacemaker:controld \</div><div>        op monitor interval="60" timeout="60"</div><div>primitive o2cb ocf:ocfs2:o2cb \</div><div>        op monitor interval="60" timeout="60"</div>
<div>group NEWS VG_DB_NEWS FS_LOGS_NEWS FS_DB_NEWS IP_NEWS_15 IP_NEWS_72 DERBYDB PGSQL_NEWS \</div><div>        meta target-role="Started"</div><div>group FEEDS VG_DB_FEEDS FS_LOGS_FEEDS FS_DB_FEEDS IP_FEEDS_15 IP_FEEDS_72 PGSQL_FEEDS1 PGSQL_FEEDS2 \</div>
<div>        meta target-role="Started"</div><div>group OCFS2_SHARED dlm o2cb clvm FS_DB_SHARED</div><div>clone CL_MAIL_ALERT MAIL_ALERT</div><div>clone CL_OCFS2_SHARED OCFS2_SHARED \</div><div>        meta interleave="true"</div>
<div>location LOC_NEWS NEWS 25: server-001</div><div>location LOC_FEEDS FEEDS 25: server-002</div><div>location LOC_STONITH-001 STONITH-DB-001 -inf: server-001</div><div>location LOC_STONITH-002 STONITH-DB-002 -inf: server-002</div>
<div>colocation COL_DB_SHARED_NEWS inf: NEWS CL_OCFS2_SHARED</div><div>colocation COL_DB_SHARED_FEEDS inf: FEEDS CL_OCFS2_SHARED</div><div>order DB_SHARE_FIRST_NEWS 0: CL_OCFS2_SHARED NEWS</div><div>order DB_SHARE_FIRST_FEEDS 0: CL_OCFS2_SHARED FEEDS</div>
<div>property $id="cib-bootstrap-options" \</div><div>        dc-version="1.1.5-5bd2b9154d7d9f86d7f56fe0a74072a5a6590c60" \</div><div>        cluster-infrastructure="openais" \</div><div>        expected-quorum-votes="2" \</div>
<div>        no-quorum-policy="ignore" \</div><div>        start-failure-is-fatal="false" \</div><div>        stonith-enabled="true" \</div><div>        last-lrm-refresh="1346358565"</div>
<div>rsc_defaults $id="rsc-options" \</div><div>        resource-stickiness="100"</div></div><div><br></div>