Replica Set - Primary election RRS feed

  • Question

  • Good evening together,

    I have a short question regarding the primary election in a replica set.

    Let´s assume I have an Enterprise Pool with 5 (FE1,FE2,FE3,FE4,FE5) Front End Servers.

    Routing Group 1 has the following replicas assigned: FE1 (Primary) , FE2, FE3

    When FE1 will fail due to an outage, everything would be ok because FE2 and FE3 maintain Quorum. (So they elect a new primary)

    But how do FE2 and FE3 maintain Quorum for the Routing Group? Just because there are still 2 (over 50%) of the 3 Replicas up and running, or does the SQL Server will be a third voter?

    I took a look at the HA Deepdive video from Microsoft and in the video they said that the SQL is here an additional vote for the quorum. I am a little bit distracted now, because I though SQL would only be a voter in case of an enteprise pool with an even number of front end server.

    Maybe someone of you know how this is handled correctly? :)


    Thursday, August 17, 2017 6:10 PM


All replies

  • Hi.

    I hope you look at this link.

    Front End Pool high availability and management

    In pools with an even number of servers, Skype for Business Server uses the Primary SQL database as Witness.

    And next about lost server from pool.

    Pool-level quorum loss

    For a Front End pool to function at all, it cannot be in pool-level quorum loss. If the number of servers running falls below the functional level as shown in the following table, the remaining servers in the pool will stop all Skype for Business Server services. Note that the numbers in the following table assume that the Back End Servers in the pool are running.


    Total number of Front End Servers in the pool

    Number of servers that must be running for pool to be functional




    Any 2


    Any 3


    Any 4


    Any 4 of the first 7 servers


    Any 5 of the first 9 servers

    In the preceding table, the “first servers” are the servers which were brought up first, chronologically, when the pool was started for the first time. To determine these servers, you can use the Get-CsComputer cmdlet with the -PoolFqdn option. This cmdlet will show the servers in the order that they appear in the topology, and the ones at the top of the list are the first servers.

    About routing group it's same from this.

    Lync Server 2013 Routing Groups

    Continue about HA.

    Windows Fabric and Lync 2013/Skype for Business

    MCITP, MCSE. Regards, Oleg

    • Edited by Oleg.Kovalenko Thursday, August 17, 2017 6:34 PM
    • Proposed as answer by Askwizard Friday, August 18, 2017 9:03 AM
    Thursday, August 17, 2017 6:24 PM
  • Hi Oleg,

    thanks for your answer. I went through the articles but there is still one open question for me, regarding the Quorum of the Replica Set.

    When one of my Replicas is down and the pool qourum still exists I am able to elect a new server to be the primary server for the routing group.

    But when the second server of the replica set also goes down and we still have pool quorum they say that this will be quorum loss for the replica set and the users of the routing group will go into the limited functionality mode (in case that the primary server of the RG is still up and running). My question is - how does the replica set check for quorum? Does it use the 3 replicas for voting and when less than 50% is active, the replica set will have quorum loss? I know that the pool quorum needs 50% front ends up and running and therefore it uses the voters listed in the windows fabric xml. But I am not sure about how the replica set checks this. 

    I also have another question regarding the blob storage.
    I tried to search a lot about the blob storage in the internet but I cant really find a suitable explanation.

    I understand it like this: The Front End Server stores changes of the persistent user data in the blob storage. In some time the System will write these "blobs" back to the SQL Backend. I think the blob storage is located onto the front end Systems, right? I have read something about the LYSS which is responsible for writing these blobs back to the SQL Backend, but I am not sure.

    Thanks for your help and greets,


    • Edited by Markus_95 Saturday, August 19, 2017 12:30 PM
    Saturday, August 19, 2017 12:04 PM
  • Hi.

    Every time, when Lync pool left servers more then minimum, you need reset pool and quorum.   

    I don't found detailed information for Skype for Business, but I think not big change from Lync 2013. 

    Lync 2013 High Availability deep dive: Architecture

    Lync 2013: High Availability and Disaster Recovery

    Lync 2013 Architecture

    For practice testing HA for Lync 2013, I'm use this lab. Now this is lab not available. 

    Configuring High Availability and Disaster Recovery in Microsoft Lync Server 2013

    All date and log Lync /Skype for FE Enterprise locate in SQL.

    Server collocation in an Enterprise Edition Front End pool deployment for Lync Server 2013SQL Server data and log file placement for Lync Server 2013

    RG date locate in SQL DB - Rgsdyn.mdf.

    Lyn and Skype with SQL HA is different support technology, and if you need information how working SQL HA you can look at this link.

    Back End Server high availability in Lync Server 2013

    Back End Server high availability in Skype for Business Server 2015

    MCITP, MCSE. Regards, Oleg

    Monday, August 21, 2017 12:57 PM
  • Are there any update for this issue, if the reply is helpful to you, please try to mark it as an answer, it will help others who has similar issue.

    Best Regards,

    TechNet Community Support

    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact

    Monday, August 28, 2017 8:41 AM