Don’t Fluster the Cluster

Ben and Jerry's Clusterfluff Ice Cream

Ben and Jerry’s recently introduced a new flavor called Clusterfluff (now rebranded as the more politically correct What a Cluster), described as “peanut butter ice cream with caramel cluster pieces, peanut butter and marshmallow swirls”. Yummy. But today, let’s talk about a different cluster: SAP BusinessObjects Business Intelligence, also known as SAP BusinessObjects Enterprise.

Ben and Jerry's Clusterfluff Ice CreamA cluster in SAP BusinessObjects Enterprise is defined as a system with multiple Central Management Servers (CMS) that work together by sharing a common system, or CMS, database. Each CMS is typically on its own physical device, known as a node. SAP BusinessObjects enthusiasts who take the BOE330 training class, Designing and Deploying a Solution, get to team up with their fellow students and create clusters in class. Let’s discuss using Microsoft Windows; however, the same principles apply to Linux/Unix.

I recently encountered a BI system with a poorly devised cluster. It was the second time that I’ve seen this ill-advised configuration on the XI platform, so it seemed worth writing about. Especially since SAP BusinessObjects Business Intelligence 4 continues the server architecture of the past few versions. In both of my situations, each physical server, or node, was built with a “new” install.  Once the installation was completed, the second CMS was stopped and reconfigured to point to the same system database as the first CMS, as shown in the illustration below (click image to enlarge).

How to Cluster SAP BI - Bad

Each node has an identical configuration. There’s two of everything. Two Central Management Servers. Two Crystal Reports Processing Servers.  Two Web Intelligence Processing Servers. And, sigh, two Input File Repository Servers, or iFRS. There are two Output File Repository Servers, or oFRS, as well. Each file repository server points to local storage on the node, which is a significant flaw that could lead to corruption of the cluster.

In a SAP BusinessObjects cluster, only one FRS is actively working even when all FRS in the cluster are enabled. Just like many of your coworkers, the rest of the FRS sit around doing nothing in a passive state waiting for the active FRS to fail. All FRS connect with the CMS upon startup. The active FRS is the one that contacts the CMS first.

So how can the cluster become corrupted? Let’s assume that the iFRS on node 1 becomes active. When a report is published to the system, it is stored on the iFRS default location, which is the C: drive on node 1. The CMS database contains an InfoObject containing the physical path to the report.

Next, let’s assume that the iFRS on node 1 fails. The iFRS on node 2 becomes active. When Wanda in accounting logs into InfoView to view a month-end report, the processing server will fetch the report from the active iFRS on node 2. However, because the report was originally written to the C: drive on node 1, Wanda will receive an error and call the Business Intelligence help desk.

The cluster, sadly, has become fluffed.

A better solution would be to disable the iFRS and oFRS on node 2, guaranteeing that the iFRS and oFRS on node 1 are always active and that all documents are stored locally on node 1. This configuration is shown in the following illustration (click image to enlarge).

How to Cluster SAP BI - Better

You might argue that this configuration is not fault tolerant. And it isn’t. However, neither was the first configuration. Disabling the second iFRS and oFRS is the first step to preventing additional corruption.

The best solution is to create a file system that both nodes can share, as shown in the illustration below (click image to enlarge).

How to Cluster SAP BI - BestEach FRS is configured in the Central Management Console (CMC) to use the shared space, typically by specifying a UNC path. Since the shared space is on a different device, the File Repository Servers will need to run using a domain account rather than the default Microsoft Windows Local System account. This account is specified in the Central Configuration Manager (CCM), either directly on the File Repository Server (XI R2) or vicariously through the SIA (XI 3.x, BI 4.0, BI 4.1). Be sure that separate directories are created to distinguish the Input File Repository from the Output File Repository; however, both can share a common parent directory, as they do in the default out-of-the-box configuration.

There are other design considerations for a truly fault-tolerant BI architecture, such as failover in the web application server tier. But that will have to wait until a future discussion. In the meantime, I hope you will enjoy a pint of Ben and Jerry’s Clusterfluff ice cream. And inspect your BI system to insure proper configuration.

Resources

SAP KB 1378753 – How to configure the File Repository Server (FRS) to point to the Network Attached Storage (NAS)?

What are your experiences with SAP BusinessObjects clustering? Share your thoughts (and favorite bookmarks).

BOE330

B

Dallas Marks

Dallas Marks

I am an analytics and cloud architect, author, and trainer. An AWS certified blogger, SAP Mentor Alumni and co-author of the SAP Press book SAP BusinessObjects Web Intelligence: The Comprehensive Guide, I prefer piano keyboards over computer keyboards when not blogging or tweeting.

