High Availability setup - has anyone seen this method?

  • Hi all,

    I recently moved to a new employer who have their HA setup in a way I've never seen and I'd just like to get opinions on it; I'm not saying it's right or wrong, just different (but it does appear to have caused issues).

    The way that I'm used to is that two (or more) Windows servers in a WSFC have SQL of the same version installed with an AG and listener (or multiple listeners if required). So this uses at least five IPs (each server, WSFC, AG and each listener), for example:

    • StaffCluster

      • StaffListener

        • StaffServer01
        • StaffServer02

    So the Cluster can only be on either of two identical servers and doesn't use a Quorum/Witness server.

    The way my new employer is set up is:

    • SQL1019Cluster

      • StaffListener

        • StaffServer01
        • StaffServer02

      • StockListener

        • StockServer01
        • StockServer02

      • SupplierListener

        • SupplierServer01
        • SupplierServer02

      • OrdersListener

        • OrderServer01
        • OrderServer02

    This means that the Cluster can be on any of the eight servers, identical or not.

    Apart from using less IPs, what are the pros and cons of the two approaches? The second one has already caused at least one issue (moving to a node in a different IP range) and possibly another which is under investigation by the Server Techs.

  • I've seen this, and it can be OK, or not. I think when I've seen it there is still a need to have each node very close in both resource and patch levels. The issues come in if you fail/move a workload to another node and it can't handle it, or the CU level is different which might expose or fix a bug/behavior that's expected.

    People usually do this to save resources (one cluster, things are fine and each handles its own workload), but then find an issue when two heavy workloads fail to the same node.

  • Another consideration is licensing.

    If I am not mistaken, SQL Server doesn't cover a passive spare unless you have software assurance and even then, it covers 1 passive spare for failover purposes and 2 spares for DR purposes.

    So if you have 8 servers total and none are specific to DR purposes, you must license 1/2 of those for SQL if SQL is expected to fail over to any of them. More than 1/2 if you have more than 1 of those "active", but if they are passive (can be online but can't be presenting data to users), then they can be shared license with 1 active one.

    Or so is my understanding. Might be good to reach out to your licensing partner to confirm.

    The above is all just my opinion on what you should do. 
    As with all advice you find on a random internet forum - you shouldn't blindly follow it.  Always test on a test server to see if there is negative side effects before making changes to live!
    I recommend you NEVER run "random code" you found online on any system you care about UNLESS you understand and can verify the code OR you don't care if the code trashes your system.

  • Thanks, Steve. That echos my thoughts.

  • Thanks Brian, good call. I'm not sure whether we have SA but I don't think so; I haven't seen any active/active setups yet but I haven't been on every cluster yet!

  • Thanks for the advice, I will keep it in mind.

Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply