stonithとは?初心者にも分かるHAクラスタの基本とSTONITHの役割共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
stonithとは?初心者にも分かるHAクラスタの基本とSTONITHの役割共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)


stonithとは?

stonithは高可用性クラスタで使われる重要な機能です。英語の頭文字 STONITH は Shoot The Other Node In The Head の略で、日本語では「もう一方のノードを撃つ」という少しショッキングな表現ですが、実際には安全対策として他のノードを遮断する仕組みを指します。

クラスタを運用する際の課題は複数のノードが同じ共有資源にアクセスして競合し、データの整合性が崩れる「スプリットブレイン」と呼ばれる状態が起こることです。STONITHが動くと、障害を起こした可能性のあるノードを強制的に電源オフしたり、ネットワークから隔離したりして、常に一つのノードだけが資源を扱えるようにします。

仕組みとしては高可用性ソフトウェアの一部である Pacemaker や Corosync などの組み合わせと、具体的なフェンスデバイスを組み合わせて使います。フェンスデバイスには以下のようなものがあります:電源を操作するIPMIやiLO/DRAC系のリモート電源、仮想化環境の仮想電源、ネットワーク分離用のフェンスなど。

STONITHの基本要素

フェンスデバイス:障害を起こしたノードの電源を物理的に切るための装置です。IPMI対応のスマートPDUや電源管理ボードが代表例です。

フェンスエージェント:クラスタソフトウェアからフェンスデバイスを操作するためのソフトウェアです。実際にはデバイスごとに用意された「手段」が動作します。

フェンスポリシー:失われたノードをどう扱うかのルールです。どのノードを対象にするか、復旧のタイミング、再起動の条件などを決めます。

実際の使い方のイメージ

1. まずクラスタを構成します。ノードAとノードBがあり、共有ストレージを使います。

2. STONITHを有効化し、フェンスデバイスを設定します。例えばIPMI対応の電源装置を指定します。

3. あるノードが落ちたり応答がなくなった場合、クラスタはそのノードを孤立させる指示をフェンスエージェント経由でデバイスへ送ります。

4. 孤立したノードは電源が切られ、結果としてもう一方のノードが安全に資源を管理できる状態になります。

なぜ STONITH が必要なのか

STONITH があると「同じ資源を複数のノードが同時に操作する」という状態を防げます。これによりデータの破損や共有ストレージの競合を避け、サービスの停止時間を短く保つことができます。

よくある質問

本当に全部のケースで STONITH が必要ですか? 多くのクラスタ設計では STONITH を必須にします。設定していないとクラスタは安全な自動復旧を行えないことがあり、検証環境では特に注意が必要です。

フェンスデバイスの例とメリット・デメリット

フェンスデバイスの例主な用途メリット・デメリット
IPMI対応のスマートPDU物理サーバの電源操作リモートで即時停止可能。設定ミスで誤動作も起こり得る。
仮想化環境のフェンス機能仮想ノードの隔離や電源制御仮想化に強く安全。実機と異なる挙動に注意。
ソフトウェアフェンステスト環境や小規模構成導入が容易。ただし実機と同等の安全性を確保するには十分なテストが必要。

初心者が押さえる3つのポイント

ポイント1:クラスタ構成の前に必ず STONITH を有効にする。テスト環境で再現テストを行い、想定外の挙動を確認します。

ポイント2:フェンスデバイスの信頼性を確保。電源コントローラは安定したネットワークに接続し、バックアップも検討します。

ポイント3:運用手順とログの整備。障害時の対応手順と、監視ツールのログを記録する習慣をつけます。

用語解説

フェンス とは障害を起こしたノードを他のノードと分離する手段のことです。

デバイス電源ユニットなど、実際に物理的な操作を行う装置を指します。

実践のコツ

初心者はまず仮想環境で STONITH の動作テストを行い、どのシナリオでフェンスが発動するかを確認しましょう。設定ファイルは人が読みやすいようコメントを残し、変更時には必ずバックアップを取ります。

まとめ

stonithは高可用性クラスタの安全を保つための「フェンス機構」です。正しく設定することで、ノード障害時にもデータの整合性を守り、サービスの継続性を高められます。初心者の方は最初から「フェンスデバイスの選定」と「テスト手順」を明確にしてから導入することをおすすめします。


stonithの同意語

STONITH
Shoot The Other Node In The Head の略。高可用性クラスタで、故障したノードを他のノードへ影響を与えずに強制的に隔離・電源オフ・再起動させる仕組み。
フェンシング
クラスタにおける障害ノードの隔離機能の総称。STONITHとほぼ同義の広い意味で使われることが多い。
ノードフェンシング
々のノードを対象としたフェンシング。障害ノードをネットワークから分離する操作を指す。
クラスターフェンシング
クラスタ全体で用いられる、ノードを隔離して整合性を守る仕組みのこと。
STONITHデバイス
STONITH機能を実現するハードウェアまたはソフトウェアのデバイス。電源断や強制リセットを実行する装置。
フェンスデバイス
フェンス機能を提供するデバイスの総称。STONITHと同義で使われることがある。
フェンスエージェント
Pacemaker などで使われる、特定ノードをフェンスするためのソフトウェアモジュール(エージェント)。実装はデバイス依存。
HAフェンシング
High Availability(高可用性)環境で用いられるフェンシングの略称・表現。

stonithの対義語・反対語

フェンシングなし
STONITH機能を使わず、故障したノードを自動的に隔離・排除する対策を取らない運用のこと。
ノード分離を許容する運用
クラスタ内でノードが分離しても問題ないとする運用。STONITHで隔離する代わりに分離脳の発生を許容する考え方。
スプリットブレインを許容する設定
クラスタ内で同時に複数ノードがアクティブになる可能性(分離脳)を前提とした設定。
自動排除を使わない運用
STONITHの自動排除機能を無効化した運用。手動介入や監視中心の対処に寄せることが多い。
監視と回復のみの運用
障害発生時に自動で隔離・排除を行わず、監視と手動の回復を優先する運用方針。
手動での対応のみ
障害時の対応をすべて人の手で行う運用。自動化された隔離機構を使わない。

stonithの共起語

フェンシング
クラスタでノードを隔離する機能。故障したノードが他のノードと同時にサービスを提供できないよう、通信や資源アクセスを遮断する処理のこと。
フェンシングデバイス
STONITHを実現するための物理/仮想デバイス。電源を切る、ネットワーク遮断などの手段を提供する。
フェンシングエージェント
フェンシングを実装するソフトウェアのこと。どのデバイスをどう隔離するかを指示する役割。
fence_agent
Pacemaker/CRMsで用いられるフェンシング実装の総称。具体的には fence_ipmilan など。
SBD
STONITH Block Device の略。ブロックデバイスを用いたフェンシング手段。
STONITHデバイス
STONITHを実現するデバイスの総称(例: IPMIベースのデバイス、電源装置、SBDなど)。
STONITH
Shoot The Other Node In The Head の略。クラスタの分岐を回避するため、故障ノードを隔離するフェンシング機構。
Pacemaker
Linux/Unixの高可用性クラスタ管理ソフトウェア。STONITHを統合して動作する。
Corosync
クラスタ内のノード間通信・同期を担うミドルウェア。STONITHと連携して動作することが多い。
IPMIフェンシング
IPMIプロトコルを使って遠隔地のノードの電源を切り、フェンシングを実現する方法。
fence_ipmilan
IPMIを用いたフェンシングエージェントの実装名のひとつ。
fence_ilo
ベンダーのiLOなどを用いたフェンシングエージェントの実装名のひとつ。
fence_drbd
DRBDと連携するフェンシングエージェントの実装名のひとつ。
fence_ipmi
IPMIを用いたフェンシングを指す一般的な表現。
stonithd
STONITH処理を担当するデーモン。Pacemaker/Corosync で利用されることが多い。
DRBD
データを二重化して同期するブロックデバイス。HAクラスタで広く使われ、STONITHとともに運用されることがある。
クォーラム
クラスタが過半数で動作するための条件。分割ブレインを防ぐ仕組みの一部として、STONITHと組み合わせて運用される。
split-brain
クラスタが二つの独立した領域として動作する現象。STONITHにより抑止されるべき問題。
ノードフェンシング
個々のノードを隔離すること。主に故障ノードの切り離しを指す。
HAクラスタ
高可用性クラスタの略称。
高可用性
サービスを継続して提供することを目的とした設計思想。
クラスタ
複数のノードが協調して動作するコンピューティング環境。
ソースエージェント
Pacemakerで管理される資源を制御するエージェント群。
pcs
Pacemakerのコマンドラインツール。
crm
Pacemakerの別のコマンドラインツール(crm系)。

