インデックスサービス構成時の注意点

MOSS1台の構成であれば問題はないのですが、中規模ファーム構成(Webフロントエンド2台、インデックス1台、DBサーバ2台の構成)では、インデックスサービス構成時の注意点がいくつかあります。多くのお客様が困ってらっしゃるみたいなのでそれらをまとめてみます。

まず一番の問題となるのが、次のエラーです。このエラーは[サーバーの全体管理] で [このファームで有効なサービスの確認] メニューを選択した時に表示されます。

サービス:Office SharePoint Server Search 
案件:<サーバー名>にあるクエリサーバーのインデックスファイルの場所は共有されていません。このサーバーで伝達を受信できるようにするには、この場所が共有されている必要があります。

エラー自身の意味は、クエリサーバー(中規模ファーム構成では通常 Webフロントエンドサーバーと同じ)上でインデックスの共有フォルダが正しく作成されていないというものですが、それ以外の理由でもこのエラーメッセージが表示されるケースがあるようです。

その原因として考えられるのがインデックスサーバーの次の設定です。「すべてのWebフロントエンドコンピューターをクロールに使用する」これがインデックスサーバーのデフォルト設定ですが、これは全てのWebフロントエンドサーバー上でクロールを行う設定になります。

前提となる中規模ファーム構成では専用のインデックスサーバーを立てているので、次の「クロール専用のWebフロントエンドコンピューターを使用する」を指定する必要があります。

で、ここでも注意点があって、クロール専用のWebフロントエンドコンピューターを指定する場合、インデックスサーバー上で [Windows SharePoint Service Web Application] が実行されていないと
クロール専用のWebフロントエンドを選択するドロップダウンに表示すらされません・・・。

雑談

TECHNETの表記にも矛盾がありますね。次のURLでは

http://technet2.microsoft.com/Office/en-us/library/396c85d9-4b86-484e-9cc5-f6c4d725c5781033.mspx?mfr=true

You should disable the Windows SharePoint Service Web Application service on all servers that are not serving content, especially index servers. On the other hand, you must be sure that this service is enabled on the servers that are serving content.

と言っているのに、次のURLでは

http://technet2.microsoft.com/Office/en-us/library/396c85d9-4b86-484e-9cc5-f6c4d725c5781033.mspx?mfr=true

You must ensure that the Windows SharePoint Services Web Application service is running on the front-end Web server that you want to use for crawling content

になってるし。どっちやねん!という感じで最初は全くわかりませんでした・・・。
まぁそれだけここの構成が難しいということなんでしょう。
繰り返しになりますが、インデックスサーバー上でも [Windows SharePoint Service Web Application] は実行する必要があります。


ちなみに、問題はこれに留まりません。専用のインデックスサーバーをたて、かつ Webフロントエンドサーバーが複数のNICを持つ場合、クロール中にインデックスサーバー上の HOSTSファイルを使用するようです。NLB構成組む時は通常2枚のNICは使うと思うので、絶対HOSTSファイルを使うと言い切ってもいいかもしれません。(なんでHOSTSファイルを使う必要があるのかは不明です)

で、HOSTSファイルを使うのは別に良いとして問題なのが、インデックスサーバーの構成の過程で間違ったIPアドレスが書きだされるケースがあるということです。次のURLにも下のように記載されています。


http://technet2.microsoft.com/Office/en-us/library/396c85d9-4b86-484e-9cc5-f6c4d725c5781033.mspx?mfr=true

In some cases, the Office SharePoint Server Service updates the Hosts file with an incorrect IP address, which could prevent you from accessing any SharePoint sites on your sever farm. 


"SOME CASES"ってなんやねん!!・・・との突っ込みはさておき、間違ったIPアドレスが書きだされると当然MOSSは正しく動作しません。私も一度インデックスサーバーからDBに接続できなくなるという現象にも遭遇し、調べてみたらHOSTSファイルのIPアドレスが間違っていたこともありました。間違ったIPアドレスがみつかったときの対処方法は、インデックスサーバーの設定を一度「すべてのWebフロントエンドコンピューターをクロールに使用する」に戻し、HOSTSファイルの間違ったIPアドレスのエントリを削除してから「クロール専用のWebフロントエンドコンピューターを使用する」に設定を戻せばよいようです。HOSTSファイルのエントリを消しただけではMOSSのタイマーサービスがご丁寧に消したエントリを復活させてしまうようですし(笑)


長くなりましたが、私が調べた範囲でわかったことが上記になります。これだけですべての問題が解決できるかわかりませんので、何か情報をお持ちの方はコメントにでも知らせて頂けると助かります。また、MOSSのインデックスサーバーでお悩みの方は下記URLもご確認ください。


Configure a dedicated front-end Web server for crawling using the user interface (Office SharePoint Server 2007)
http://technet2.microsoft.com/Office/en-us/library/396c85d9-4b86-484e-9cc5-f6c4d725c5781033.mspx?mfr=true


Configure a dedicated front-end Web server for crawling by editing the Hosts file directly (Office SharePoint Server 2007)
http://technet2.microsoft.com/Office/en-us/library/396c85d9-4b86-484e-9cc5-f6c4d725c5781033.mspx?mfr=true