ClusterStack

Summary

This specification focuses on fully integrated cluster stack. It defines which tools are going to be used to define high availability and load balancing cluster system.

Release Note

Pacemaker, with corosync as a messaging layer, is now default cluster resource manager. Other components of cluster stack include DRBD and keepalived. Support for CLVM, OCFS2 and GFS2 is included.

Rationale

Up till now, default cluster system in Ubuntu was Red Hat Cluster System. Even though it's a good platform, not many system administrators use it in Ubuntu. Most of the administrators rather use heartbeat. Heartbeat 3.0 isn't a full cluster suite anymore.

There's an intention to bring all Linux clustering options more closer to each other. Pacemaker was chosen as a base for this project. So, Ubuntu needs to keep track with upstream and define it's cluster stack according to decisions made at the Cluster Summit in Prague, 2008.

Use cases

  • Rick wants fail over cluster for his MySQL service. He installs predefined cluster stack and configures MySQL service.
  • Matt already has Red Hat Cluster Suite setup in Ubuntu 10.04 and he wants to migrate to Ubuntu 10.10 and this new cluster stack we offer.

Design

Components of cluster stack

  • pacemaker
  • openais
  • corosync
  • cluster-glue
  • cluster-agents
  • redhat-cluster-suite
  • drbd
  • keepalived
  • heartbeat

Pacemaker

Pacemaker is core of new cluster stack. It's job is to start, stop and monitor resources which cluster provides. It can use corosync or heartbeat3 as a messaging and membership layer.

For Maverick, corosync will be default messaging and membership layer. Pacemaker with heartbeat as a messaging layer will also be provided.

OpenAIS

OpenAIS provides extensions to Corosync which are required for clustered file systems, such as GFS2 and OCFS2.

Corosync

Corosync is a messaging layer between cluster members. Corosync Cluster Engine allows any third party to implement plugin cluster services using the infrastructure provided.

Red Hat Cluster Suite

Until now, Red Hat Cluster Suite was the supported cluster stack in Ubuntu. It's also based on corosync. We should provide migration documentation or tools for those that want to move from Red Hat Cluster Suite to Pacemaker.

Parts of RHCS, such as locking library, are required for clustere filesystems. One of supported file systems, GFS2, comes from RHCS.

DRBD

DRBD is a block device that enables network RAID1 mirrors. Default cluster stack in Ubuntu should provide tools for managing clusters with DRBD devices.

Cluster-glue, Cluster-agents, Heartbeat

These are libraries and binaries which are required for Pacemaker. Among them are resource agents and stonith binaries.

Keepalived

This is and will continue to be supported load balancing solution.

Implementation

Please look at whiteboard of server-maverick-clusterstack.

Test/Demo Plan

"This need not be added or completed until the specification is nearing beta."

Unresolved Issues

One of the libraries depends on obsolete and unmaintained libesmtp5 library. We need to find a workaround for it or build the library wihtout the support for smtp.

BoF agenda and discussion

UDS-M notes

== Goals ==
 * Upstartify Cluster Stack initialization scripts      
 * Find a solution for an upstart bug (no exit codes)
   * should be fixed in Maverick
 * Upload new version of rhcs built with support for pacemaker
 * Demote cman, rgmanager (keep libdlm, gfs and co.)
 * Create cluster task for tasksel
  * Corosync
  * Pacemaker
  * ifenslave
 * Documentation
  * multiple levels of fencing
 * Improve bonding in installer

 * UEC/Eucalyptus OCF RA's
  * needs investigation
 * Cloud Loadbalancing solution
  * different session
 * Puppet

== Requests ==
 * PVFS2 (pvfs.org)
 * Monitor cluster stack


CategorySpec

ClusterStack (last edited 2010-05-26 10:44:44 by ivoks)