<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&#39;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&#39;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&#39;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=&quot;/dev/vg_db_news/lv_db_news&quot; directory=&quot;/DB_NEWS&quot; fstype=&quot;ext3&quot; options=&quot;acl&quot; \</div>
<div>        op monitor interval=&quot;40s&quot; \</div><div>        op start interval=&quot;0&quot; timeout=&quot;60&quot; \</div><div>        op stop interval=&quot;0&quot; timeout=&quot;60&quot; \</div><div>        meta migration-threshold=&quot;3&quot; failure-timeout=&quot;180&quot;</div>
<div>primitive FS_DB_FEEDS ocf:heartbeat:Filesystem \</div><div>        params device=&quot;/dev/vg_db_feeds/lv_db_feeds&quot; directory=&quot;/DB_FEEDS&quot; fstype=&quot;ext3&quot; options=&quot;acl&quot; \</div><div>        op monitor interval=&quot;40s&quot; \</div>
<div>        op start interval=&quot;0&quot; timeout=&quot;60&quot; \</div><div>        op stop interval=&quot;0&quot; timeout=&quot;60&quot; \</div><div>        meta migration-threshold=&quot;3&quot; failure-timeout=&quot;180&quot;</div>
<div>primitive FS_DB_SHARED ocf:heartbeat:Filesystem \</div><div>        params device=&quot;/dev/mapper/07ea2ffab5c4ae011_part1&quot; directory=&quot;/DB_SHARED&quot; fstype=&quot;ocfs2&quot; options=&quot;acl&quot; \</div>
<div>        op monitor interval=&quot;40s&quot; \</div><div>        op start interval=&quot;0&quot; timeout=&quot;60&quot; \</div><div>        op stop interval=&quot;0&quot; timeout=&quot;60&quot; \</div><div>        meta target-role=&quot;Started&quot;</div>
<div>primitive FS_LOGS_NEWS ocf:heartbeat:Filesystem \</div><div>        params device=&quot;/dev/mapper/0c2ebc3735c4ae011_part1&quot; directory=&quot;/LOGS_NEWS&quot; fstype=&quot;ext3&quot; options=&quot;data=writeback,noatime,acl&quot; \</div>
<div>        op monitor interval=&quot;40s&quot; \</div><div>        op start interval=&quot;0&quot; timeout=&quot;60&quot; \</div><div>        op stop interval=&quot;0&quot; timeout=&quot;60&quot; \</div><div>        meta migration-threshold=&quot;3&quot; failure-timeout=&quot;180&quot;</div>
<div>primitive FS_LOGS_FEEDS ocf:heartbeat:Filesystem \</div><div>        params device=&quot;/dev/mapper/0345899885c4ae011_part1&quot; directory=&quot;/LOGS_FEEDS&quot; fstype=&quot;ext3&quot; options=&quot;data=writeback,noatime,acl&quot; \</div>
<div>        op monitor interval=&quot;40s&quot; \</div><div>        op start interval=&quot;0&quot; timeout=&quot;60&quot; \</div><div>        op stop interval=&quot;0&quot; timeout=&quot;60&quot; \</div><div>        meta migration-threshold=&quot;3&quot; failure-timeout=&quot;180&quot;</div>
<div>primitive IP_NEWS_15 ocf:heartbeat:IPaddr2 \</div><div>        params ip=&quot;192.168.15.92&quot; cidr_netmask=&quot;24&quot; \</div><div>        op monitor interval=&quot;30s&quot; \</div><div>        meta migration-threshold=&quot;3&quot; failure-timeout=&quot;180&quot;</div>
<div>primitive IP_NEWS_72 ocf:heartbeat:IPaddr2 \</div><div>        params ip=&quot;192.168.72.92&quot; cidr_netmask=&quot;24&quot; \</div><div>        op monitor interval=&quot;30s&quot; \</div><div>        meta migration-threshold=&quot;3&quot; failure-timeout=&quot;180&quot;</div>
<div>primitive IP_FEEDS_15 ocf:heartbeat:IPaddr2 \</div><div>        params ip=&quot;192.168.15.93&quot; cidr_netmask=&quot;24&quot; \</div><div>        op monitor interval=&quot;30s&quot; \</div><div>        meta migration-threshold=&quot;3&quot; failure-timeout=&quot;180&quot;</div>
<div>primitive IP_FEEDS_72 ocf:heartbeat:IPaddr2 \</div><div>        params ip=&quot;192.168.72.93&quot; cidr_netmask=&quot;24&quot; \</div><div>        op monitor interval=&quot;30s&quot; \</div><div>        meta migration-threshold=&quot;3&quot; failure-timeout=&quot;180&quot;</div>
<div>primitive MAIL_ALERT ocf:heartbeat:MailTo \</div><div>        params email=&quot;<a href="mailto:theguy@thatcompany.com">theguy@thatcompany.com</a>&quot; \</div><div>        op monitor interval=&quot;60&quot; timeout=&quot;10&quot;</div>
<div>primitive PGSQL_FEEDS1 ocf:heartbeat:pgsql \</div><div>        params pgdata=&quot;/DB_FEEDS/feeds1/dbdata/data/&quot; pgport=&quot;5432&quot; pgdba=&quot;feeds1&quot; \</div><div>        op start interval=&quot;0&quot; timeout=&quot;120&quot; \</div>
<div>        op stop interval=&quot;0&quot; timeout=&quot;120&quot; \</div><div>        op monitor interval=&quot;60&quot; timeout=&quot;30&quot; \</div><div>        meta migration-threshold=&quot;3&quot; failure-timeout=&quot;180&quot;</div>
<div>primitive PGSQL_FEEDS2 ocf:heartbeat:pgsql \</div><div>        params pgdata=&quot;/DB_FEEDS/feeds2/dbdata/data/&quot; pgport=&quot;5434&quot; pgdba=&quot;feeds2&quot; \</div><div>        op start interval=&quot;0&quot; timeout=&quot;120&quot; \</div>
<div>        op stop interval=&quot;0&quot; timeout=&quot;120&quot; \</div><div>        op monitor interval=&quot;60&quot; timeout=&quot;30&quot; \</div><div>        meta migration-threshold=&quot;3&quot; failure-timeout=&quot;180&quot;</div>
<div>primitive PGSQL_NEWS ocf:heartbeat:pgsql \</div><div>        params pgdata=&quot;/DB_NEWS/news/dbdata/data/&quot; pgport=&quot;5433&quot; pgdba=&quot;news&quot; \</div><div>        op start interval=&quot;0&quot; timeout=&quot;120&quot; \</div>
<div>        op stop interval=&quot;0&quot; timeout=&quot;120&quot; \</div><div>        op monitor interval=&quot;60&quot; timeout=&quot;30&quot; \</div><div>        meta migration-threshold=&quot;3&quot; failure-timeout=&quot;180&quot;</div>
<div>primitive STONITH-DB-001 stonith:external/ipmi \</div><div>        params hostname=&quot;server-001&quot; ipaddr=&quot;192.168.72.80&quot; userid=&quot;user&quot; passwd=&quot;password&quot; interface=&quot;lan&quot; \</div>
<div>        op monitor interval=&quot;60s&quot; timeout=&quot;30s&quot; \</div><div>        meta target-role=&quot;Started&quot;</div><div>primitive STONITH-DB-002 stonith:external/ipmi \</div><div>        params hostname=&quot;server-002&quot; ipaddr=&quot;192.168.72.81&quot; userid=&quot;user&quot; passwd=&quot;password&quot; interface=&quot;lan&quot; \</div>
<div>        op monitor interval=&quot;60s&quot; timeout=&quot;30s&quot; \</div><div>        meta target-role=&quot;Started&quot;</div><div>primitive VG_DB_NEWS ocf:heartbeat:LVM \</div><div>        params volgrpname=&quot;vg_db_news&quot; \</div>
<div>        op monitor interval=&quot;60&quot; timeout=&quot;60&quot;</div><div>primitive VG_DB_FEEDS ocf:heartbeat:LVM \</div><div>        params volgrpname=&quot;vg_db_feeds&quot; \</div><div>        op monitor interval=&quot;60&quot; timeout=&quot;60&quot;</div>
<div>primitive clvm ocf:lvm2:clvmd \</div><div>        params daemon_timeout=&quot;30&quot; \</div><div>        op start interval=&quot;0&quot; timeout=&quot;90&quot; \</div><div>        op stop interval=&quot;0&quot; timeout=&quot;100&quot;</div>
<div>primitive dlm ocf:pacemaker:controld \</div><div>        op monitor interval=&quot;60&quot; timeout=&quot;60&quot;</div><div>primitive o2cb ocf:ocfs2:o2cb \</div><div>        op monitor interval=&quot;60&quot; timeout=&quot;60&quot;</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=&quot;Started&quot;</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=&quot;Started&quot;</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=&quot;true&quot;</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=&quot;cib-bootstrap-options&quot; \</div><div>        dc-version=&quot;1.1.5-5bd2b9154d7d9f86d7f56fe0a74072a5a6590c60&quot; \</div><div>        cluster-infrastructure=&quot;openais&quot; \</div><div>        expected-quorum-votes=&quot;2&quot; \</div>
<div>        no-quorum-policy=&quot;ignore&quot; \</div><div>        start-failure-is-fatal=&quot;false&quot; \</div><div>        stonith-enabled=&quot;true&quot; \</div><div>        last-lrm-refresh=&quot;1346358565&quot;</div>
<div>rsc_defaults $id=&quot;rsc-options&quot; \</div><div>        resource-stickiness=&quot;100&quot;</div></div><div><br></div>