Share via


Project Server 2007 でフォールト トレランスと可用性を計画する

更新日: 2008年10月

 

トピックの最終更新日: 2015-03-09

"フォールト トレランス" および "可用性" は、特にファーム内の 1 つ以上のコンポーネントが使用できないときでも通常どおりに接続および運用できる、複数サーバーから成る環境の機能を表現するための概念です。可用性は冗長性の概念を含んでいるほか、フェールオーバー メカニズムの概念を含んでおり、さらにその他のいくつかの機能を持つことがあります。

次の戦略を使用すると、Microsoft Office Project Server 2007 の展開のフォールト トレランスを向上させることができます。

  • クラスタ化

  • ハードウェアの冗長性

  • RAID 構成

  • サーバー ロールの冗長性

  • ログ配布

  • スタンバイ サーバー

ここでは、これらの各戦略の詳細について説明します。これらの戦略は、個別にまたは組み合わせて適用できます。各戦略にはコストが関連付けられているため、組織で各戦略を適用する前に、そのコスト/利点の比率を調べることが重要です。

可用性

可用性要件は、Office Project Server 2007 ソリューションのコア設計の一部として考慮することを推奨します。ソリューションの導入後に、強化された可用性を提供することもできます。実施面では、ファームにコア ソリューションを導入して調整した後、可用性ソリューションをテストすることを推奨します。

可用性とは

可用性とは、Office Project Server 2007 などのシステムが使用可能であるとユーザーが認識する度合いです。可用性を確保するとは、システムに回復力があること、つまり、サービスに影響するインシデントがあまり発生せず、そのようなインシデントが発生しても、迅速で効果的な処置が取られることを意味します。 可用性戦略は、ユーザーが認識する予定および予定外のダウンタイムを最小化します。

可用性の最も一般的な評価基準の 1 つとして、アップタイプのパーセンテージを 9 の個数で表したものがあります。つまり、ある特定のシステムが稼働している時間の割合です。たとえば、稼働率が 99.999% のシステムは、可用性が "ファイブ ナイン" であると言います。

以下の表は、9 の数と、それに対応する時間数を示しています。

許容される稼働率 1 日あたりの停止時間 1 か月あたりの停止時間 1 年あたりの停止時間

95

72 分

36 時間

18 日

99

14 分

7 時間

4 日

99.9

86 秒

43 分

9 時間

99.99

8.6 秒

4 分

53 分

99.999

0.8 秒

26 秒

5 分

発生する可能性があるダウンタイムの合計時間に関して、経験に基づいて推測できる場合は、次の数式を使用して、1 年、1 か月、または 1 週間の稼働率を計算することができます。


  • 1 年あたりの稼動率 = 100 – (8760 – 1 年あたりのダウンタイムの合計時間数)/8760


  • 1 か月あたりの稼動率 = 100 – ((24 * 1 か月あたりの日数) – 該当するカレンダー月のダウンタイムの合計時間数)/(24 * 当該月の日数)


  • 1 週間あたりの稼働率 = 100 – (168 – 該当する週のダウンタイムの合計時間数)/168

可用性ではないもの

可用性は、データの保護および回復ではなく、災害復旧でもありません。高可用性システムには、別のデータ保護および災害復旧計画が必要です。

さらに、可用性はビジネス継続性管理 (BCM) ではありません。BCM は、危機を管理するためにあらかじめ設定しておくビジネスの意思決定、プロセス、およびツールから成ります。危機には、地方、地域、または全国的な事象などがあり、特定のビジネスだけに関連する危機もあります。

可用性のコスト

可用性は、よりコストの高いシステム要件の 1 つです。可用性のレベルが高いほど、また、保護するシステムが多いほど、可用性ソリューションは複雑でコストのかかるものになります。可用性に投資するときには、次のようなコストが含まれます。

  • 追加のハードウェアおよびソフトウェア。多くの場合、フェールオーバーと回復のためのカスタム スクリプトなど、ソフトウェア間の複雑な操作が伴います。

  • 操作の複雑さの増加。

