Skip to Content
Author's profile photo Phani Kumar Arava

SUSE Linux and SAP High Availability

Linux is playing a major role in Enterprise Servers. In trying to understand the major issues Linux is not able to penetrate in the SAP world, we have found the following reasons

1) Linux is not as stable as UNIX. RISC platforms are stable.

2) Dearth of Linux expertise, so we stick to what we know . Windows.

3) Unavailability of High Availability Solution.

For point (1) & (2) , I will blog about it in a seperate forum. Lets talk about the SAP High Availability Solution available  on Linux. We are going to stick to SUSE Linux for the rest of this blog. Both SAP and SUSE Linux work very closely. Now lets look at one of the setups we have done for a large client of ours who have moved from an IBM AIX environment to Linux

The Development, Quality Machines are running on SUSE VM, (running across three physincal machines). The Virtual Machines are running off raw files with OCFS cluster as their base.All the three physical hosts can see the VMs running.

Our HA Environment for the Production Instances needs to be designed more carefully. List of Resources used are :

1) Database Instance

2) Enque Work Process + Message Server (ABAP SAP Central Services)

3) Central Instance.

Adding to this we also will be needing some common storage and also an nfs server that can map the /sapmnt to the dialog instances. Following is the pacemaker configuration

primitive ASCS10 ocf:heartbeat:SAPInstance \
        params InstanceName="HPS_ASCS10_hpsci" \
        op monitor interval="120" timeout="60" depth="0" \
        meta target-role="Started"
primitive DVEBMGS01 ocf:heartbeat:SAPInstance \
        params InstanceName="HPS_DVEBMGS01_hpsci" \
        op monitor interval="120" timeout="60" depth="0" \
        meta target-role="Started"
primitive HPSDB ocf:heartbeat:SAPDatabase \
        params SID="HPS" DBTYPE="ORA" \
        op start interval="0" timeout="1800" \
        op stop interval="0" timeout="1800" \
        meta target-role="Started"
primitive clvm ocf:lvm2:clvmd
primitive dlm ocf:pacemaker:controld
primitive ip_hps_db ocf:heartbeat:IPaddr2 \
        params ip="" cidr_netmask="24" \
        op monitor interval="30s" \
        meta target-role="Started"
primitive ip_hpsci ocf:heartbeat:IPaddr2 \
        params ip="" cidr_netmask="24" \
        op monitor interval="30s" \
        meta target-role="Started"
primitive nfsserver lsb:nfsserver
primitive o2cb ocf:ocfs2:o2cb
primitive oracle ocf:heartbeat:Filesystem \
        params device="/dev/vghps/oracle" directory="/oracle" fstype="ocfs2" options="acl"
primitive sapdump ocf:heartbeat:Filesystem \
        params device="/dev/vghps/dump" directory="/sapdump" fstype="ocfs2" options="acl"
primitive sapmnt ocf:heartbeat:Filesystem \
        params device="/dev/vghps/sapmnt" directory="/sapmnt" fstype="ocfs2" options="acl"
primitive stonith-sbd stonith:external/sbd
primitive usrsap ocf:heartbeat:Filesystem \
        params device="/dev/vghps/usrsap" directory="/usr/sap" fstype="ocfs2" options="acl"
primitive vghps ocf:heartbeat:LVM \
        params volgrpname="vghps"
group ascsgroup ip_hpsci ASCS10 DVEBMGS01 \
        meta target-role="Started"
group base-group dlm o2cb clvm vghps sapmnt usrsap oracle sapdump nfsserver
group dbgroup ip_hps_db HPSDB \
        meta target-role="Started"
clone base-clone base-group \
        meta interleave="true" is-managed="true" target-role="Started"
location ascs_node1 ascsgroup 20: HDLDCHPSNODE1
location ascs_node2 ascsgroup 10: HDLDCHPSNODE2
location db_node1 dbgroup 10: HDLDCHPSNODE1
location db_node2 dbgroup 20: HDLDCHPSNODE2
order base-clone-first 10: base-clone:start ascsgroup:start
order base-clone-first2 10: base-clone:start dbgroup:start
property $id="cib-bootstrap-options" \
        stonith-enabled="true" \
        no-quorum-policy="ignore" \
        placement-strategy="balanced" \
        dc-version="1.1.7-77eeb099a504ceda05d648ed161ef8b1582c7daf" \
        cluster-infrastructure="openais" \
        expected-quorum-votes="2" \
rsc_defaults $id="rsc-options" \
        resource-stickiness="1" \
op_defaults $id="op-options" \
        timeout="600" \

The Screenshots show the working of the cluster

Services running on both nodes

Services Running on both the nodes

Service groups running on node 2

Service groups running on node 2

Both the services running on node 1

Both the services running on node 1

Node 1 is completely Down

Services running on Node 2 when Node 1 is completely Down

SLES Cluster Image

Services running on Node1 when Node 2 is completely Down

Read the same @ SUSE Linux and SAP High Availability – SAT Infotech Pvt Ltd.

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.