Open棟梁 wiki

目次

概要

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

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

信頼性とは

#ref(): File not found: "BroadSenseReliability.png" at page "高信頼性設計のポイント"

信頼性(Reliability)

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

保守性(Serviceability)

バックアップ・リストア

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

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

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

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

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

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

稼働中の監視

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

冗長性(Redundancy)

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

この「冗長性」は、

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

ハードウェアの冗長性

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

ソフトウェアの冗長性

冗長性の追加

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

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

分散サービス

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

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

などがある。

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

#ref(): File not found: "ActiveDirectoryReplication.png" at page "高信頼性設計のポイント"

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

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

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

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

#ref(): File not found: "FTServer.png" at page "高信頼性設計のポイント"

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

クラスタ

サーバ・ファーム

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

#ref(): File not found: "MethodToAchieveServerFarm.png" at page "高信頼性設計のポイント"

クラスタ・サービス

クラスタ纏め表

#比較項目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層アプリケーションの高可用性アーキテクチャ

#ref(): File not found: "Three-tierHASystem.png" at page "高信頼性設計のポイント"

クライアント

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

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

FTサーバとMSCS

#ref(): File not found: "FTServerAndMSCS.png" at page "高信頼性設計のポイント"

FTサーバ

MSCS

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

その他

用語

フォールト・トレランス

など。

ITで言うところの、

フェイル・オーバー

フェイルオーバーは

フェイル・セーフ

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

フェイル・ソフト

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

参考


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