今回より Windows Server Failover Cluster (WSFC) の解説を行います.WSFC は以前は MicroSoft Clustering Service (MSCS) とも呼ばれていましたが,Windows Server 2008 以降は名称が変わって Windows Server Failover Cluster (WSFC) に変わっています.今後はこの名称を用いて説明を行います.
WSFC は「フェイルオーバークラスター」の名前のとおり,クラスターサービスを提供するソフトウェアです.アクティブ / スタンバイ 形式でファイルサーバーや SQL Server など各種のサービスを冗長化して提供することが可能になります.
今回は,フェイルオーバークラスターの説明を行います.
- Windows Server Failover Cluster (WSFC) に関するお話
Windows Server Failover Cluster (WSFC) とは
WSFC について説明します.
WSFC (Windows Server Failover Cluster) とは,Windows Server で提供している機能です.
「フェイルオーバークラスター」は,複数台のサーバーを一つのサーバーに見立てることで冗長性を確保する機能です.このように複数台のサーバーを1台のサーバーとして動作させることを「クラスター」や「クラスタリング」と呼びます.もっと細かい呼び方をする場合は「フェイルーバークラスター」や「HA クラスター」と呼びます.
「フェイルオーバークラスター」の構成をとることで,構成しているサーバーの1台に障害が発生しても他の正常なサーバーが処理を引き継いで,システムやサービスの停止時間を短時間に抑えることが可能になります.
このような,障害が発生したサーバーから正常なサーバーにサービス・機能を引き継ぐことを「フェイルーバー」といいます.つまり,フェイルオーバークラスターは,クラスター構成を実現しており,障害が発生した際に自動的にフェイルオーバーを行う機能ということになります.
障害対策の重要性
「フェイルオーバークラスター」のような,サーバーに障害が発生した際のサービス停止時間の短縮を目的としたクラスターを「HA (High Availability) クラスター」と呼びます.日本語では「高可用性」と言ったりします.
通常,サービスを提供していくということは障害があっては困ります.障害が起きている間はそのサービスを提供できなくなるからです.
社内向けのサービスであれば,社内の利用者がシステムやサービスを利用できないことによる生産性の低下,社外向けのサービスであれば例えば売り上げの低下につながってしまいます.
また,OS やアプリケーションなどのメンテナンスを行う必要もあるでしょう.この際もクラスター化されていないシステムであればその間はサービスの停止となってしまいます.そのため,利用者がいない夜間にしかメンテナンスが行えないという状態が発生し,IT運用者に負担がかかってしまいます.
WSFC は Windows Server レベルで提供する「HA クラスター」です.仮想化のレベルで「HA クラスター」を提供するのが「vSphere HA」です.vSphere HA については「VMware vSphere – vSphere HA の説明」などで説明していますので,そちらも合わせてご覧ください.
vSphere HA の場合,上記の半分程度は満たせますが,OS やアプリのメンテの際のサービス断を軽減することはできません.仮想基盤を用いたシステムの場合,提供するサービスや要件によっては vSphere HA では賄えないことも多くありますので両者を比較検討することが重要です.
クラスターを構成するノード
クラスターを構成するサーバーを「ノード」と呼びます.WSFC のノードは Windows Server の機能として提供されているソフトウェアと,サーバーを接続するネットワーク,サービスで提供するデータを格納する共有ストレージで構成されます.
HA クラスターはサービス単位で「アクティブ – スタンバイ」の構成を取ります.サービスはクラスター内のサーバーの1台 (アクティブ機) で提供され,残りは待機系となります.
アクティブ系に障害が発生したら,フェイルオーバーが行われ待機系がアクティブ系となり,サービスが再開されます.
WSFC の「HA クラスター」で提供するサービスは1つだけ.という訳ではありません.複数のサービスを提供することが可能です.
その場合でもサービス単位では「アクティブ – スタンバイ」の構成となりますが,収容率や稼働率を上げる方法としてよく採用されます.
例えば,この図の場合は「App-A」は1台目,「App-B」は2台目で通常稼働しており,1台に障害が発生した場合はフェイルオーバーによって正常なノードにサービスが引き継がれます.
フェイルオーバークラスターの種類
フェイルオーバークラスターは「共有ディスク」タイプと「データミラーリング」タイプの2種類があり,これらは主にデータの保持の方法が異なります.
ここでは「共有ディスク」タイプと「データミラーリング」タイプについて解説します.
共有ディスクタイプ
フェイルオーバークラスター構成のシステムは,提供しているサービスのデータを維持するためにノード間でデータを引き継ぐ必要があります.
データを共有ストレージに保存,ストレージを複数のサーバーに接続して利用する構成は共有ディスクタイプと呼ばれます.
アクティブ系 (稼働系) もスタンバイ系 (待機系) も同じストレージのデータを参照するため,データの不整合は生じません.
アクティブ系に障害が発生した場合,共有ストレージの破損がないことを確認してスタンバイ系が処理を引き継ぎますのでデータは障害直前の状態から開始できます.
注意すべき点として,複数のサーバーでストレージを共有して利用するため,意図しないデータの上書きなどが発生しないように構成する必要があります.
アクティブ系のサーバーがストレージを利用している際は他のサーバーはアクセスできないように構成します.
共有ディスクタイプで障害が発生すると,スタンバイ系にフェイルオーバーが行われます.フェイルオーバーが行われた後,障害機の修理,クラスターに組み込みなおした後に処理を戻すか,戻さないかを選ぶことができます.
戻す行為をフェイルバックやテイクオーバーと呼びます.
クラスターで1つのサービスのみを提供している場合はそのままにすることが多いですが,利用者によってはアクティブ系を固定したいニーズがあります.そういった点は都度検討する必要があります.
クラスターで複数のサービスを提供している場合,片方によることによる負荷の不均衡が発生しますので,明示的にフェイルバックを行い,負荷の平準化を図る場合が多いです.
共有ディスクタイプの場合、サーバー側の障害であればフェールオーバーしてシステムの利用を継続できますが、共有ディスクに障害が発生した場合はデータにアクセスできなくなるなど、システムが利用できなくなる可能性が高いため注意が必要です。1つのディスクを共有するため、そのディスクが単一障害点になってしまうのです。このような事態を防ぐために、共有ディスク自体を冗長化するなど、あらかじめ対策をしておく必要があります。
共有ディスクタイプのデメリットは、一般的に設備のコストが高くなる傾向にあることです。複数のサーバーから書き込みできる大容量のストレージは、高価なものが多いです。また、システムの拡張などでノードを追加する場合、必ずしも追加数に見合った性能をディスクが発揮できるとは限らないというデメリットもあります。
データミラーリングタイプ
データミラーリングタイプは,共有ディスクタイプと違って共有ディスクを用いずに,各サーバー (ノード) のディスク (データ) を同期するクラスター構成を指します.
ノード間でデータの不整合が生じないよう,アクティブ系 (稼働系) のディスクに書き込みが発生したら差分をスタンバイ系 (待機系) のサーバーに送信して常にデータの同期を行う構成を取ります.
ただし,リアルタイムに同期が行えるのか,ある程度の時間間隔毎の同期になるのかはクラスターソフトウェアやデータ同期のソフトウェアの仕様によります.
共有ストレージは,サーバー内蔵ディスクと比べると iSCSI ストレージでも高価になりがちですので,安価に済ませたいケースで用いられます.
一方,サーバーの内臓ディスクで構成するため,サーバーに収容可能な領域が事実上の上限となりますので,小規模~中規模のサービスに向いており,大規模なサービスには向きません.
障害が発生した場合,共有ディスクタイプと同様に,スタンバイ系が処理を引き継ぎます.この際,データはサーバー間で同期されているため,そのままサービスを継続して利用することができます.
クラスターとは外れてしまいますが,ファイルサーバーのレプリケーションを構成するためにデータミラーを用いるケースがあります.Microsoft だと DFS-R (DFS レプリケーション) によってデータのミラーリングが行えます.
また,DFS (分散ファイルシステム) は今回解説している HA クラスターとは違いますが冗長化の別のアプローチになります.
DFS および DFS-R については「Windows ファイルサーバー – DFS (Distributed File System/分散ファイルシステム) と DFSR (DFS Replication/DFS レプリケーション)」を参照ください.
以上,HA クラスターの解説でした.次回は Windows Server でクラスターを構成する準備として,Windows Server に iSCSI の共有ストレージを接続,マルチパス化する方法について解説します.
コメント