19:22:10)追加された行はこの色です。削除された行はこの色です。[#g516fe00]高可用性システムを構築する場合、システム設計者は-「信頼性」-「冗長性」-「保守性」という3つの重要な要素を理解し、それらに注意を払う必要がある。しないで稼働する性質」=「故障しない性質」ということになる。-広義では、修理再使用を考え「故障した時の修復のしやすさ」である保守性・可用性なども併せて考える必要がある。)-コンポーネント(ハードウェア・ソフトウェア)の「信頼性」を向上させる~⇒「可用性」が向上する。-システムの「保守性」を向上させる~⇒「信頼性」を補い「可用性」が向上する。信頼性・保守性」を補い「可用性」が向上する。[#na9c038f]システムの各コンポーネントの「信頼性」が高ければ高いほど、総合的な「可用性」は向上する。-ここでいう「信頼性」とは、長期的な連続運転期間においてハードウェアやソフトウェアに障害が発生しないという意味である。-しかし、一般的に、--完全な「信頼性」の実現は不可能であり、--また「信頼性」の高い、ハードウェア・ソフトウェアコンポーネントの適用は、システムのコストを押し上げる。--このため、ほかの手段、すなわち「冗長性」と「保守性」によって「信頼性」を補強する必要がある。[#w7cdb793]-一般的に、完全な「信頼性」の実現は不可能であり、障害対応が必要になる。-また、条件の変化に応じてアプリケーションの使用期間中にシステムの保守が必要となる。[#cfe3dab4]問題が発生した場合、システムの復旧を早めるため、管理者が遠隔操作できる保守ツールの存在は重要になる。保守ツールでの対応以外では、-データをテープからリストアする。-システムをゼロから構築し直す。いった対応が、唯一の解決策の場合もある。これらを迅速に行う手順が整備されていないと、基幹サービスが長期間利用できなくなる可能性がある。[#y6057dae]コンポーネントの使用期間中に、パッチの適用や、ドライバのアップグレードが必要になる事がある。~その作業後、サーバの再起動が不要で、後で問題が発生してもコンポーネントを以前の正常な状態に迅速にロールバックできれば、「可用性」は高まる。[#qa6ef8b1]あるコンポーネントに障害が発生したり機能が低下したりした場合、たとえ冗長システムであっても、~それがサポートするサービスの「可用性」に影響を及ぼさずに障害を検出して修理する必要がある。~稼動監視により、「障害の検出」、「障害の前兆の検出による障害の防止」が可能になる。補い、~高可用性を実現する上で重要な役割を果たす。この「冗長性」は、-ハードウェアの二重化から、-サーバ・ファームといったハードウェア・ソフトウェア全体の二重化まで、さまざまなレベルで実現できる。[#g5f018ad]-フォールト・トレラント(耐障害性)という用語は、冗長な「信頼性の低い」コンポーネントを用いて実現した高可用性の説明に使われる。-例えばRAIDは、ストレージ・デバイスに障害が発生した場合でもストレージ・デバイス・レベルでフォールト・トレラントを実現し、「信頼性」を補う。保守の観点からは、ドライバのローリング・アップグレードを可能にすることで、「保守性」を補うことができる。[#xfc249d2]-1つのハードウェアないしOS、ソフトウェアの障害がシステムを停止させないように配慮した設計が必要である。-しかし、アプリケーション・サービスは、コードに欠陥を持つかもしれず、クラッシュの可能性がある。-このため、ソフトウェアの「冗長性」はクラスタ、サーバ・ファームで実現する。[#af1ff47a]実現可能な「冗長性」の追加(冗長化・冗長構成)について説明する。アプリケーションやOSで高可用性を実現するに当たり、システム設計者は、~以下の4種類の異なるアプローチを用いて「冗長性」を追加できる。-[[分散サービス>#maeb6e5f]]~--プライマリ・ノード、セカンダリ・ノードの両方のサービス・アプリケーションがクライアントにサービスを提供することで、サービスを冗長化する方式。--各ノードに更新があった場合、必要なデータは、他のノードにレプリケーションされる。-[[フォールト・トレラント・サーバ(FTサーバ)>#y3079c3f]]~サーバ内部の「CPUとメモリ」、「I/O」を冗長化し、ハードウェア障害が発生しても無停止で稼働し続ける高信頼性のサーバ・システム。