Corosync情報
Corosyncとは
Corosyncとは、RedHat社が支援しているOpenAISプロジェクトから生まれたクラスタ制御ソフトウェアです。
OpenAISではクラスタ化に必要なクラスタ制御とリソース制御を提供していましたが、クラスタ制御部:Corosync、リソース制御部:OpenAISに分離されました。
一方でクラスタソフトウェアとして有名なHeartbeatは2008年にクラスタ制御部:Heartbeat、リソース制御部:Pacemakerに分離されています。
しかしながらHeartbeatは今後、機能強化を予定しないメンテナンスモードとなってしまいました。
Corosyncはさらなる性能向上と多ノード対応を目指しています。他にも次世代ネットワーク(Infiniband)対応、暗号化の強化など様々な機能強化による利便性の向上を目指しています。この事からクラスタ制御部としてCorosync、リソース制御部としてPacemakerの組み合わせで利用する事が推奨となっています。
Corosyncの歴史
HeartbeatとCorosync+Pacemkerの組み合わせ
過去、Heartbeat3.0.xとPacemaker1.0の組み合わせでの導入実績が多かったのですが、現在は「安定性」「導入実績」「将来性」「メンテナンス頻度」といった様々な観点からCorosync2.xとPacemaker1.1の組み合わせが推奨されています。
また、RHEL/CentOS 8 以降ではCorosync 3系 + Pacemaker 2系の組み合わせとなるHA add-on版パッケージを利用することを推奨しています。
主な特徴
主な特徴は以下のとおりです。
Linux-HA Japanプロジェクト(コミュニティ)での推奨となっているCorosync2.xとPacemaker1.1の組み合わせの特徴は以下となります。
1) 通信プロトコルの変更
CorosyncではHeartbeatとは異なるTotem(トーテム)とよばれる冗長リングプロトコルに変更となっています。 クラスタグループ(メンバ)に対して監視するためのメッセージを送信します。
この時、「ブロードキャスト」「ユニキャスト」「マルチキャスト」を選択する事ができます。
2) 多ノード対応、起動時間の大幅短縮(切替時間も約75%短縮)
- Pacemaker1.1は起動からリソース稼働完了までの時間がPacemaker1.0と比べて約80%も短縮されました。これにより多ノードのクラスタ環境でも運用できるようになりました。
- 運用面を考慮した場合、Pacemaker1.0では5ノード程度が限界でしたがPacemaker1.1では10ノード以上でも運用する事ができます。
※稼働リソース数やノード数で変わりますのでご検討の際にはご相談ください。
- 切替時間(開始から切替完了まで)はPacemaker1.0と比較して約75%程度も短縮しているために切替によるサービス停止時間を短縮する事が可能
3) 機能追加(Pacemaker1.1の機能)
- kdump連携
kdump機能はクラッシュ時にクラッシュダンプを取得する為の機能です。 従来はActive-Standbyクラスタ構成が両方ともActiveになってしまうスプリットブレイン状態となった場合、STONITHプラグインが片方を強制停止します。
このとき強制停止を行うとクラッシュダンプ取得も強制停止してしまい、正常にクラッシュダンプを取得する事ができなくなります。
Pacemaker1.1からはkdump処理が完了した事を通知する機能が追加され、この通知受けて強制停止を行う事ができるようになりました。
kdump機能はON/OFFができますので要件に応じて設定ください。
- Pacemaker Remote機能
多数のクラウドや物理サーバ、ホストOS型仮想基盤やDockerなどのコンテナ型仮想基盤の高可用性を実現するために有用な機能です。
- リソース配置定義によるフェイルオーバー機能
障害時にリソース消費量が少ないサーバに対してフェイルオーバーさせる機能です。
多ノードの高可用性を実現するために有用な機能となります。
類似プロダクト
Corosync+Pacemakerとの同類のソフトウェアとしては、「CLUSTERPRO X」「LifeKeeper」「Service Guard」などがあります。
商用製品との機能比較
比較項目 | Corosync+Pacemaker | 商用A | 商用B | |
---|---|---|---|---|
最大ノード数 |
16ノード※.1 |
32ノード |
32ノード |
|
クラスタ構成 | 1対1 |
○ |
○ |
○ |
1対N |
○ |
○ |
○ |
|
N対1 |
○ |
○ |
○ |
|
N対N |
○ |
○ |
○ |
|
クラスタ構成 | 共有ストレージ方式 |
○ |
○ |
○ |
データミラー方式 |
○※.2 |
○(別途有償) |
○(別途有償) |
|
監視 | 提供される監視エージェント数 |
約60 |
約15 |
約35 |
監視エージェントが提供されない場合 |
OCFスクリプト開発※.3 |
監視エージェント開発 |
監視エージェント開発 |
|
その他 | スプリットブレイン対応 |
○ |
○ |
○ |
運用ツール |
JavaベースのGUI管理画面(LCMC)※.4/コマンドライン |
Webブラウザによる管理画面/コマンドライン |
JavaベースのGUI 管理画面/コマンドライン |
|
ライフサイクル |
最大10年 |
最大10年 |
5年 |
|
パッチ提供 |
○ |
○ |
○ |
|
コスト※.5 | ライセンス費用 |
0円 |
170万円 |
180万円 |
年間サポート |
60万円 |
35万円 |
45万円 |
※.1 機能的には32ノード以上でも対応可能
監視リソース数15/ノード×16ノードまでが実運用できる範囲。1ノードあたりの監視リソース数が少なければ32ノードでも運用可能と思われる。
※.2 サポート契約に含まれるDRBDを利用(別途購入不要)
※.3 開発ガイドあり
※.4 Linux Cluster Management Console(LCMC)
※.5 Active-Standby:LAMP構成(データミラー型方式)とした場合の概算
動作環境
前提となる動作環境は、以下のとおりです。
OS ※サポート対象プラットフォーム
- Red Hat Enterprise Linux
- SUSE Linux Enterprise Server
- Oracle Linux
- Debian GNU/Linux
- CentOS
- Ubuntu Server Edition
Corosyncのライセンス
Corosyncのライセンスは新BSDライセンスです。Corosyncは個人・企業を問わず、ライセンス費用はかからず、無償で利用できます。新BSDの条件下で、ダウンロード、利用、ソースの改変、配布することもできます。
製品ダウンロード
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。