可用性を達成するためのコストは、ビジネス ニーズに基づいて評価する必要があります。組織内のすべてのソリューションが同じレベルの可用性を必要とするわけではありません。サイトごと、サービスごと (検索やビジネス インテリジェンス)、またはファームごとに異なるレベルの可用性を提供できます。

可用性は、情報技術 (IT) グループがサービス レベル契約 (SLA) を提供して、顧客グループの期待を設定する主要分野です。多くの IT 組織は、さまざまなチャージバック レベルと関連付けられたさまざまな SLA を提供しています。

冗長性について

冗長性は、可用性の主要な部分です。冗長性には、ファームのパフォーマンスを向上させたり、追加ユーザーに適応させるためにスケール アウトしたりすることを目的として、負荷分散環境で複数のサーバーを使用することが含まれます。また、プライマリ コンポーネントに障害が発生した場合に継続的な機能を提供するために、電源、ネットワーク装置などの同一のバックアップ コンポーネントを使用することも含まれます。

ここでは、Office Project Server 2007 ファーム内に冗長サーバーを実装する方法について説明します。

Office Project Server 2007 は、容量、パフォーマンス、および可用性のための拡張可能なサーバー ファームをサポートします。一般に、容量は、使用するサーバー コンピュータの台数を決定するときの最初の考慮事項です。パフォーマンスの要件を分析した後は、可用性もサーバー ファーム内のサーバー コンピュータの台数と規模または容量を決定するうえで重要です。

可用性要件の決定

サイト、サービス、またはファームの停止時間に対する組織の許容度を判断するには、サイト、サービス、またはファームに関する以下の質問に答えてください。

  • Office Project Server 2007 が利用できなくなった場合、組織の従業員は任務を十分に果たせなくなりますか。

  • Office Project Server 2007 が利用できなくなった場合、業務および顧客トランザクションが停止し、業務および顧客の損失が発生しますか。

どちらかの質問に「はい」と答えた場合は、可用性ソリューションに投資する必要があります。

この記事では、主に Office Project Server 2007 の可用性について説明しますが、システムの稼働時間はシステム内のその他のコンポーネントによって影響されます。特に、以下の点を考慮してください。

電源、冷却、ネットワーク、ディレクトリ、SMTP など、インフラストラクチャの依存性が完全に冗長であることを確認する必要があります。

DNS、ハードウェア ロード バランシングなど、システムのスイッチング メカニズムとしてニーズを満たすものを選んでください。Web サーバーのロードバ ランシングのベスト プラクティスについては、以下の記事に説明があります。

クラスタ化

クラスタ化は、アプリケーションまたはオペレーティング システムの障害からシステムを保護できます。クラスタ化されたコンピュータでは、オフラインにせずに、アプリケーションやオペレーティング システムのアップグレード、または Service Pack や更新プログラムのインストールを含む、多数のタスクを実行することもできます。

サーバー クラスタは、データを保護するよりも、アプリケーションの可用性を維持するように設計されています。ウイルス、破損、およびデータへのその他の脅威から保護するには、確固としたデータ保護と回復計画が必要です。クラスタ テクノロジは、ウイルス、ソフトウェアの破損、または人的エラーによって発生する障害は防げません。

SQL Server フェールオーバー クラスタリング

フェールオーバー クラスタは、ステートフルなアプリケーション向けに設計されています。ステートフルなアプリケーションは、長時間実行のインメモリ状態、または大規模で頻繁に更新されるデータ状態にあります。

フェールオーバー クラスタでは、リソースのフェールオーバーを許可することで高可用性を提供します。アプリケーションやサービスへのクライアント接続も維持します。

