SharePoint 2016 MinRole and Search
For those who attended my session at the European SharePoint Conference (10th November 2015) will know that due to time constraints was not able to fulfil the entire demo. The basis of the demo was catered around MinRole and how to approach deployment of MinRoles especially when dealing with Search. In order to get full benefit to deploying MinRole planning a farm deployment requires the following steps:
Create your farm
Add all server MinRoles to the farm
Create Search Service Application in PowerShell (so you can specify where all components will be deployed)
Create remaining Service Applications
As if you decide on lets get one server up, and then lets deploy all components before adding other servers to the farm, we can run into several challenges that will cause us issues with MinRoles automatic compliance check and fix.
Firstly lets deal with Search, this is one of the most commonly deployed Service Applications in SharePoint.
If you deploy a sever as a front-end first (to get up and running quick) and deploy search as well via Central Admin this will cause all components to be provisioned to the Central Admin server. Because the server was a Front-End (not a Search/Custom MinRole) then the server will not be in compliance. If you try to fix, or run the Health Rule, the server will not return to compliance. This is because all of the search components have been deployed, and must be stopped in order to bring the server back to compliance.
The reason the health rules, or the fix component will not work is as with SP2013 index partitions cannot be removed from a server, even if we are able to move all other roles. Therefore our only options going forward will be to either:
Convert server role to Search or custom
Remove the search service application
Once all search components have been stopped and removed from a server, you can then bring your server back into compliance by using either the fix button on farm services, or the health rule repair automatically feature.
Note that from the screenshot above Custom does not have a compliance check, and this is by design. Custom does not have any rules as this MinRole is a la carte which gives admins full control over service deployment.