MicroStrategy ONE
Server Clustering
Starting in MicroStrategy ONE Update 12, you can perform server clustering. A clustered set of machines provides a related set of functionality or services to a common set of users. MicroStrategy recommends clustering Intelligence servers in environments where access to the data warehouse is mission-critical and system performance is of utmost importance. Intelligence server provides you with the functionality to cluster a group of Intelligence server machines to take advantage of the many benefits available in a clustered environment.
A server cluster consists of a group of servers working concurrently to enhance data protection and sustain the consistency of the cluster configuration. Clustering provides protection against outages resulting from software or hardware failures. Additionally, clustering ensures higher availability, effective load balancing, and system scalability.
Each server within a cluster has its own CPU resources and memory to support dashboard and report executions. If one server in the cluster fails, the workload can be quickly transferred to another server. Clustering allows for automatic recovery from outage failures without user intervention. If a server crash occurs within the cluster, it does not impact the availability of data or applications to its users. Instead, a different server assumes control, allowing the cluster to minimize downtime and outages. With uninterrupted work, users can easily access the environment and consume dashboards. Server clustering is an excellent strategy for configuring and managing servers and is critically important for administrators to optimize costs, enhance performance, and provide better accessibility to their users.
MicroStrategy offers cluster start-up functionality to initiate the process of bringing a server online and make its resources readily available upon server restart. It helps to distribute the incoming traffic and improves performance.
Add a New Server to a Cluster
- Open the Workstation window.
- In the Navigation pane, under Administration, click Monitors.
-
In the left pane, click Clustering.
-
Click to add a server to the clustered environment.
-
Enter name of the server.
-
Click Add.
Add an Existing Server to a Cluster
- Open the Workstation window.
- In the Navigation pane, under Administration, click Monitors.
-
In the left pane, click Clustering.
-
Under Unclustered Servers, right-click the server you want to cluster and choose Add to Cluster.
Uncluster a Server
- Open the Workstation window.
- In the Navigation pane, under Administration, click Monitors.
-
In the left pane, click Clustering.
-
Right-click the server and choose Uncluster.
-
Enter the server name to confirm and click Uncluster.
If a server is unclustered and is enabled for cluster start-up option, the server is added to the cluster upon server restart. Please note that servers set to default cannot be unclustered.
Remove a Server from a Cluster
Use the Remove option to completely remove a server from a clustered environment. Unclustering and removing are completely different options. Once you remove a server from a cluster, you must add it as a new server if you want to cluster it again.
- Open the Workstation window.
- In the Navigation pane, under Administration, click Monitors.
-
In the left pane, click Clustering.
-
Right-click the server and choose Remove.
-
Enter the server name to confirm and click Remove.
Add/Remove from Cluster Start-up
Cluster start-up determines the server availability after a server restart.
- Open the Workstation window.
- In the Navigation pane, under Administration, click Monitors.
-
In the left pane, click Clustering.
-
Right-click the server and choose either Add to Cluster Start-up or Remove from Cluster Start-up.
Troubleshooting Server Clustering
When diagnostic logs are on, each project will generate a log in the Cube Server Trace log that indicates the start and end of the resynchronization process. To ensure your environment logs this information, enable the Cube Server Trace logs. For more information on enabling logs, see View and Edit Log Configuration Settings.
The log displays when the cube resynchronization starts and finishes:
Server Clustering Limitations
- Server clustering does not act as a preventative measure against cube inconsistencies, but assists to reestablish synchronization in your environment after cube inconsistencies. If a cube is inconsistent, it won't be automatically rectified upon network recovery but will instead wait for the next time cube lookup or pool files reload. As a result, customers might experience cube inconsistencies for a brief period.
- A cube's active and inactive status will not be resynchronized, as these statuses are not recorded in lookup files.
- If you delete a remote cube on a non-responsive remote Intelligence server, it will not resynchronize due to the Intelligence server responsibility to maintain local cubes. If the Intelligence server attempts to delete a cube that is published on the remote node, it will send a quest to the remote Intelligence server. This then triggers modifications in the lookup or pool files and the cube information or instance files will delete on the disk. However, modifying the cube files on the remote Intelligence server nodes is unsupported when the remote Intelligence server is non-responsive.