No edit summary |
|||
Line 1: | Line 1: | ||
= Cluster = | = Cluster = | ||
Line 8: | Line 6: | ||
== Owner == | == Owner == | ||
* Name: [[User:fabbione| FabioMassimoDiNitto]] | |||
* email: fabbione@redhat.com | |||
* Name: [[User:lon|LonHohberger]] | * Name: [[User:lon|LonHohberger]] | ||
* email: lhh@redhat.com | * email: lhh@redhat.com | ||
== Current status == | == Current status == | ||
Line 23: | Line 21: | ||
* A new command-line interface for administration of both the Corosync Cluster Engine and the Pacemaker Cluster Resource Manager (50% complete) | * A new command-line interface for administration of both the Corosync Cluster Engine and the Pacemaker Cluster Resource Manager (50% complete) | ||
* Convergence on a single set of resource agents from the Linux clustering community | * Convergence on a single set of resource agents from the Linux clustering community | ||
* Enhanced fencing support | * Enhanced fencing support provided by stonith-ng, which is part of the Pacemaker project. | ||
* Separation of GFS2-specific utilities in to a separate project | * Separation of GFS2-specific utilities in to a separate project (100%) | ||
* Separation of DLM-specific utilities in to a separate project | * Separation of DLM-specific utilities in to a separate project (90%) | ||
Note that this transition includes deprecations: | Note that this transition includes deprecations: | ||
* The cluster package, including CMAN, DLM utilities, GFS2 utilities, and all associated libraries. | * The cluster package, including CMAN, DLM utilities, GFS2 utilities, fenced, and all associated libraries. | ||
* The rgmanager package. All users are advised to use Pacemaker for their failover needs. | * The rgmanager package. All users are advised to use Pacemaker for their failover needs. | ||
* The openais package. This provided some of the SA Forum AIS APIs, which were rarely used. | * The openais package. This provided some of the SA Forum AIS APIs, which were rarely used. | ||
* The piranha package. Superior functionality is provided by the [http://keepalived.org Keepalived] package. | * The piranha package. Superior functionality is provided by the [http://keepalived.org Keepalived] package. | ||
* The ricci package. Similar agent-style communication can be provided by Matahari or other projects. | |||
* The luci package. This will be replaced by Sunzi, although it is not clear this part will make Fedora 17. | |||
* The clustermon package. This was part of the ricci/luci administration stack and is no longer required. | |||
* Several agents in the resource-agents package which previously relied on examination of cluster.conf at run-time. | |||
== Benefit to Fedora == | == Benefit to Fedora == | ||
Line 40: | Line 42: | ||
== Scope == | == Scope == | ||
<!-- What work do the developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do the developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
This change impacts several utilities and other applications, including: | |||
* The DLM, which used AIS Checkpoints to replicate data about POSIX locks (100% complete) | |||
* Clustered LVM, which used CMAN APIs, will need to be ported to corosync. (?% complete) | |||
* Fence-virt, which used CMAN APIs and AIS Checkpoints, will need to be ported to corosync. (0% complete) | |||
* Pacemaker, which used CMAN APIs, will need to be ported to corosync (100% complete) | |||
* QPid, which used CMAN APIs, will need to be ported to corosync (?% complete) | |||
== How To Test == | == How To Test == | ||
Line 55: | Line 63: | ||
3. What are the expected results of those actions? | 3. What are the expected results of those actions? | ||
--> | --> | ||
The initial use cases required for high availability are documented in the [http://www.clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Clusters_from_Scratch/ Clusters from Scratch] manual. | |||
Information about how to run GFS2 in standalone mode will be provided as development nears completion. | |||
== User Experience == | == User Experience == | ||
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice. --> | <!-- If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice. --> | ||
Some differences will be noticeable by users: | |||
* Users of the rgmanager package will need to learn the Pacemaker package, which is a more dynamic, complex, full-featured cluster resource manager. | |||
* Users who relied on cluster.conf (whether using ccs, luci, or hand-editing) will need to learn: | |||
** The crm and/or pcs commands and become familiar with the CIB, which is an XML database of the failover resource configuration combined with some run-time state information. | |||
** The layout, syntax, and use of corosync.conf | |||
* Users who relied on the clustat command will need to learn the following commands: | |||
** cibadmin | |||
** crm_mon | |||
** crm_resource | |||
== Dependencies == | == Dependencies == | ||
Line 64: | Line 84: | ||
* pacemaker | * pacemaker | ||
* cluster-glue | * cluster-glue | ||
* dlm (in review) | * dlm (in review currently) | ||
* libqb | |||
* pcs (in review currently) | |||
All packagers and upstreams have been informed upfront and worked together to achieve this goal. | All packagers and upstreams have been informed upfront and worked together to achieve this goal. |
Revision as of 18:25, 24 January 2012
Cluster
Summary
This is a significant update to the clustering stack - both for high availability and load balancing.
Owner
- Name: FabioMassimoDiNitto
- email: fabbione@redhat.com
- Name: LonHohberger
- email: lhh@redhat.com
Current status
- Targeted release: Fedora 42
- Last updated: 24 Jan 2012
- Percentage of completion: 70%
Detailed Description
Upstream has been developing the new version of the stack. The major features are:
- Improved quorum subsystem which is integrated in to the Corosync Cluster Engine (95% complete)
- A new command-line interface for administration of both the Corosync Cluster Engine and the Pacemaker Cluster Resource Manager (50% complete)
- Convergence on a single set of resource agents from the Linux clustering community
- Enhanced fencing support provided by stonith-ng, which is part of the Pacemaker project.
- Separation of GFS2-specific utilities in to a separate project (100%)
- Separation of DLM-specific utilities in to a separate project (90%)
Note that this transition includes deprecations:
- The cluster package, including CMAN, DLM utilities, GFS2 utilities, fenced, and all associated libraries.
- The rgmanager package. All users are advised to use Pacemaker for their failover needs.
- The openais package. This provided some of the SA Forum AIS APIs, which were rarely used.
- The piranha package. Superior functionality is provided by the Keepalived package.
- The ricci package. Similar agent-style communication can be provided by Matahari or other projects.
- The luci package. This will be replaced by Sunzi, although it is not clear this part will make Fedora 17.
- The clustermon package. This was part of the ricci/luci administration stack and is no longer required.
- Several agents in the resource-agents package which previously relied on examination of cluster.conf at run-time.
Benefit to Fedora
The increased reliability and versatility of the cluster components included in Fedora 17 allow administrators to deploy Fedora in environments where greater availability and clustered file systems are required. Removal of rgmanager matches the capabilities offered by several other Linux distributions and allows the Fedora community to consort efforts on a single failover stack.
Scope
This change impacts several utilities and other applications, including:
- The DLM, which used AIS Checkpoints to replicate data about POSIX locks (100% complete)
- Clustered LVM, which used CMAN APIs, will need to be ported to corosync. (?% complete)
- Fence-virt, which used CMAN APIs and AIS Checkpoints, will need to be ported to corosync. (0% complete)
- Pacemaker, which used CMAN APIs, will need to be ported to corosync (100% complete)
- QPid, which used CMAN APIs, will need to be ported to corosync (?% complete)
How To Test
The initial use cases required for high availability are documented in the Clusters from Scratch manual.
Information about how to run GFS2 in standalone mode will be provided as development nears completion.
User Experience
Some differences will be noticeable by users:
- Users of the rgmanager package will need to learn the Pacemaker package, which is a more dynamic, complex, full-featured cluster resource manager.
- Users who relied on cluster.conf (whether using ccs, luci, or hand-editing) will need to learn:
- The crm and/or pcs commands and become familiar with the CIB, which is an XML database of the failover resource configuration combined with some run-time state information.
- The layout, syntax, and use of corosync.conf
- Users who relied on the clustat command will need to learn the following commands:
- cibadmin
- crm_mon
- crm_resource
Dependencies
- corosync (2.0)
- pacemaker
- cluster-glue
- dlm (in review currently)
- libqb
- pcs (in review currently)
All packagers and upstreams have been informed upfront and worked together to achieve this goal.
Contingency Plan
None necessary
Documentation
Release Notes
- The update to version 2.0 (needle) of the Corosync Cluster Engine offers:
- Plugin ABI & API stability guarantees for the duration of Corosync 2.0's lifetime
- High performance, cluster-wide messaging
- Improved quorum subsystem
- Improved configuration management
- The update to version 1.1.7 of the Pacemaker Cluster Resource Manager offers:
- Improved fencing subsystem which can be used in either GFS2 standalone environments or resource-driven clusters (which may or may not include GFS2)
- Improved logging via the libqb framework