HAを見守る「Watchdog」と「STONITH」
VA Linux Systems Japan株式会社
花島タケシ
2008/1/23
STONITHも使ってみよう
STONITHについても、初回の記事で簡単に説明しました。これは「Shoot The Other Node In The Head」の略で、監視対象ノードの異常を検出したときに、強制的にそのノードをダウンさせる役割を果たします。
なぜこうした機能が必要かというと、コントロールが利かないノードを強制的に排除することで、IPアドレスが重複したり、複数のノードが「自分がプライマリである」と思い込むような状況をなくし、全体としてのデータ損失を防ぐためです。
「対象ノードをダウンさせる」ためには、相手のOSが反応を返さないケースも考慮して、サービスを提供するOSとは別の経路でOSにアクセスする必要も出てきます。
そのため、サーバマシンの中には、専用の管理ポートを提供するモデルがあります。こうした専用ポートは、起動しているOSに依存せずに動作しています。また、同様の機構を提供するオープンな規格として、IPMI(Intelligent Platform Management Interface)というものがあり、これをそのままサポートしているマザーボードベンダも存在します。これらのポート用のプラグインもいくつか提供されており、STONITHの対象として利用可能です。
STONITH用プラグインは、/usr/lib/stonith以下にいろいろと収められています。例えばibmrsa、riloe、impilanなどが前述のポート用プラグインになります。
すべての人が管理専用ポートを備えたサーバを所有しているわけではありませんので、以降では、sshを用いたSTONITH(ssh STONITH)を例に取って解説を行います。ただしssh STONITHでは、OS自体が不安定になった場合には正常動作しないことがあります。さらに前提として、パスフレーズの入力を省くために、パスフレーズなしのSSHキーを作成しておく必要があります。
■SSHキーの設定
まず、tomatoで、
# ssh-keygen |
と入力してキーの作成を開始します。その後、パスフレーズの入力を求められますので、何も入力せずにEnterを押します。作成された/root/.ssh/id_rsa.pubの内容を、surrの/root/.ssh/authorized_keysに入力します。そしてtomatoから、
# slogin surr |
のように入力して、パスワードやパスフレーズを打ち込まなくてもsurrにログインできることを確認してください。同様に、surrからtomatoへログインできるようにも作業します。
■cib.xmlの編集
STONITH機能を使うときも、これまでと同様、設定ファイルである「cib.xml」ファイルを編集する必要があります。すべて記述すると長くなってしまうので、サンプル設定ファイルを用意しておきました。下記を参照してください。
| サンプルダウンロード: | |
| STONITH用設定ファイルのサンプル(cib.xml.apache_stonith) | |
基本的には第2回で紹介したApache用設定に追記を加えたものです。どこが変わったかを確認してみましょう。
まず、resources要素内にprimitive要素で始まる2つのリソースが、またconstraints要素内にもそれらに対応したrsc_locationで始まる制限が追加されています。リソース部はまさしくSTONITHの設定そのものです。
さらに、ノードsurrを落とすためのリソース「kill_surr」はtomatoでしか起動しないように、同様にtomatoを落とすためのリソース「kill_tomato」はsurrでしか起動しないように制限を加えています。
今回は練習のため、ここで紹介したサンプル設定ファイルのままではSTONITHが有効にならないようにしています。このファイルを各ノードにコピーし、Heartbeatサービスを起動した後に、クラスタが稼働している状態で設定変更をしてみましょう。なお、このときWatchdogの設定は削除しておきます(ha.cfからwatchdog部を削除してからHeartbeatサービスを起動します)。
まずtomatoもしくはsurrのどちらかで、
# cibadmin -o crm_config -U -X ‘<attributes><nvpair id=”stonith-enabled” name=”stonith-enabled” value=”true”/></attributes>’ |
と入力します。その後、
# cat /var/lib/heartbeat/crm/cib.xml |
として、どこに入力されたかを確認してみましょう。
この状態でようやく、STONITH機能が有効になりました。では、どちらかのノードでWatchdogのときと同様に、MCPプロセスをkillしてください。ha.cfで設定したdeadtime時間を経過すると、そのノードが再起動されると思います。
以上で、WatchdogとSTONITHの解説は終了です。特にSTONITHの設定には複雑な面があり、ミスをすると予期せぬ挙動を示すこともあります。実運用の際はくれぐれも注意して設計・記述を行ってください。
さて次回は、DRBDとの連携を紹介し、バージョン2以降で実装されたマスター/スレーブモードについても解説したいと思います。
|
3/3 |
|
||||||
|
||||||
| Linux Square全記事インデックス |
| Linux Squareフォーラム サーバ構築・運用関連記事 |
| 連載:Heartbeatでかんたんクラスタリング(連載中) オープンソースソフトウェアの「Heartbeat」を使ってHAクラスタを実現し、サービスを「落とさない」仕組みを実現します |
|
| 特集:Apache 2.2でWebサイトをパフォーマンスアップ! 最新安定版Apache 2.2は、何が変わったのか? 最新のApacheを新機能の使い方とともに解説する |
|
| 連載:実用 Apache 2.0運用・管理術(全8回) 本連載では、Apache 2.0の運用や管理方法を解説する。まず必須設定と基本的なセキュリティ対策を行い今後の運用に備える |
|
| 連載:実用
BIND 9で作るDNSサーバ(全15回) 本連載では、BIND 9の構築/運用方法を解説していく。実際に役立つことを目的に、セキュリティや大規模運用などのテーマを取り上げていく |
|
| 連載:実用qmailサーバ運用・管理術(全14回) 本連載を通して、qmailによるメールサーバの高度な構築・運用・管理術を紹介。SPAM対策やML管理からサーバでのウイルスチェックなどまで |
|
| 特集:Samba
3.0の全貌 改訂版 Samba 3.0リリースから8カ月。ここであらためて、Samba 3.0系列の新機能、インストール方法、国際化の現状を解説する |
|
|
TechTargetジャパン
- OSSライセンスの採用傾向に「変化」あり (2012/5/21)
OSS普及の一翼を担ってきたライセンス、GPLファミリー採用の割合が減少傾向にあるそうです。いったいどうして? - ここからFirefoxの反撃が始まる (2012/3/12)
2月のLinux SquareのランキングではFirefoxの記事がダントツのページビューを集め、トップに立ちました - CMakeでMySQLをビルドしてみる (2012/3/8)
ここまでの作業でCMakeを使う準備が整いました。今回はひとまずMySQLをビルドしてみます - MySQLのビルドに欠かせないCMakeを準備する (2012/3/2)
今回は、MySQLをビルドするために欠かせないツール「CMake」をインストールし、使う準備をします
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
