マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

高可用性システムを構築する場合、システム設計者は

という3つの重要な要素を理解し、それらに注意を払う必要がある。

信頼性とは

「広義の信頼性」と、「狭義の信頼性」・「保守性」・「冗長性」

信頼性(Reliability)

システムの各コンポーネントの「信頼性」が高ければ高いほど、総合的な「可用性」は向上する。

保守性(Serviceability)

バックアップ・リストア

問題が発生した場合、システムの復旧を早めるため、管理者が遠隔操作できる保守ツールの存在は重要になる。

また、保守ツールでの対応以外では、

といった対応が、唯一の解決策の場合もある。

これらを迅速に行う手順が整備されていないと、基幹サービスが長期間利用できなくなる可能性がある。

パッチの適用とロールバック

コンポーネントの使用期間中に、パッチの適用や、ドライバのアップグレードが必要になる事がある。
その作業後、サーバの再起動が不要で、後で問題が発生してもコンポーネントを以前の正常な状態に迅速にロールバックできれば、「可用性」は高まる。

稼働中の監視

あるコンポーネントに障害が発生したり機能が低下したりした場合、たとえ冗長システムであっても、
それがサポートするサービスの「可用性」に影響を及ぼさずに障害を検出して修理する必要がある。
稼動監視により、「障害の検出」、「障害の前兆の検出による障害の防止」が可能になる。

冗長性(Redundancy)

「冗長性」は前述の「信頼性」」・「保守性」を補い、
高可用性を実現する上で重要な役割を果たす。

この「冗長性」は、

さまざまなレベルで実現できる。

ハードウェアの冗長性

また、保守の観点からは、ドライバのローリング・アップグレードを可能にすることで、「保守性」を補うことができる。

ソフトウェアの冗長性

冗長性の追加

実現可能な「冗長性」の追加(冗長化・冗長構成)について説明する。

アプリケーションやOSで高可用性を実現するに当たり、システム設計者は、
以下の4種類の異なるアプローチを用いて「冗長性」を追加できる。

分散サービス

分散サービスでは、システム・サービスや他のアプリケーションが複数のサーバで分散して稼働するように設計・実装することで、ソフトウェアの機能を利用して「冗長性」とフォールト・トレランスを実現可能である。

分散サービスの例としては、

などがある。

以下の図に、ADのサイト上にあるドメイン・コントローラ(DC)のサイト内のレプリケーション、サイトリンクを経由したサイト間のレプリケーションの概要図を示す。

Active Directory サイト内、サイト間のレプリケーション

また、DNSでは「ゾーン転送」と言うレプリケーション機能を持っている。

この分散方式は共有データのアップデート頻度が比較的低い場合に最もうまく機能し、
サーバが帯域幅の限られたWANで接続されたサイトにある場合でも通常うまく機能する。
1つのDCが故障した場合も、「冗長性」によるフォールト・トレランスを実現可能である。

フォールト・トレラント・サーバ(FTサーバ)

フォールト・トレラント・サーバ(FTサーバ)は「CPUとメモリ」、「I/O」をそれぞれ二重化(もしくは多重化)、
相互に同期しながら並行して同じ処理を実行することで、ハードウェアを冗長化し、
ハードウェア障害が発生しても無停止で稼働し続ける高信頼性のサーバ・システムである。

フォールト・トレラント・サーバ(FTサーバ)

FTサーバは、ハードウェアの冗長化を提供し、アプリケーション自体の障害に対する特別な保護は提供しない。FTサーバは一般に、通常のサーバよりはるかに高価である。

クラスタ

サーバ・ファーム

複数のサーバで同じアプリケーションのコピーを稼働させる方式である。

サーバ・ファームを実現する方式

クラスタ・サービス

クラスタ纏め表

#比較項目NLBMSCS WSFC
1アプリケーションTCP ベースや UDP ベースのサーバ・アプリケーションフェイル・オーバーとフェイル・バックを行うステートフルなサーバ・アプリケーション
2前提ハードウェアMAC書き換え可能なNICのみ。
チーム用のネットワーク アダプタを使用する場合は、Windows カタログに表示されるネットワーク アダプタを選択する。
共有ディスクなど、MSCS WSFC対応のハードウェア
3適用対象サーバ・Webサーバ
・ISAサーバ
・仮想プライベート・ネットワーク
・Windows Mediaサーバ
・Mobile Informationサーバ
・ターミナル・サービス
・MS SQL Server
・MS Exchange Server
・ファイル・サーバ
・プリント・サーバ
・メッセージ・キュー
4ステートフルかステートレスステートレスステートフル

構成例

3層アプリケーションの高可用性アーキテクチャ

3層以上のビジネス・アプリケーションをホストする、高可用性システム

クライアント

フロントエンド・サーバ(P・B層)

バックエンド・サーバ(D層)

FTサーバとMSCS

FTサーバとMSCS

FTサーバ

MSCS

フェイル・オーバー時にサービスが一時中断するが、ソフトウェア障害発生時にもフェイル・オーバーできる。

その他

用語

フォールト・トレランス

など。

ITで言うところの、

フェイル・オーバー

フェイルオーバーは

フェイル・セーフ

障害が発生した場合に、二次被害を防止する観点から、
「いかに”安全に”停止させるか」を目的とした設計のこと。

フェイル・ソフト

機能低下を許しても、システムを完全には停止させずに
機能を維持した状態で処理を続行(縮退運転)する設計のこと。

参考


Tags: :設計のポイント, :信頼性


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS