eviden-logo

Evidian > Products > SafeKit: Simple, Cost-Effective High Availability Software > Mirror cluster with file replication at byte level and application failover

Mirror cluster with file replication at byte level and application failover

Evidian SafeKit

How the SafeKit mirror cluster works with Windows or Linux?

Step 1. Real-time replication

Server 1 (PRIM) runs the Windows or Linux application. Clients are connected to a virtual IP address. SafeKit replicates in real time modifications made inside files through the network.

File replication at byte level in a mirror Windows or Linux cluster

The replication is synchronous with no data loss on failure contrary to asynchronous replication.
You just have to configure the names of directories to replicate in SafeKit. There are no pre-requisites on disk organization. Directories may be located in the system disk.

Step 2. Automatic failover

When Server 1 fails, Server 2 takes over. SafeKit switches the virtual IP address and restarts the Windows or Linux application automatically on Server 2.
The application finds the files replicated by SafeKit uptodate on Server 2. The application continues to run on Server 2 by locally modifying its files that are no longer replicated to Server 1.

Failover of Windows or Linux in a mirror cluster

The failover time is equal to the fault-detection time (30 seconds by default) plus the application start-up time.

Step 3. Automatic failback

Failback involves restarting Server 1 after fixing the problem that caused it to fail.
SafeKit automatically resynchronizes the files, updating only the files modified on Server 2 while Server 1 was halted.

Failback in a mirror Windows or Linux cluster

Failback takes place without disturbing the Windows or Linux application, which can continue running on Server 2.

Step 4. Back to normal

After reintegration, the files are once again in mirror mode, as in step 1. The system is back in high-availability mode, with the Windows or Linux application running on Server 2 and SafeKit replicating file updates to Server 1.

Return to normal operation in a mirror Windows or Linux cluster

If the administrator wishes the application to run on Server 1, he/she can execute a "swap" command either manually at an appropriate time, or automatically through configuration.

SafeKit: High Availability (HA) and Redundancy Choices

What are the two primary choices for ensuring high availability and redundancy?

You can choose between setting up redundancy:

  • At the application level
  • At the virtual machine (VM) level

What is "Redundancy at the application level"?

In this solution, only the application data are replicated. In the event of a failure, only the application is restarted, not the entire operating system or VM.

SafeKit diagram for Application Level High Availability (HA): Illustrates synchronous replication of critical application data between active and passive servers, enabling fast application failover without needing a full VM restart.

Technical Requirements:

  • It requires a technical understanding of the application itself.
  • You must manually define:
    • Which services need to be restarted.
    • The specific application folders that need real-time replication.
    • The configuration of a virtual IP address for failover.

Platform Compatibility:

  • This solution is platform-agnostic.
  • It works inside physical machines, virtual machines, or in the Cloud.
  • Any hypervisor is supported (e.g., VMware, Hyper-V, etc.).
  • More information: Windows, Linux

What is "Redundancy at the virtual machine (VM) level"?

In this solution, the full Virtual Machine (VM) is replicated, including both the Application and the Operating System (OS). In the event of a failure, the full VM is restarted.

SafeKit diagram for Virtual Machine (VM) Level High Availability (HA): Illustrates the full replication of the VM, including the OS and application, between two physical servers to ensure service continuity upon hardware failure.

Key Advantages:

  • It does not require a technical understanding of the application installed within the VM.
  • It is the best solution if you do not know how the application works.
  • You only need to define the location of the VM files.

Platform Compatibility:

  • This solution works with Windows/Hyper-V and Linux/KVM.
  • It does not support VMware for this type of redundancy.
  • This is typically an active/active solution where several virtual machines can be replicated and restarted between two nodes.
  • More information: Windows/Hyper-V, Linux/KVM

Typical usage with SafeKit

Why a replication of a few Tera-bytes?

Resynchronization time after a failure (step 3)

  • 1 Gb/s network ≈ 3 Hours for 1 Tera-bytes.
  • 10 Gb/s network ≈ 1 Hour for 1 Tera-bytes or less depending on disk write performances.

Alternative

Why a replication < 1,000,000 files?

  • Resynchronization time performance after a failure (step 3).
  • Time to check each file between both nodes.

Alternative

  • Put the many files to replicate in a virtual hard disk / virtual machine.
  • Only the files representing the virtual hard disk / virtual machine will be replicated and resynchronized in this case.

Why a failover ≤ 32 replicated VMs?

  • Each VM runs in an independent mirror module.
  • Maximum of 32 mirror modules running on the same cluster.

Alternative

  • Use an external shared storage and another VM clustering solution.
  • More expensive, more complex.

Why a LAN/VLAN network between remote sites?

Alternative

  • Use a load balancer for the virtual IP address if the 2 nodes are in 2 subnets (supported by SafeKit, especially in the cloud).
  • Use backup solutions with asynchronous replication for high latency network.

SafeKit HA Solutions and Quick Installation Guides (with preconfigured .safe modules)

How to Configure HA for New Applications with Real-time Replication and Failover?


How to Configure HA for New Applications with Network Load Balancing and Failover?


How to Configure HA for Amazon AWS Cloud Services?


  • AWS (Real-time Replication and Failover - mirror.safe)
  • AWS (Network Load Balancing and Failover - farm.safe)

How to Configure HA for Google GCP Cloud Services?


  • GCP (Real-time Replication and Failover - mirror.safe)
  • GCP (Network Load Balancing and Failover - farm.safe)

How to Configure HA for Microsoft Azure Cloud Services?


  • Azure (Real-time Replication and Failover - mirror.safe)
  • Azure (Network Load Balancing and Failover - farm.safe)

SafeKit High Availability Differentiators