こちらのページでは、1.xシリーズでのHeartbeat向け入門ページと同じ内容を繰り返すのではなく、相違点について網羅するつもりです。
Contents
Heartbeatプログラムが公開されてからしばらく時間が経ちました。Heartbeatには多くの長所がありますが、バージョン1には以下のような対処が必要な欠点もありました。
このリリースでは、できるだけ多くの長所を維持しながら、こういった制限を取り除きました。
最新バージョンのHeartbeatは、こちらから入手できます。
* バージョン2.0.0 - 次世代Heartbeatの最初の安定リリース
- クラスタ情報ベース |
(複製されたリソース構成) |
- クラスタリソースマネージャ |
(1:Nノードのサポート) |
- モジュラー形式のポリシーエンジン |
(リソース配置の管理) |
- ローカルリソースマネージャ |
(ポリシー不要、クラスタ非対応) |
- Stonithデーモン |
(スタンドアロンのフェンシングサブシステム) |
OCFおよび LSB リソースエージェントのサポート
既存のharesources用の変換ツール
要求に応じて監視されるリソース
リソース・ メンテナンス ・モード
数種類のフェイルバック、障害と「No Quorum」の動作を選択( (グローバルデフォルトおよび、操作ごとまたはリソースごと)
コアインフラストラクチャが改善され、新しいSTONITH APIが(バグフィックスも)提供されたことは、2.0.xシリーズへとアップグレードする動機になりますが、このリリースでは、クラスタマネージャの機能が拡張され、3つ以上のノードが利用できるようになりました。
入門セクション
非同期ログ
syslog APIを直接使用する場合の欠点の1つは、呼び出しがブロックを起こしてしまうことです。ログの容量が増加し重大な問題が発生します。Heartbeatログデーモン(バージョン2の新機能)は、クライアントに代わって同期API呼び出しを行ってログを仲介し、この問題を解決します。
この機能の有効・無効を切り替えるには、ha.cf/UseLogd命令をご参照ください。 ログパッケージの選択
syslogよりもsyslog-ngを優先して使用するようお勧めします。Heartbeatバージョン2の機能や増加するクラスタサイズから見て、ユーザーの皆さんはログの容量が増加してしまうと懸念されるかもしれませんが、開発チームの経験では、syslogの方がsyslog-ngよりも多くのログメッセージを失います。
Syslog-NGの構成例
以下に、私(著者)がSLES9上のSyslog-ngで使用している追加構成についてお知らせします。クラスタ内のノード全てで、/etc/syslog-ng/syslog-ng.confの末尾に以下の行を追加します。
source s_tcp { tcp(port(9999) max-connections(16)); }; filter f_ha { facility(local7); }; filter f_ha_tcp { facility(local7); }; destination ha_local { file("/var/log/cluster.log" perm(0644)); }; destination ha_tcp { tcp(c001n16 port(9999));}; log { source(src); filter(f_ha_tcp); destination(ha_tcp); }; log { source(src); source(s_tcp); filter(f_ha); destination(ha_local); };
この命令では、local7ファシリティのログに記録された全ての内容をc001n16マシンに送信しています。さらに、local7ファシリティのログに記録された全ての内容を/var/log/cluster.logに送信します。c001n16マシンは、ほかのクラスタノードから送信された内容を全て含みます。
注:srcは、使用中のローカルマシンから生成されるログを参照します。使用される名前は、ディストリビューションごとに異なります。
(強制終了時などの)最終手段として、Heartbeatの各部がコアファイルを生成します。コアファイルによって、開発者にとって非常に貴重な情報がもたらされ、発生したバグの解決能力が高まります。
管理者には、新しいcoredumps命令を使用して、コアダンプの取得を読み、この重要な情報を失わないよう強くお勧めをいたします。
apiauth stonithd uid=root respawn root /usr/lib/heartbeat/stonithd
この命令は、クラスタリソースマネージャの使用時にのみ変更します。
crm yes
詳細については、ha.cf/CRM命令をご参照ください。
apiauth cibmon uid=hacluster respawn hacluster /usr/lib/heartbeat/cibmon -d
さらに総合的なユーザーガイドを入手することができます。改善点など、どうぞ、ご遠慮なく、ご提案ください。
基本的な単一IPアドレス構成 (初心者はここから始めてください)
その他、 簡単な例 についてもご参照いただけます。
問題を報告する際に、要求されることがありますので、覚えておいてください。
コアファイル:/var/lib/heartbeat/coresの各ディレクトリに格納されています。
ログファイル:syslog-ngなどを実行していると役立ちます。結合したクラスタログを提供してください(少なくともlocal7.info以降を推奨)。
問題がクラスタステートへの応答(リソースの起動/停止/再起動など)に関連する場合は、動作を示す CIG を含めることで、その問題の修正や説明が示される可能性が高くなります。この作業では、ptestを使用します。複数の-Vとともにptest -X path/to/cib.fileを起動して、詳しい出力を取得します。
バグレポートの提出については、 クラスタ・リソース・マネージャ/バグレポート を参照してください。
コンタクト情報 ソフトウェアのダウンロード インストール手順 クラスタ情報ベース/ユーザーガイド クラスタ情報ベース/簡単な例 Heartbeatバージョン2情報 その他のバージョン2用入門ドキュメント