Adding Index Server into the existing MOSS farm and moving index service from the one server to another server is a mini-project itself. Here is the step by step process from my recent experience.
First step is to build the Index Server.
- Make sure you have exact operating system (windows 2003), IIS, ASP.NET are installed on the new server as the existing servers running in the farm. Most importantly, make sure similar versions of .NET Framework with service pack are installed on the new server. (I have worked on the project where new server had .NET Framework 3.5 installed and existing servers in the farm didn’t have .NET Framework 3.5 installed and we had to pay the price. More about it later)
- Enable the ASP.NET v2.0.50727 – To enable the ASP.NET version in the IIS manager, expand the local computer and expand the Web Services Extensions. Select “Allow” the ASP.NET v2.0.50727. If you don’t see ASP.NET v2.0.50727 in the list, you have to run aspnet_regiis -i command from the correct version of ASP.NET folder (e.g. C:\Winnt\MicrosoftBase\Framework64\v2.0.50727 for the 64bit servers)
Next Step would be installation of Office SharePoint technologies on the new server.
- Install the MOSS 2007 or MOSS 2007 SP1 without any software updates and do not run the SharePoint Products and Technologies Configuration Wizard.
- Install the software updates. It is important to download only software updates installed on the existing servers. To join the existing farm, you need to have new server running same updates. Make sure you download correct versions of the software updates (x86 vs x64). It is important to remember that you cannot uninstall software updates once you install them.
- Run the SharePoint Products and Technologies Configuration Wizard at the command prompt and Join the existing farm. For the Index server, select the installation type – Complete.
Once you have index server. Follow following steps to move the search services (WSS Search and MOSS Search) from the existing server to the new server. It is important to remember that moving index role from one server to another will reset the index. If existing server is still running the query role, user queries will be served from the indexes stored on the existing server, but it will not update index until new server resets the index, re-crawl the content, and re-propagate the indexes on the query server.
- Open the Central Administration, Operations tab, and Services on Server page.
- Select the server with Windows SharePoint Services Search services from the servers list, from the services section – Stop the Windows SharePoint Services Search.
- Select the new server from the servers list – Start the Windows SharePoint Services Search. Please remember it will create a new WSS_Search database. Make sure Service Account and Content Access Accounts have fully domain name (e.g. domain\username). I have seen the scenarios where WSS Search Services gets stuck in the “Starting” mode instead of “Started” mode due to missing domain name. Since WSS Search Service servers only help search in MOSS farm, make sure indexing schedule is daily to reduce the indexing overhead.
- Select the server used for indexing content from the servers list, from the services section – Select Office SharePoint Server Search and uncheck the box – Use this server for indexing content. This will keep only Query role enabled on the existing server.
- Select the new server from the servers list – Start the Office SharePoint Server Search service and make sure “Use this server for indexing content” is checked. This will enable Index role on the new server. In most environments, default indexer performance and web front end crawling settings are sufficient.
- Access the SSP administration page (http://url-of-central-admin/_admin/managessp.aspx), and on the drop-down menu for the SSP in question, choose Edit Properties. Select the new server as an Indexer role. If Index Server selection is grayed out, most probably SSP still thinks your previous server is hosting the Indexes. Make sure to restart the Office Search Server Services from the services page for both the new and existing server to refresh the SSP settings.
- After updating the SSP, new server should be configured to host the Index file and Index has been reset. Visit Manage Search Service page from the Central Administration’s Application tab to make sure Query and Index Servers are properly configured. Make sure Crawling Status is either idle or crawling and Propagation Status is idle or propagating. If status is Retrieving or Offline, there must be something wrong during the index move.
- Once you successfully reset the index and crawling status and propagation status seems OK, last step is to initiate the full crawl for search. Visit the SSP Administration Page and click on the search settings. Make sure propagation status is idle. You can either wait for Indexing status to be idle or initiate the full crawl without indexing completion.
- Once you run the full crawl successfully, Index server should start propagating the indexes to the query server. After full crawl and couple of incremental crawls, index should be updated with the most up to date information and search should work fine.
As I said earlier in this blog entry, after rebuilding the server and adding the new server back into the MOSS farm, we came across peculiar problem due to introduction of the Microsoft.NET 3.5 framework in the MOSS farms – Accessing Site Settings page on the SSP Admin throws an error – Authentication failed because the remote party has closed the transport stream. See if the next entry in this blog series for my experience of resolving them.