How to reboot your Lync/SfB Servers without breaking the Quorum.

More than once the situation when I'm asked how we should really reboot a server in a pool minimizing the impact for the end users, and not breaking the Server Quorum, Fabric Service and Routing Groups currently in use.

Before proceeding, it's important to always take in consideration our Technet Article about High Availability. There, you will find what's the minimum servers that must be up to have a healthy pool, as well as many other interesting information. If those requirements are not met, it's not possible to mantain the quorum functioning as expected.

Checked the requirements, this is the reccomended way to reboot a server in a pool.

  1. First, check that the Pool Fabric State is healthy before doing anything by running Get-CsPoolFabricState -PoolFQDN <PoolName> If the servers show as OK and UP status, and no warnings are shown, you're good to go.
  2. Check the Upgrade Readiness State with Get-CsPoolUpgradeReadinessState. If the pool is in Ready State and the Front-End shows TRUE on the "IsReadyForUpgrade" tab, you're ready to proceed.
  3. Stop the services on this server gracefully. To do so, use Stop-CsWindowsService –Graceful
  4. Now that the services are stopped, run Get-CsPoolFabricState. You will receive a set of warnings, but the important thing is here is that a the bottom of the output, all servers except the one where you're working are OK and in UP Status.
  5. Checked this, you can go on with the Reboot and wait until the services are again up and running.

Repeat steps  1 - 5 with all servers in the pool if you need to reboot them all.

I hope you found this information useful, and hope to see you next time around!