stonithの関連用語

STONITH
クラスタで分割ブレインを防ぐためのフェンシング機構。障害を起こしたノードを隔離・停止させ、他のノードが同時に同一資源へ書き込みを行わないようにします。
フェンシング
ノードをクラスタから物理的または論理的に隔離して整合性を保つ手段の総称。STONITHはこの一部です。
フェンスデバイス
フェンシングを実行するデバイス。電源を落とす装置やリモート管理インターフェースなど。
フェンスエージェント
フェンスデバイスを操作するソフトウェアのモジュール。Pacemakerと連携してフェンス操作を行います。
fence-agents
複数のフェンスデバイスを扱うライブラリ。IPMIや iLO、APC など各種デバイスを統一的に操作可能にします。
Pacemaker
Linux上のクラスタ資源管理ツール。リソースの起動・停止とフェンシング設定を管理します。
Corosync
Pacemakerと連携してノード間の通信を行うクラスタのメッセージング層。
高可用性クラスタ
障害が発生してもサービスを継続するために複数ノードで冗長化した構成。
分割ブレイン
ネットワーク分断時に複数ノードが同時に生存していると誤認して競合状態になる現象。STONITHとクォーラムで防止します。
クォーラム
クラスタが意思決定を行うための過半数のノード。分断時の混乱を防ぎます。
no-quorum-policy
クォーラムが失われた場合の挙動を指定する設定。資源の停止/維持などを決定します。
STONITH有効
クラスタ設定でSTONITHを有効にする状態。分割ブレインを防ぐ前提となります。
STONITH無効
STONITHを無効にする状態。分割ブレインのリスクが高まるため注意が必要です。
電源フェンシング
ノードの電源を物理的に遮断してイレギュレーションを回避する基本的なフェンシング手法。
IPMI
リモートでハードウェア管理を行うインターフェース。電源操作や監視が可能です。
IPMIフェンスエージェント
IPMIを使ってノードをフェンスするエージェント。例: fence_ipmi 系。
iLO
HPのリモート管理機能。フェンスデバイスとして利用されます。
iDRAC
Dellのリモート管理機能。フェンスデバイスとして利用されます。
SSHフェンス
SSHを使ってリモートでフェンス操作を実行するエージェント。
fence_snmp
SNMPを介してデバイスをフェンスするエージェント。
QDevice
クォーラムデバイス。クラスタのクォーラムを維持するための外部デバイスまたは仮想デバイス。
フェンスアクション
フェンス時に実行される具体的な操作(例: 停止/再起動/電源断)。

インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
16656viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
3006viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
1218viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
1191viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
1077viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
1057viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
1047viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
995viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
884viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
878viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
828viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
826viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
821viws
xlsmとは?初心者でも分かるExcelのマクロ付きファイルの基本共起語・同意語・対義語も併せて解説!
764viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
745viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
722viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
640viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
621viws
countifとは?初心者でもすぐ使える基本と応用ガイド共起語・同意語・対義語も併せて解説!
619viws
googleドキュメントとは?初心者が今日から使いこなす基本ガイド共起語・同意語・対義語も併せて解説!
552viws

新着記事

インターネット・コンピュータの関連記事