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サーバは一般に、通常のサーバよりはるかに高価である。

サーバ・ファーム

クラスタ・サービス

その他


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