フェールオーバー クラスタでは、ノードはデータへのアクセスを共有します。ノードはアクティブかパッシブのどちらかであり、各ノードの構成は、オペレーティング モード (アクティブまたはパッシブ) とクラスタ内のフェールオーバーの構成方法によって異なります。フェールオーバーを処理するサーバーは、自身の作業負荷に加えて障害が発生したノードの作業負荷も処理できるように、サイズ変更する必要があります。

Office Project Server 2007 の展開では、SQL Server でフェールオーバー クラスタリングを使用できます。

負荷分散クラスタ

負荷分散クラスタは、Web サーバー、Microsoft Internet Security and Acceleration (ISA) サーバー (プロキシ サーバーとファイアウォール サーバー用)、および伝送制御プロトコル (TCP) やユーザー データグラム プロトコル (UDP) トラフィックを受信する他のアプリケーションの可用性向上に使用される、同一の通常複製されたコンピュータのグループです。クラスタ ノードは、通常、互いに同一の複製であり、独立して動作できるため、クラスタ内のすべてのノードはアクティブになります。

Office Project Server 2007 は、2 種類の負荷分散をサポートしています。

  • Microsoft Windows Server 2003 オペレーティング システムに組み込まれているネットワーク負荷分散 (NLB) サービスなどのソフトウェア。NLB はフロントエンド Web サーバー上で動作し、TCP/IP を使用して要求をルーティングします。NLB (および他のソフトウェアによる負荷分散ソリューション) は、フロントエンドの Web サーバーで動作し、フロントエンド Web システムのリソースを使用するので、Web ページの提供に使用できるリソースが減少します。一方、システム リソースに対する影響は大きくなく、ソフトウェア ソリューションは最高で 32 台のフロントエンド Web サーバーを処理できます。

  • ルーター、スイッチ ボックスなどのハードウェア。負荷分散ハードウェアは、ネットワークを使用して、フロントエンド Web サーバー間の Web サイト トラフィックをルーティングします。負荷分散ハードウェアはソフトウェアよりもコストがかかりますが、フロントエンド Web サーバー上のリソースには影響を与えません。Office Project Server 2007 は、任意の負荷分散ハードウェアと組み合わせて使用できます。

推奨はできませんが、負荷分散の第 3 の方法として、ドメイン ネーム システム (DNS) によるラウンドロビン負荷分散があります。ラウンドロビン DNS による負荷分散は、フロントエンド Web サーバーのリソースを大量に使用する場合があり、負荷分散用のソフトウェアやハードウェアよりも処理が遅いので、Office Project Server 2007 での使用はお勧めできません。また、ラウンドロビン DNS 負荷分散では、ユーザーをサーバーにルーティングするときにセッションの負荷を考慮しないので、サーバーが過負荷になる可能性があります。

ハードウェアの冗長性

組織のハードウェア構成を複製する追加のハードウェア構成を展開することで、Office Project Server 2007 の展開に何らかのフォールト トレランスを提供できます。このようにすると、データ入出力 (I/O) の 1 つのパスまたはサーバーの物理ハードウェア コンポーネント (コンピュータ、ネットワーク、ストレージ エリア ネットワーク コンポーネントなど) に障害が発生しても、システムに影響は出ません。単一障害点の最小化に使用するハードウェアは、どのコンポーネントを冗長にするかによって異なります。ハードウェア ベンダは、通常、ストレージ ソリューションの一部として重複したハードウェアを用意しています。

RAID 構成

RAID (Redundant Array of Independent Disks) を使用すると、Office Project Server 2007 の展開のフォールト トレランスを向上できます。RAID は、同一のデータを複数のディスクに格納して、冗長性、パフォーマンスの向上、および平均故障間隔 (MTBF) の向上を実現します。RAID 構成では、物理ストレージ容量の一部に、ハード ディスクに格納されているデータの冗長情報が含まれています。冗長情報とは、パリティ情報 (RAID-5 ボリュームの場合) またはデータの完全な個別コピー (ミラー ボリュームの場合) のどちらかです。冗長情報を使用すると、いずれかのディスクまたはアクセス パスに障害が発生するか、ディスク上のセクタを読み取れない場合に、データを再生成できます。

