共有構成のオフライン ファイル

公開日: 2007 年 12 月 2 日 (作業者: iisteam (英語))

更新日: 2009 年 7 月 29 日 (作業者: iisteam (英語))

はじめに

共有構成を有効にした後、ファイルが格納されたネットワーク共有が使用できなくなったらどうなるのでしょうか。共有が停止すると、共有のタイム アウト後に構成システムは変更通知を検出し、WAS は共有の停止を引き起こした構成を再度読み込もうとします。しかし、この時点で Web サーバーは機能していないため、W3SVC サービスは構成にアクセスすることができません。したがって、Web サーバーが常に構成ファイルにアクセスできるように、レプリケーション機能を備えた分散ファイル システム (DFS) か、オフライン ファイルを使用することをお勧めします。

: Windows Server 2008 R2 (Windows 7) では、共有が停止すると、構成システムは WAS に対して、構成ファイルへのアクセス時に IO エラーが生じたことを知らせる特別な通知を送信します。この時点で、WAS は現在保有している構成のキャッシュ コピーを引き続き使用します。その間、WAS は共有が復旧するまで構成システムに対してポーリングを続行します (共有が復旧すると、WAS は構成を再度読み込みます)。WAS がキャッシュされた構成を使用して実行されている間に、管理者が WAS を停止するか、システムを再起動すると、共有が復旧するまで Web サーバーは機能しなくなります。

オフライン ファイル機能 (クライアント サイド キャッシュとも呼ばれる) を使用すると、ネットワーク共有が使用できない場合でも、ネットワーク共有に格納されているファイルにアクセスできます。構成ファイルを共有する環境では、構成ファイルが常時利用可能な状態を簡単に実現できるオフライン ファイルの使用をお勧めします。ただし、オフライン ファイルはスループットを低下させるので、Web サイト コンテンツでの使用は控えてください。

問題の要約: IIS 7 サーバーが共有構成モードで動作するよう構成されている場合、構成ファイルはファイル共有に格納されます。これは、Web ファームのセットアップ方法として推奨されている構成です。しかし、ファイル共有がオフラインになると、すべてのセットアップが停止し、Web サーバーは応答しなくなります。さらに、ファイル共有が再開しても IIS サーバーはそれを検出できず、次のようなエラー メッセージを表示します。

HTTP エラー 500.19 - 内部サーバー エラー。ページに関連する構成データが無効であるため、要求されたページにアクセスできません。

この場合は、IISReset を実行して、Web サーバーを再起動しなければなりません。

その他の情報

Web サイト コンテンツ用のファイル サーバーには、DFS を使用することをお勧めします。DFS の詳細については、https://technet.microsoft.com/ja-jp/library/cc753479(WS.10).aspx にある、分散ファイル システムに関するドキュメントを参照してください。

クライアント サイド キャッシュの詳細については、https://technet.microsoft.com/ja-jp/library/cc755136(WS.10).aspx を参照してください。

オフライン ファイルを使用した共有構成の構成

**オフライン ファイル (クライアント サイド キャッシュ) が有効な共有構成をセットアップするには、次の手順に従います。

手順1: Web サーバーの [コントロール パネル] で [オフライン ファイル] を開きます。

手順 2: [オフライン ファイル] ダイアログ ボックスで [オフライン ファイルを有効にする] をクリックします。マシンはまだ再起動しないでください。

手順 3: 次のコマンドを実行して、キャッシュが読み取り専用に設定されていることを確認します。

REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v ReadOnlyCache /t REG_DWORD /d 1 /f

手順 4: Web サーバーを再起動します。

手順 5: Web サーバーから、ファイル共有フォルダーを参照します。右クリックして、[常にオフラインで使用する] を選択します。

Ff454007.offline1(ja-jp,TechNet.10).jpg

手順 6: [コントロール パネル] で [オフライン ファイル] を開きます。[スケジュール] オプションを選択します。

Ff454007.offline2(ja-jp,TechNet.10).jpg

手順 7: オフライン ファイルの同期を 1 日ごと、または必要に応じて実行するようスケジュールを設定します。分単位で指定することもできます。スケジュールを設定しなくても、applicationhost.config ファイルで変更を加えると、その内容が Web サーバーにすぐに反映されます。

Ff454007.offline3(ja-jp,TechNet.10).jpg

これで、ファイル共有がオフラインの場合でも Web サーバーは正常に機能するようになりました。IISReset を実行する必要はありません。

このコンテンツの作成にあたり、ご協力いただいた Won Yoo 氏と Amol Mehrotra 氏に謝意を表します。