Saturday 30 November 2013

Planning Suggestion for SharePoint 2013

Overview:  It is always a good idea to have an exact breakdown of your SharePoint achitecture. I do this using a diagram and a corresponding spreadsheet.  This post has an example of the spreadsheet, I have a tab for each DTAP environment before I build it out. 

Server Name Server Role Logical Group CPU C D RAM Location IP Environment
SVR-PR-WFE1 SharePoint Web Front End SP WFE 4 90 80 16 London 10.189.10.50 Production
SVR-PR-WFE2 SharePoint Web Front End SP WFE 4 90 80 16 London 10.189.10.51 Production
SVR-PR-WFE3 SharePoint Web Front End SP WFE 4 90 80 16 M 10.189.10.52 Production
SVR-PR-WFE4 SharePoint Web Front End SP WFE 4 90 80 16 M 10.189.10.53 Production
SVR-PR-APP1 SharePoint Application Server SP APP 4 90 80 16 London 10.189.10.54 Production
SVR-PR-APP2 SharePoint Application Server SP APP 4 90 80 16 London 10.189.10.55 Production
SVR-PR-APP3 SharePoint Application Server SP APP 4 90 80 16 M 10.189.10.56 Production
SVR-PR-APP4 SharePoint Application Server SP APP 4 90 80 16 M 10.189.10.57 Production
SVR-PR-OWA1 Office Web Applications OWA 8 90 80 16 London 10.189.10.58 Production
SVR-PR-OWA2 Office Web Applications OWA 8 90 80 16 London 10.189.10.59 Production
SVR-PR-OWA3 Office Web Applications OWA 8 90 80 16 M 10.189.10.60 Production
SVR-PR-OWA4 Office Web Applications OWA 8 90 80 16 M 10.189.10.61 Production
SVR-PR-WF1 Workflow Services SP WF 4 90 120 8 London 10.189.10.62 Production
SVR-PR-WF2 Workflow Services SP WF 4 90 120 8 M 10.189.10.63 Production
SVR-PR-SRCH1 SharePoint Search Type A Search 8 134 80 32 London 10.189.10.70 Production
SVR-PR-SRCH2 SharePoint Search Type A Search 8 134 80 32 M 10.189.10.71 Production
SVR-PR-SRCH3 SharePoint Search Type B Search 8 134 300 24 London 10.189.10.72 Production
SVR-PR-SRCH4 SharePoint Search Type B Search 8 134 300 24 M 10.189.10.73 Production
SVR-PR-SRCH5 SharePoint Search Type C Search 8 134 500 24 London 10.189.10.74 Production
SVR-PR-SRCH6 SharePoint Search Type C Search 8 134 500 24 M 10.189.10.75 Production
SVR-PR-SRCH7 SharePoint Search Type D Search 8 134 500 24 London 10.189.10.76 Production
SVR-PR-SRCH8 SharePoint Search Type D Search 8 134 500 24 M 10.189.10.77 Production
SVR-PR-SRCH9 SharePoint Search Type D Search 8 134 500 24 London 10.189.10.78 Production
SVR-PR-SRCH10 SharePoint Search Type D Search 8 134 500 24 M 10.189.10.79 Production
SVR-PR-DBS1 SharePoint Databases SQL 16 134 500 32 London 10.189.10.85 Production
SVR-PR-DBS2 SharePoint Databases SQL 16 134 500 32 M 10.189.10.86 Production
CL-PR-DBS Cluster 10.189.10.87
LS-PR-DBS Listener 10.189.10.88
SVR-PR-DBR1 SSRS & SSAS Databases SQL 8 134 500 32 London 10.189.10.89 Production
SVR-PR-DBR2 SSRS & SSAS Databases SQL 8 134 500 32 M 10.189.10.90 Production
CL-PR-DBR Cluster 10.189.10.91
LS-PF-SP-DBR Listener 10.189.10.92
SVR-PR-DBA1 TDS & K2 Databases SQL 16 134 500 32 London 10.189.10.93 Production
SVR-PR-DBA2 TDS & K2 Databases SQL 16 134 500 32 M 10.189.10.94 Production
CL-PR-DBA Cluster 10.189.10.95
LS-PR-DBA Listener 10.189.10.96

Note: Window "Page File" or "Paging File" is a contentious issue, depending on the recovery.  So the dump logs go to 1 of the drives and I normally make sure they go to the c drive that is over provisioned for the is size.  I don't really know how important this is but I always estimate on the c drive for at least 2 times the maximum ram for my calculations.

Thursday 21 November 2013

Search Host Controller Service in "Starting" state

Problem: On my SharePoint 2013 farm via CA I see my "Search Host Controller Service is stuck in the "Starting" state.

Initial Hypothesis: Check if any services are stuck in a provisioning state using the PS below:
Get-SPServiceInstance | sort TypeName | select TypeName, Status, Server | ? {$_.Status -eq "Provisioning"}  
Resolution:  After identify the Search Host Controller instance/instances that are stuck in the Provisioning state get them to the Online state.  This is quickly achieved using PowerShell.   Tip: I was forced to run my PS on the server that is running the offending service instance.

$inst = Get-SPServiceInstance | ? {$_.TypeName -eq "Search Host Controller Service" } | ? { $_.PrimaryHostController -eq $true }
$sh = Get-SPServiceInstance | ? {$_.SearchServiceInstanceId -eq $inst.SearchServiceInstanceId.ToString()}
$sh.Status
$sh.Unprovision()
$sh.Status
$sh.Provision()
$sh.Status


I also use this script to get a general understanding of the health of my Search Serve Applications.

More Info:
http://mmman.itgroove.net/2012/12/search-host-controller-service-in-starting-state-sharepoint-2013-8/