Over the last few weeks I have been implementing various SharePoint environments for clients such as PoC’s, Dev, Pilots to name a few. All these environments have been single server farm deployments which I have found the community autospinstaller PowerShell script useful in configuring the majority of the install.
Now the challenge comes when you want to add additional servers to the farm. Initially the version of the installer script used had an issue where the logic for joining the farm worked but for some reason did not enable relevant features / services (osearch), I later discovered this when trying to add the query role to the new addition to the farm only to find that I could not select the server from the drop down in the UI.
After resolving this issue the new server did appear in the drop down but this is where I hit another issue and this is where I am currently at but read on for my findings and workaround.
So at the stage when I’m trying to assign the query role to the additional server in the farm using PowerShell the script just hangs, likewise if I try to assign the role via Central Admin I experience the same behaviour.
After many a roll back of VM snapshots I found the unlikely issue to be related to joining the farm using PowerShell. All PowerShell commands have been executed as per the TechNet article: http://technet.microsoft.com/en-us/library/cc262839.aspx#section6 and THE SERVER WILL JOIN THE FARM SUCCESSFULLY! Yes that's correct the server will join the farm with no errors. This is why it took so long to diagnose the farm attach as the problem as it didn't fail!
So how did I find this out? I simply added the server using PSConfig (The grey wizard as its known) and assigned the query role via Central Admin and all worked fine.
I have raised this issue with Microsoft and after a week and a half they have managed to experience the same issue. I’m currently working on the issue with them however in the meantime I would suggest adding the additional servers to the farm using PSConfig and then running PowerShell scripts again.
Users of the script may have not come across this issue yet as SharePoint 2010 RTM is only just over six months old and most environments being deployed are in preparation for a production 2010 build and those who have SharePoint 2010 in production may have built the server via the UI. Development environments may also have relaxed security even if a multi-server farm has been installed where the install account may have been a domain admin which may bypass these issues (be happy to hear your experiences on this).
As well as failing to assign search roles to additional servers, another issue I have discovered is deploying solutions. Deploying solutions to the new servers hangs and fails to deploy successfully.
Background to my environment:
- Windows 2008 R2, SQL 2008 R2.
- A specific install account was used to create the farm (not the Farm account)
- The install account is NOT a domain admin
- The install account is only admin on the local SharePoint servers
- The farm account is not local admin or domain admin on SharePoint / SQL / AD servers
- AD is on a separate server
- SQL service account is running under a separate account to any of the SharePoint services
- The search account is a dedicated search account (and so is the service application pool account (separate to the service account))
I will update my blog with progress. Credit also goes to my colleague James Brennan for assisting with this issue.
*** Update 17/12/2010 ***
After weeks of emailing back and forth with Microsoft Support I have now had confirmation that a hotfix will be created to address the issue, no timescales for the fix have been provided at this stage.
*** Update 23/03/2011 - Workaround ***
Contrary to the update on 17/12/2010 I have now received confirmation of a workaround to the issue.
The resolution is really simple. Basically after following the steps to add an additional server to the farm from the TechNet website http://technet.microsoft.com/en-us/library/cc262839.aspx#section6 there is a step missing where the SharePoint 2010 Timer (Job) (and Possibly the Admin Job) windows services require starting manually.
Once you start the service and wait a short time you should then successfully be able to assign server roles to the new addition to the SharePoint farm.
Next steps are that I have requested that this additional step to start the SharePoint 2010 Timer service is added to the TechNet article (http://technet.microsoft.com/en-us/library/cc262839.aspx#section6).
More information
Another symptom experienced when attaching new SharePoint servers to the farm is that when you try and assign the query role via the user interface you receive the following error:
‘The path must point to a fixed, NTFS drive whose root directory exists’
I also stumbled across a blog by Abdul where he has a different solution to resolving this using Repair-SPManagedAccountDeployment.which I’m guessing also starts the Timer service along the way.