web-dev-qa-db-ja.com

プロビジョニングの問題IIS 7.5サーバー(Web Farm Framework 2を使用)

WFF 2.5がインストールされており、これを使用してファームを正常に構成し、テスト環境でセカンダリサーバーをプロビジョニングしました。

私たちの環境(コントローラー、プライマリ、セカンダリサーバー)はWindows 2008 Server Web Edition R2で、IIS 7.5、WFF2.5がインストールされています。

アプリプール関連のディレクトリ内の.tmpファイルがロックされているという問題が継続的に発生しています。プロセスモニターは、ファイルをロックしているのがワーカープロセス(w3wp.exe)であることを示しています。

正確なエラーメッセージは、操作「ProvisionApplications」の実行に失敗しました。サーバー「abc」でメソッド「Microsoft.Web.Farm.SyncApplicationsRemoteMethod」を実行できませんでした。応答ストリームの例外。 「ABC85DA.tmp」で「ファイルの削除」操作を処理中にエラーが発生しました。エラーコードは0x80070020でした。プロセスは別のプロセスによって使用されているため、「C:\ inetpub\temp\appPools\ABC85DA.tmp」にアクセスできません。

AFAIKがワーカープロセスをホストしているWindowsプロセスアクティベーションサービスをシャットダウンすると、エラーは解決されます。

ただし、明らかに、サーバーをオンラインにするには、サービスを開始する必要があります。開始するとすぐに、自動プロビジョニングステップが失敗し、WFFはサーバーを異常としてマークし、ファームから取り出します。

アプリケーションプロビジョニングモジュールの[アプリケーションプロビジョニングを有効にする]をオフにしてアプリケーションプロビジョニングをオフにしようとしましたが、それでも操作は30秒ごとに発生するようです。

つまり、2つの問題が実際にあります。

  1. アプリプールの一時ファイルのファイルロックの問題を解決する方法。

  2. セカンダリサーバーで自動アプリケーションプロビジョニング操作をオフにする方法は? (これは、問題1の解決策がない場合の、実際には2番目の回避策です)

    TIA

2
Matt Evans

Webファームコントローラーのc:\ windows\system32\inetsrv\conf\applicationHost.configにある無視リストを更新することで、この問題を回避することができました。 appPoolフォルダーとlogFilesフォルダーの提供をスキップするようにWebファームのセクションを更新しました。これにより、問題が修正されたようです。

<webFarm>
    <applicationProvision offlineWhileSync="true" syncWebServerFromPrimary="true" periodicSync="00:00:30">
        <clear />
        <skipDirectives>                   
            <skip name="appPools" skipDirective="objectName=dirPath,absolutePath=.*appPools.*" />
            <skip name="logFiles" skipDirective="objectName=dirPath,absolutePath=.*LogFiles.*" />
        </skipDirectives>
    </applicationProvision>
</webFarm>
2
John

ARRサーバーを再起動すると、サーバーはセカンダリサーバーの繰り返しプロビジョニングの試行を停止しました(つまり、オフにしていた[アプリケーションプロビジョニングを有効にする]オプションを適用しました)

そうでなければ、ロックの問題はまだ発生すると思います。最初にサービスをプロビジョニングしている間、およびサーバーを同期することを目的とした後続のアプリケーションプロビジョニング中に、Windowsプロセスアクティベーションサービスをオフにできるため、これは問題ではない可能性があります。

スケジュールに沿った自動プロビジョニングは依然として問題になると思います。

0
Matt Evans

アプリケーションプロビジョニングをオフにすることでセカンダリサーバーを正常にプロビジョニングできますが、私のシナリオではコンテンツを複製する必要があるため、実際には解決策ではなく、サービスのどの部分が失敗しているかを示すフラグにすぎません。プラットフォームのプロビジョニングは問題ないようです。

ロックされたtmpファイルでも同じエラーが発生します-AmazonのEC2のクリーンインスタンスで実行されています。

それでもロックファイルの問題が発生しますか?自動プロビジョニングの解決策を得ることができましたか?

0
Mitul