1 つのディスクで障害が発生した場合に、Office Project Server 2007 を実行しているコンピュータを正常に機能させ続けるには、Office Project Server 2007 の展開内のハード ディスク上でパリティありの RAID ディスク ミラーリングまたはディスク ストライピングを使用します。パリティありのディスク ミラーリングとディスク ストライピングは、ハード ディスク上のデータの冗長データを作成します。

Office Project Server 2007 データベースは、I/O が極めて集中的に発生します。このため、Office Project Server 2007 データベースを含むドライブの最適なパフォーマンスと冗長性を確保するために、RAID 10 の採用をお勧めします。

RAID 構成を使用しても、ファイルの破損やその他のファイル エラーを防止できません。このため、サーバー上の重要なデータの最新のバックアップを保つための代替方法として RAID 構成を使用しないでください。

トランザクション ログ ファイルとデータベース ファイルは Office Project Server 2007 を実行しているコンピュータの操作にとって重要なため、別の物理ディスク上に保持できます。また、パリティありの RAID ディスク ミラーリングまたはディスク ストライピングを使用して、1 つの物理ハード ディスクが失われた場合に Office Project Server 2007 データベースで障害が発生するのを防止することもできます。

環境にストレージ エリア ネットワーク (SAN) が含まれている場合、展開に必要なディスクの冗長性は既に確保されています。SAN 環境では、パフォーマンスが低下する可能性があるため、Office Project Server 2007 の展開およびその関連コンポーネントを、I/O が集中的に発生する他のアプリケーションと同一のディスク スピンドルに配置しないことをお勧めします。Office Project Server 2007 データは順次読み取り用に最適化されているため、SAN 環境に適しています。

サーバー ロールの冗長性

どのベースライン サーバー トポロジを選択するかは、アプリケーション サーバー ロールの冗長性に対する要件に依存します。ここでは、アプリケーション サーバー ロールの冗長性オプションについて説明します。

冗長にできるロール

これらのアプリケーション サーバー ロールは、複数のサーバーに展開できます。各サーバーに展開されるコードはまったく同じで、アプリケーション サーバー ロールはデータを格納しません。つまり、このようなサーバー ロールの各インスタンスは、まったく同じ状態を保ちます。いずれかのサーバー コンピュータが故障しても、保存されているデータは失われません。Web サーバーは、これらのサーバー ロールに対する要求を、利用できるアプリケーション サーバー コンピュータ間に、自動的に負荷分散します。

Office Project Server 2007 の Project アプリケーション サービスは、冗長に展開できます。これにより PWA データ要求に対するスループットを向上でき、展開の容量を増やすことができます。ただし、Project アプリケーション サービスを複数のサーバーに展開しても、ファームの可用性は向上しません。いずれかのサーバーに障害が発生した場合、ファームはその障害を自動的に検出せず、障害が発生した Project アプリケーション サービス サーバーがファームから手動で削除されるまで、要求をそのサーバーに送信し続けます。

冗長にできないロール

Office Project Server 2007 で有効にできるアプリケーション サーバー ロールの中には、Windows SharePoint Services 3.0 検索など、冗長にできないものがあります。このアプリケーション サーバー ロールは複数のサーバーに展開できますが、複数のサーバーは冗長ではありません。このサーバー ロールは、コンテンツをクロールし、コンテンツのインデックスを生成するために構成されます。このサーバー ロールを複数のサーバーに展開すると、サーバーごとに異なるコンテンツをクロールします。

データベース サーバーの冗長性

