In this blog I ran across an interesting scenario that a customer requested. The customer is running a three tier Project/SharePoint Server 2013 server farm on Windows 2008 R2 server. The company required all servers to be on Windows Server 2012 R2 or higher and so the client wanted to migrate their Project/SharePoint 2013 farm to Window 2012 R2. SQL server was not a concern, because it had already met the companies polices.
My first impression is why not migrate Project/SharePoint 2013 to either 2016 or 2019 and at the same time, install Project/SharePoint farm on Windows 2012 R2 servers. Seems reasonable, however, the PMO (Project Management Office) didn’t want to migrate to newer version of project server, because of different SharePoint architecture, reports and customization. This makes more sense to me now and so I came up with two possible scenarios to accomplish this with least impact.
- Install new SharePoint/Project server farm on new Windows 2012 R2 servers and then move databases and configure services on new environment.
- Swing new nodes in the existing farm by adding a new SharePoint front-end and app server on Windows Server 2012 R2 server. Configure app server to run same services as the 2008 R2 servers and then configure 2012 R2 front-end server
Three Stages of the SharePoint Swing
1) Original Farm on Windows Server 2008 R2 (above)
2) SharePoint Swing Farm on Server 2008 R2 and 2012 (above)
3) SharePoint Farm now running on 2012 (above)
It was decided to use the SharePoint Swing method. The premise if fairly simple. New windows 2012 R2 servers are created and SharePoint/Project Server is installed and configure. The swing operation basically was the following
- Install two Windows Server 2012 R2 servers and install SharePoint 2013 on each node
- Join the new SharePoint servers to the SharePoint 2013 Farm. One as front-end tier and the other as app tier
- Using Central Admin add services to the new app and front-end SharePoint Servers
- Verify servers are working properly
- Shutdown old SharePoint front-end and app server. The SharePoint farm should continue to work without the redundant server.
- Optional after it is proven that the SharePoint has swung to the new SharePoint servers, the old servers can be remove and decommissioned.
Github provides PowerShell scripts to create a test environment in Azure using an IaaS architect. https://github.com/MyProjectExpert/ProjectServer-Tools/tree/master/SharePoint2013Swing