ClusterStack
Size: 5162
Comment:
|
← Revision 3 as of 2010-05-26 10:44:44 ⇥
Size: 4393
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
* '''Launchpad Entry''': UbuntuSpec:server-karmic-cluster-stack * '''Created''': 13 Jun 2009 |
* '''Launchpad Entry''': UbuntuSpec:server-maverick-clusterstack * '''Created''': 26 May 2010 |
Line 12: | Line 12: |
=== 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. Problem with heartbeat is that it isn't being developed any more. At least not in the form it was until now. |
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. |
Line 19: | Line 22: |
* Matt already has Red Hat Cluster Suite setup in Ubuntu 9.04 and he wants to migrate to Ubuntu 9.10 and this new cluster stack we offer. | * 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. |
Line 22: | Line 25: |
=== Components of mail stack === | === Components of cluster stack === |
Line 24: | Line 27: |
* openais-legacy | |
Line 27: | Line 29: |
* cluster-glue * cluster-agents |
|
Line 29: | Line 33: |
* keepalived * heartbeat |
|
Line 31: | Line 37: |
Pacemaker is core of new cluster stack. It's job is to start, stop and monitor resources which cluster provides. It can use openais-legacy or heartbeat (2.99.x|3.x) as a messaging and membership layer. It also contains parts of old heartbeat code. | 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. |
Line 33: | Line 39: |
[[http://clusterlabs.org/wiki/Main_Page|{{http://clusterlabs.org/mediawiki/images/thumb/9/9f/Stack.png/800px-Stack.png|Cluster Stack|width=800,height=402}}]] For Karmic and further releases, openais-legacy will be default messaging and membership layer, until pacemaker moves to newer openais (under development) version. Pacemaker with heartbeat as a messaging layer will also be provided, but it will not be supported, since development of heartbeat is discontinued. 3.x release should be the last, but it will work only as a messaging layer for pacemaker - it will not be able to provide full cluster suite anymore. === OpenAIS-legacy === OpenAIS-legacy is name for current stable version of openais - whitetank. Pacemaker and probably Red Hat Cluster Suite will be buit on top of these version of openais, until openais/corosync get to version 1.0. |
For Maverick, corosync will be default messaging and membership layer. Pacemaker with heartbeat as a messaging layer will also be provided. |
Line 41: | Line 42: |
OpenAIS-legacy was split into two trees - openais and corosync. These are still development versions, without a stable API. Once they get stable, Pacemaker will be built with support for them. This should happen before Karmic release or at least Karmic+1. | OpenAIS provides extensions to Corosync which are required for clustered file systems, such as GFS2 and OCFS2. |
Line 44: | Line 45: |
Corosync Cluster Engine allows any third party to implement plugin cluster services using the infrastructure provided. It's needed for new OpenAIS. | Corosync is a messaging layer between cluster members. Corosync Cluster Engine allows any third party to implement plugin cluster services using the infrastructure provided. |
Line 47: | Line 48: |
Until now, Red Hat Cluster Suite was the supported cluster stack in Ubuntu. It's also based on openais-legacy or openais/corosync. We should provide migration documentation or tools for those that want to move from Red Hat Cluster Suite to Pacemaker/OpenAIS. | 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. |
Line 50: | Line 53: |
DRBD is block device that enables network RAID1 mirrors. Default cluster stack in Ubuntu should provide tools for managing clusters with DRBD devices. | 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. |
Line 54: | Line 63: |
== Restrictions == | Please look at whiteboard of [[https://blueprints.edge.launchpad.net/ubuntu/+spec/server-maverick-clusterstack|server-maverick-clusterstack]]. |
Line 57: | Line 66: |
Testing packages will be provided in [[https://edge.launchpad.net/~ubuntu-ha/+archive/ppa|Ubuntu-HA PPA]]. Packages should be built in cooperation with Debian HA team. Plan is to provide stable pacemaker-openais packages and to work on redhat-cluster-suite in parallel. Goal is to have pacemaker-openais in main and both pacemaker-heartbeat and redhat-cluster-suite in universe. We should also drop old heartbeat infrastructure, since it's unmaintained and obsoleted by these tools. |
"This need not be added or completed until the specification is nearing beta." |
Line 62: | Line 69: |
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. |
|
Line 63: | Line 72: |
=== Karmic UDS notes === | === UDS-M notes === |
Line 65: | Line 74: |
These are the notes from UDS session: = Ubuntu Cluster Stack = |
== 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 |
Line 68: | Line 88: |
Discussed options: * Redhat Cluster Suite * Heartbeat * Going to die. * Pacemaker * http://clusterlabs.org/wiki/Main_Page |
* UEC/Eucalyptus OCF RA's * needs investigation * Cloud Loadbalancing solution * different session * Puppet |
Line 75: | Line 94: |
Upstream status: * Movement to standardize on cluster between distros. Plans: * ubuntu-ha team to approach Debian team for a joint work on cluster stack * Create templates for cluster stack to make it easier to deploy * Management tool for setting up, and maintaining clusters Goal for Karmic: * Focus on Pacemaker/OpenAIS setup as a future cluster stack and keep Redhat Cluster Suite until Pacemaker is ready. * Update RHCS to latest version and make it easier to setup * Documentation for RHCS/Pacemaker with DRBD. * HA Cluster * Add to Server Guide * OpenAIS * Will need a guide for migrating from RHCS to Pacemaker/OpenAIS. * Everything is in the archive, just needs some polish. |
== Requests == * PVFS2 (pvfs.org) * Monitor cluster stack |
Launchpad Entry: server-maverick-clusterstack
Created: 26 May 2010
Contributors: AnteKaramatic
Packages affected:
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
ClusterStack (last edited 2010-05-26 10:44:44 by 82)