26 thoughts on “Don’t Fluster the Cluster

  1. Thanks for this info. We don’t have a clustered BOE, but we are considering the clustered solution. Could you provide some links to information about BOE clustering?

  2. Thanks for writing detailed article.
    We have similar setup with NAS drive.
    One flaw which i see in this setup is that multiple CMS may or can cause deadlock situation or on node where CMS is there should not be webi report server or job server. because CMS like a heart beat needs to constantly communicate with repository and webi/job servers may cause interruption.

  3. Just learned that Ben & Jerry’s has renamed “Clusterfluff” to “What a Cluster”. Must have been too controversial.

    Ever have days where everything’s stuck in a cluster of flub-ups, fubars & snafus? It’s a no-fun phenomenon we thought would be funner if it had its own flavor. Now, when whatever you’re stuck in is making your head spin, just say “What a Cluster!!” & spoon into a whole ‘nother whirl of caramel-cluster-filled peanut butter & marshmallow lusciousness. Enjoy!

  4. In a CMS cluster scenario, how does Tomcat decide which CMS to communicate to? Is it always the same CMS?

  5. Dallas,

    very good article. I am in the middle of setting up a cluster for BOE 4.0 and your article makes all sense.

    I am stuck at the last comment in your article: The best solution is to create a file system that both nodes can share. How do we achieve that in a windows environment where all our storage is SAN attached. My windows admin says that the only way to do so is to attach this storage to server 1 and then share it to server 2 as a mapped network drive. However, that would not work again if server 1 goes down. So, what is the other solution to share a storage among 2 servers at all times. I need to put my windows/network admin on the right path.

    Thanks,

    BV

    1. BV,

      I’m not a Windows admin, but if it were me I would allocate storage on a third server (server 3) then map it either via UNC or drive letter to each iFRS, ex. \server3Input. Then do the same thing for the oFRS, \server3Output. The important thing to understand is that all of the iFRS’s need to point to a SINGLE directory structure. And all of the oFRS’s need to point to a single directory structure SEPARATE from the one used for iFRS. Good luck!

  6. I am struck on cluster, i am setting up on sun solaris. I hv 3rd sever with oracle database 11g for cms / audit db. Also created filesystem as NFS with the name filestore under this frsinput & frsoutput folder has been created.

    Also we hv created 2nd server as custom installation option not as new installation. Then 2 server ifrs & ofrs service has been maped filesystem storage location as follow \filestore/frsinput and frsoutput. Kindly advice we hv done the right setup for cluster. +965 99811869

  7. Hi Prasad,

    Your setup seems right and should be okay. Just make sure in the SIA properties, the cluster name has come as a common one.

    Also, an additional test of users connecting to the 2nd machine and creating reports, exporting them to repository. These reports should then be visible and refreshable on the 1st server and vice versa.

    Additionally, having a proper load balancing device (like netscaler) will help in distributing the load, though BO would take care of it internally.

    Regards,

    George

  8. Hi Dallas
    May I know what is the correct way to disable iFRS & oFRS in Node 2 ?
    Stop & Disable “SIA.InputFileRepository” & “OutputFileRepository” services ?
    Also untick “Automatically start” for both above services ?
    We’re still waiting our vendor to prepare NAS storage for us.

  9. Hi Dallas,

    Could you please provide high level documentation on Installation and clustering on solaris environment.

    Thanks,
    R

  10. Hi,
    We are facing the exact same issue, since there is an individual FRS in each node. As a remedial situation, we are looking at going for a shared server set up. My question is, I have files in both iFRS with same file directory names. So when i move them to the new file server, how would that work? Will we loose some content?

    Thanks
    V

    1. V,

      Thanks for writing.

      The danger in attempting to merge two distinct file repositories is that both may contain a particular infoobject and how will you insure the merged repository contains the most recent update?

      I recommend that you open a case with SAP and let them advise you the best way to recover from your current configuration.

  11. Hi Marks, Good article.

    I have a question. What do you think about 2 nodes with all tiers (App + Intelligence + Processing) installed and running?

    Ideally the App tier should be seperate. But for easy maintenance, I am thinking about all BO tiers on 2 nodes (2 seperate servers). Each node will have enough capacity to run all 3 tiers. This is for a high availablity system.

    Thanks,
    Prasad

    1. Prassad,

      Thank you for your question. We have successfully combined the intelligence + processing tiers on a single node, assuming that node is sufficiently large. For example, we have 2 identical nodes clustered together, each having 96 GB RAM. But we still have Tomcat on two smaller, separate (and load balanced) servers. I do not recommend Tomcat on same machine for production servers.

      Regards,
      Dallas

  12. Good pointer to a common fault. I must say though that in recent attempts the ‘2 server new then reconnect’ procedure seems easier/less fault prone than the ‘extend’ installation.

    Quite often I also find that general fault tolerance best practise is not followed, and even when the FRS has been pointed at a shared folder, that itself is on a single device and is not fault tolerant – same with the CMS database.

    If you’re doing this out there, don’t forget to remove ALL single points of failure!

  13. I wish I found this blog sooner! I’m currently having an issue with a dual node setup and SSO. My SSO works for each individual server just fine, however when using a DNS alias it cannot auto login the BI page. Any thoughts or direction would be appreciated.
    Example:
    server1.domain.com:8080/BOE/BI – works with no problem auto sign on
    server2.domain.com:8080/BOE/BI – works with no problem auto sign on

    DNS alias: devreports.domain.com:8080/BOE/BI – does not work

    Not quite sure what I’m missing. Thank you.

    1. Shawhan,

      Thanks for writing. I haven’t written much on the topic but you have to run setspn commands for the load balancer/alias just like you do for the individual web servers. SAP has pretty good documentation on SSO sign-up, and pretty fast response on these types of issues if you open a support incident.

      Dallas

Comments are closed.