データベース サーバー ロールは、ソリューションの可用性に対して他のロールより大きい影響を与えます。Web サーバーまたはアプリケーション サーバー ロールは、エラーが生じてもすぐに復元または再展開できます。一方、データベース サーバーで障害が発生した場合、ソリューションはデータベース サーバーの復元に依存します。これには、データベース サーバーの再構築と、バックアップ メディアからのデータの復元が含まれる場合があります。この場合、SQL Server の構成方法によっては、最後のバックアップ ジョブ以降の新しいデータまたは変更されたデータが失われる可能性があります。さらに、データベース サーバー ロールを復元するまでの間、ソリューションは完全に利用できません。

どのようなシステムでも、ハードウェア ベンダーと協力して、RAID 配列など、システムに適したフォールトトレラントなハードウェアを調達することを推奨します。

コンポーネントのフォールト トレランスを計画するときは、以下の点を考慮してください。

  • サーバー内のすべてのコンポーネントの完全な冗長性が可能でない、または現実的でない場合があります。冗長性を高めるには、追加のサーバーを使用してください。

  • 冗長性を最大化するには、サーバーに複数の電源装置があり、複数の電源に接続されていることを確認してください。

ログ配布

Microsoft SQL Server では、ログ配布を使用して、トランザクション ログを 1 つのデータベースから別のデータベースに常に送信できます。継続的にトランザクション ログをソース データベースからバックアップし、配布先データベースにコピーして復元することにより、配布先データベースがソース データベースと同期された状態で維持されます。ログ配布は、スタンバイ サーバーを維持する自動化された方法を提供します。

スタンバイ サーバー

スタンバイ サーバーは、プライマリ運用サーバーに障害が発生したときにオンラインで使用できる 2 番目のサーバーです。プライマリ サーバーにインストールされているのと同じソフトウェア コンポーネントが、スタンバイ サーバーにインストールされます。スタンバイ サーバーを使用すると、ユーザーはプライマリ サーバーが使用不能になった場合に Office Project Server 2007 データで作業を続行できます。

スタンバイ サーバーは、定期保守のためにプライマリ サーバーを使用できない場合にも使用できます。たとえば、ハードウェアまたはソフトウェアのアップグレードのためにプライマリ サーバーをオフラインにする必要がある場合、プライマリ サーバーがオンラインに戻るまで、スタンバイ サーバーを使用できます。

スタンバイ サーバーを使用する際に考慮すべき最も重要な要素は、スタンバイ サーバー上のハードウェア、ソフトウェア更新プログラム、およびファームウェア更新プログラムが、スタンバイ サーバーが代替するプライマリ サーバー上のものと同じである必要があることです。

スタンバイ サーバーがデータベース サーバーである場合、プライマリ サーバー上のデータベースのコピーを格納している必要があります。プライマリ サーバーがオフラインになったため、スタンバイ サーバーがオンラインになったとします。ここで、プライマリ サーバーが再び利用可能になった場合、スタンバイ サーバーに置かれているデータベースのコピーに対する変更は、プライマリ サーバーにコピーし直す必要があります。それ以外の場合、これらの変更は失われます。ユーザーがプライマリ サーバーの使用を再開する場合、プライマリ サーバー上のデータベースをバックアップし、スタンバイ サーバーにコピーする必要があります。

ログ配布は、スタンバイ サーバーがプライマリ サーバーと同期された状態であることを確認するために最もよく使用されます。プライマリ サーバーに障害が発生するか、1 つのデータベースだけに障害が発生した場合でも、スタンバイ サーバー上のデータベースをユーザー プロセスで使用可能にできます。プライマリ サーバーにアクセスできないユーザー プロセスは、代わりにスタンバイ サーバーを使用する必要があります。

展開の一部として別のフロントエンド Web サーバーがある場合、Project アプリケーション サービスをフロントエンド Web サーバーにインストールし、そのサービスをオフにしておくことができます。その後、Office Project Server 2007 サーバーのいずれかに障害が発生した場合、フロントエンド Web 上で Project アプリケーション サービスをアクティブにし、スタンバイ サーバーとして簡単にオンラインにできます。