locked
Failover cluster what does it exactly do? What software can be used with it? In practical terms. RRS feed

  • Question

  • I have started to read articles and watch videos about fail-over cluster and clustering in general. 
    I already know that there are several models to configure it (6?). But I couldn't get what software could benefit from it?
    Does Hyper-V benefit form a failover cluster? If one of the servers goes down will all virtual machines continue working?
    Does it work with all software? RDMS like PostgreSQL? 
    Am I correct that clustering only works for processes but doesn't involve data itself (so files should be on a network drive).
    Are there any performance benefits from using windows server clustering? For instance, with Hyper-V - will it be balancing load? And how does it do in layman terms?

    Tuesday, July 21, 2020 7:24 AM

Answers

  • Almost any software can be made highly available by being deployed in a failover cluster.  There are some exceptions, but those are few.  And there are some applications that may have their own HA built in so there is no need to deploy in a cluster.

    Virtualization is a prime example of a type of application that benefits from clustering.  Thousands upon thousands of virtual machines have been deployed into production running in clusters.  " If one of the servers goes down will all virtual machines continue working?"  That depends. If a server running VMs goes down, like a power fail, the virtual machine(s) running on that node of the cluster will restart on another node of the cluster.  Moving a running VM from one node to another requires cooperation between the nodes to move the memory of the running VM, and a power fail does not allow for that cooperation.  But there are many other situations where a running VM can be moved from one node to another without any issues.

    "Does it work with all software? RDMS like PostgreSQL?"  Almost any software can run in a cluster. But not all software is supported to run in a cluster.  For third party software, you need to talk with the third party to get their support statement.  And, though you can get almost any software to run in a cluster, it may not operate how you want it to operate.  

    "Am I correct that clustering only works for processes but doesn't involve data itself (so files should be on a network drive)."  Clustering provides for highly available data.  In fact, it is more likely to be able to retain consistent data than it is to provide continuous running of an application.  One of the most popular uses of clustering is for SQL Server.  When clusters first came out, one of the primary uses of the cluster was to ensure data availability for file services.

    "Are there any performance benefits from using windows server clustering? For instance, with Hyper-V - will it be balancing load? "  Load balancing is not a normal feature of clustering.  Hyper-V has a minimal capability that tries to ensure that one VM does not take so many resources as to start other VMs, but in general, load balancing would be something that is manually added to the cluster.  That would amount to some sort of monitoring tools to monitor what you want to watch (not all applications need the same things monitored in the same manner) and then to take some sort of action to rebalance (which also varies from application to application).  Load balancing is generally handled by some sort of scripting tailored to the specifics of any implementation.


    tim

    • Proposed as answer by Ian Xue Wednesday, July 22, 2020 9:23 AM
    • Marked as answer by martinenko_Edward Monday, July 27, 2020 5:29 AM
    Tuesday, July 21, 2020 1:08 PM

All replies

  • Almost any software can be made highly available by being deployed in a failover cluster.  There are some exceptions, but those are few.  And there are some applications that may have their own HA built in so there is no need to deploy in a cluster.

    Virtualization is a prime example of a type of application that benefits from clustering.  Thousands upon thousands of virtual machines have been deployed into production running in clusters.  " If one of the servers goes down will all virtual machines continue working?"  That depends. If a server running VMs goes down, like a power fail, the virtual machine(s) running on that node of the cluster will restart on another node of the cluster.  Moving a running VM from one node to another requires cooperation between the nodes to move the memory of the running VM, and a power fail does not allow for that cooperation.  But there are many other situations where a running VM can be moved from one node to another without any issues.

    "Does it work with all software? RDMS like PostgreSQL?"  Almost any software can run in a cluster. But not all software is supported to run in a cluster.  For third party software, you need to talk with the third party to get their support statement.  And, though you can get almost any software to run in a cluster, it may not operate how you want it to operate.  

    "Am I correct that clustering only works for processes but doesn't involve data itself (so files should be on a network drive)."  Clustering provides for highly available data.  In fact, it is more likely to be able to retain consistent data than it is to provide continuous running of an application.  One of the most popular uses of clustering is for SQL Server.  When clusters first came out, one of the primary uses of the cluster was to ensure data availability for file services.

    "Are there any performance benefits from using windows server clustering? For instance, with Hyper-V - will it be balancing load? "  Load balancing is not a normal feature of clustering.  Hyper-V has a minimal capability that tries to ensure that one VM does not take so many resources as to start other VMs, but in general, load balancing would be something that is manually added to the cluster.  That would amount to some sort of monitoring tools to monitor what you want to watch (not all applications need the same things monitored in the same manner) and then to take some sort of action to rebalance (which also varies from application to application).  Load balancing is generally handled by some sort of scripting tailored to the specifics of any implementation.


    tim

    • Proposed as answer by Ian Xue Wednesday, July 22, 2020 9:23 AM
    • Marked as answer by martinenko_Edward Monday, July 27, 2020 5:29 AM
    Tuesday, July 21, 2020 1:08 PM
  • Hi,

    If you're just getting started with failover cluster you could read the article first

    https://docs.microsoft.com/en-us/windows-server/failover-clustering/failover-clustering-overview

    Best Regards,

    Ian Xue


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.


    • Edited by Ian Xue Wednesday, July 22, 2020 9:24 AM
    Wednesday, July 22, 2020 9:23 AM