キャリアグレードLinuxのクラスタリング要件

 キャリアグレードLinuxの、"Carrier Grade Linux Clustering Requirements Definition Version 3.1"では、クラスタリングに関する要求仕様を定義しています。

 以下が要求仕様です。(工事中。随時追加予定)
 表面的に訳しただけの所も多いので、そのうち解説を書くつもりです。
 SA forum AISとあるのは、SA forumのApplication Interface Specificationで定義されている機能です。

4 Clustering Requirements

4.1 Service Availability Forum API

CMS.1.0 Cluster Membership Service (SA Forum AIS)

 クラスタノードとクラスタのメンバに関する情報を得る手段を提供し、クラスタのメンバが変わった場合に通知を受取ることを可能とする。
CES.1.0 Cluster Event Service (SA Forum AIS)
 publisher/subscriber間の非同期通信が可能なイベントチャネルのコンセプトに基づく通信サービス。
 プロセスがpublishしたイベントは、イベントチャネルにsubscribeしているクラスタ内のどのプロセスにも送られる。これは、ノード間、プロセス間通信を意味する。
CCS.1.0 Cluster Checkpoint Service (SA Forum AIS)
 チェックポイント機能。
 故障からのリカバリーにおいて、チェックポイントサービスは以前のチェックポイントデータから回復し、故障する前に記録された状態から実行を再開する。
 チェックポイント情報はメモリ上に格納され、チェックポイントデータは複数のクラスタノードに複写される。
CLS.1.0 Cluster Lock Service (SA Forum AIS)
 異なったノードのプロセスが共用リソースのアクセスで競合するクラスタに適した分散ロックサービス。
 分散ロックマネージャーの使用で利益があるアプリケーションとサービスは、データベースやファイルシステム、リソースコントローラー/マネージャーのようにトランザクション指向のものである。
CAF.1.0 Cluster Availability Framework (SA Forum AIS)
 可用性管理フレームワークは、SA対応したアプリケーションに以下の機能を提供する。

4.2 機能要件

CFH.1.0 Cluster Node Failure Detection

 クラスタメンバーシップサービスと連動した、高速でコミュニケーションベースのクラスタノード故障機構。
 最低限、クラスタノード故障機構は現在クラスタ内でアクティブなノードの一覧を保持する。
 クラスタのメンバーシップの変更は、メンバーシップイベントの通知のために登録されているクラスタサービス、アプリケーション、ミドルウェアによって監視されるメンバーシップイベントが発生する。

 高速なノード故障検出は、ノードが故障していると報告している故障ノードに依存してはならない。ただし、自己診断はクラスタ内で故障検出を迅速に行う役に立つかも知れない。

 この要求は、共用リソースへのアクセスからのノード故障を以下に予防するかの問題(CFH.3.0 Application Fail-Over Enabling)には関係しない。

 高速ノード故障検出は以下の能力を含む。

CFH.2.0 Prevent Failed Node From Corrupting Shared Resources
 故障したノードを強制停止することなどにより共用リソースを保護する。
CFH.3.0 Application Fail-Over Enabling
 アプリケーションのフェイルオーバーを可能とする。
CSM.1.0 Storage Network Replication
 以下をサポートするストレージネットワークレプリケーション。
CSM.2.0 Cluster-aware Volume Management for Shared Storage
 クラスタ対応された共用ストレージのボリューム管理
CSM.3.0 Shared Storage Mirroring
 共用ストレージのクラスタワイドのデータミラー。
 この共用ストレージにアクセスする各ノードはミラー化されたストレージの同じビューを持つ。共用ストレージは各ラスタのどのノードからも管理可能。これはハードRAIDでもソフトRAIDでもよい。
CSM.4.0 Redndant Cluster Storage Path
 ストレージへの冗長パス。
 CGL Availability Requirement: AVL.7.1 Multi-Path Access To Storageと同じ。
CSM.6.0 Cluster File System
 複数のノードから同時にアクセスできる共用ファイルシステム。ノード故障はすべてのノードで透過的でなければならない。ユーザーAPIとセマンティクスは通常のファイルシステムと同じでなければならない。
CCM.2 Cluster Communication Service
 信頼でき高スループットなプロセス間、プロセッサー間通信。
 このサービスはクラスタの通信基盤を提供し、プラットフォーム無依存でスケーラブルな高可用性高性能な分散通信アプリケーションを設計可能とする。
CCM.2.1 Cluster Communication Service - Logical Addressing
 point-to-pointとmultipoint通信のための論理アドレッシングを提供するソケットベースのクラスタ通信サービス。
 
CCM.2.2 Cluster Communication Service - Fault Handling
 コネクションの故障を検出、切断し、故障を通知する高信頼な通信サービス。
 確立したコネクションはプロセスやノードのクラッシュのようなどのようなサービス故障に対しても250ms以内にアプリケーションに問題を報告する。
 コネクション故障検出はクラスタに合わせて設定可能でなければならない。
CCM.3.0 Redundant Cluster Communication Path
 クラスタノード間の冗長化された通信パス。アプリケーションに対しては一つに見える。
 これは、CGL Availability Requirement: AVL.7.3 Redundant Communication Pathsに対応する。
CAF.2 Highly Available Network
 ステートフルなネットワークとセッションのフェイルオーバー。
(つまりコネクション自体を透過的にフェイルオーバーさせろと言っている)
CAF.2.1 Ethernet MAC Address Takeover
 MACアドレス引き継ぎ。
CAF.2.2 IP Takeover
 IPアドレス引き継ぎ。
CCS.2.0 SAF-AIS Data Checkpointing Performance
 SA Forum AISのチェックポインティングサービス。
 ただし、毎秒500回、API1個あたり最低限2048バイトに耐えられなければならない。
CMS.2.0 Dynamic Cluster Membership
 事前の設定無しに動的にクラスタノードが追加できること。

4.3 クラスタ管理

CMON.1 Cluster Node Monitoring

 クラスタの全ノードの可用性の監視を管理コンソールで出来ること。
CMON.1.1 Cluster Node HW Status Monitoring
 クラスタノードのハードウェア故障から隔離された管理コンソール。
 CGL Standards Requirements DefinitionのSTD.8.8 SA Forum HPIに対応する。
CMON.1.2 Cluster Events for Node Status Changes
 クラスタのメンバーシップの変更があった場合に管理コンソールから検出できること。
CMON.1.3 Cluster-Wide Resource Monitor
 集中してクラスタリソースにアクセスでき、全クラスタの性能の分析が容易に出来、統計情報が採取できること。
CDIAG.2 Cluster-Wide Diagnostic Info
 core dumpやcrash dumpのような診断情報を生成・収集するクラスタ対応された機構。
CDIAG.2.1 Cluster-Wide Identified Application Core Dump
 core dumpが生成されたノードが一意に識別できる、クラスタ対応されたアプリケーションcore dump。
 例えば、ディスクレスノードのダンプをネットワークストレージに格納し、どのノードのものか識別できること。
CDIAG.2.2 Cluster-Wide Kernel Crash Dump
 crash dumpが(以下同文)
CDIAG.2.3 Cluster-Wide Log Collection
 ロギングが(以下同文)
CDIAG.2.4 Synchronized/Atomic Time Across Cluster
 500ms以内の時刻同期機構。時刻同期サービスが開始して10秒以内に同期すること。

5 Clustering Roadmap

5.1 Service Availability Forum API

CCM.1.0 Cluster Message Service (SA Forum AIS)

 SAF-AISメッセージサービス。

5.2 機能要件

CSM.5.0 Cluster Synchronized Device Hotswap

 クラスタ内で共用装置の活性挿抜。
CSM.7.0 Shared Storage Consistent Access
 パーティションが他のノードで使われている時には、パーティション情報の変更が出来ないような共用ストレージの一貫性の維持。
CCM.2 Cluster Communication Service
 信頼でき高スループットなプロセス間、プロセッサー間通信。
 このサービスはクラスタの通信基盤を提供し、プラットフォーム無依存でスケーラブルな高可用性高性能な分散通信アプリケーションを設計可能とする。
CCM.2.3 Cluster Communication Service - Quality of Service
 コネクションモードでレプリケートなしで、不正になることが無く、損失がないメッセージ配布のシーケンスを保証する。
CCM.2.4 Cluster Communication Service - Performance
 スループットとレイテンシーにおいて、TCPよりも高速なクラスタ間通信。
CCM.2.5 Cluster Communication Service - Event Notification
 プロセス間通信(IPC)に中継することが出来る高信頼な通信サービス。
CCM.4 Group Messaging Protocol
 グループへのメッセージの送信、グループ内のメッセージの受信、グループメンバーシップの変更の受信が可能で、配布が保証されているグループメッセージングプロトコル。
CCM.4.1 Group Messaging Agreed Ordering
 すべてのメンバーが同じ順序でメッセージを受取ることが出来るようなグループメッセージングプロトコル。
CCM.4.2 Group Messaging Safe Ordering
 すべてのグループメンバーや非グループメンバーが同じ順序でメッセージを受取ることができるグループメッセージングプロトコル。
CCM.4.3 Group Messaging Membership Delivery Guarantee
 すべてのメッセージとメンバーシップの変更がすべてのクラスタメンバーに配布されるグループメッセージングプロトコル。
CMS.3.0 Single Node Multiple Clusters
 自分自身のクラスタメンバーとなり、クラスタの複数のインスタンスの一部となる能力。
CAF.2 Highly Available Network
 Requirement参照。
CAF.2.3 Deliberate TCP Session Takeover
 TCPセッションを待機ノードに切替えるための、TCPソケット、バッファ構造、シーケンス番号の同期機構。
CAF.2.4 TCP Session Takeover on Node Failure
 CPU、メモリ、カーネルのような致命的なリソースのフェイルによりTCPセッションを切替えるためのTCPソケット、バッファ構造、シーケンス番号の同期機構。

5.3 クラスタ管理

CMON.1 Cluster Node Monitoring

 Requirement参照。
CMON.1.4 Cluster-Wide Application Monitor
 クラスタ内のアプリケーションを監視する手段。
 これはクラスタ内で動作するアプリケーションをオンデマンドでチェックし、アプリケーションが故障していたなら管理者が指定していたアクションを実行する。
CCON.1 Management Control
 診断の実行、ソフトウェアのアップデート、クラスタノードのリブートなどの管理をリモートから実行できる管理コンソール。
CCON.1.1 Run Diagnostics
 クラスタノードの診断をリモートから実行できる管理コンソール。
CCON.1.2 Boot/Reboot nodes
 クラスタ内のどのノードでも起動・再起動できる管理コンソール。
 CGL STD.8.8 SA Forum HPIに対応する。
CCON.1.3 SW Upgrades
 ノード上のソフトウェアのアップグレードをリモートから実行できる管理コンソール。
CCON.1.4 SW Rolling Upgrades
 クラスタが動作したままの、クラスタ内のノードのアップグレード。
CDIAG.1 Online Diagnostics
 クラスタ内のノードのオンライン診断をリモートから実行できる機能。
CDIAG.1.1 Online Diagnostics for Fans and Power Supplies
 ファン、冗長電源ユニットのオンライン診断。
CDIAG.1.2 Online Diagnostics for System Components
 CPU、メモリ、インタフェースカード、ディスクなどのシステムコンポーネントのオンライン診断。
Topに戻る CGL/SAFに戻る