HostingB2B » How to » How to Set Up Failover Between Two Dedicated Servers

How to Set Up Failover Between Two Dedicated Servers

Summarize with:
Summarize with AI
Share:

Downtime costs money and trust. A single unplanned outage can mean lost sales, frustrated customers, and hours spent explaining what went wrong to a client or a boss. This guide shows how to set up server failover between two dedicated servers, so your app survives a hardware failure without anyone getting paged at 3 AM. By the end, you’ll have a working active-passive pair with live data replication, automatic IP switching, and a tested recovery process you can actually trust when it matters.

What Is Failover and High Availability?

Failover simply means one server takes over the moment another fails. High availability, or HA, is the broader goal: keeping a service online as close to 100 percent of the time as possible. In practice, a high availability setup depends on redundancy, so knowing how to set up server failover ensures a second server stays ready to take traffic the moment the primary goes down, as with HostingB2B dedicated servers paired into a failover cluster behind one floating IP.

Active-Active vs Active-Passive

For two dedicated servers, an active passive failover is the safer, more stable choice. One server handles traffic while the second stays synced and idle. Active-active looks appealing since both servers work at once, but it introduces multi-master database conflicts: two nodes accepting writes simultaneously can corrupt data or trigger split-brain. Therefore, when learning how to set up server failover, active-passive remains the recommended default here.

Step 1: Provision a Secondary Server

First, order a secondary server with specs identical to the primary: same CPU, RAM, disk, and interface. Symmetry matters, since a mismatched backup can buckle under full load. Place both servers on the same low-latency private network.

Step 2: Set Up Data Replication (DB + Files)

Important: Replication Alone Does Not Fail Over the Database

Moving the floating IP redirects traffic, but it does not change the database roles. The secondary is still running as a read-only replica, so writes will start failing the moment traffic lands on it. During failover, the replica must be promoted: disable read_only, stop the replication thread, and point the application at the new master. You can script this in a Keepalived notify_master hook for small setups, or use a dedicated tool like Orchestrator or ProxySQL to handle promotion automatically. After the failed server returns, do not simply power it back on as master — reconfigure it as a replica of the new master first, or you risk split-brain at the database level.

Next, sync data continuously. For the database, configure Master-Slave replication, following

MySQL’s official replication documentation, so writes stream to the secondary in near real time. For files, pair lsyncd with rsync to push changes automatically.

Step 3: Configure Keepalived / Floating IP

Then, complete a Keepalived setup on both servers to manage the floating IP and detect failure through VRRP. Below is a working master-node configuration:

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass yourpassword
    }
    virtual_ipaddress {
        192.168.1.100
    }
    notify_master /usr/local/bin/promote-db.sh
}

On the backup node, set state to BACKUP and lower the priority. Keepalived calls the hosting provider’s API to reassign the floating IP, so traffic reaches the new master immediately. Full syntax is documented at keepalived.org.

Step 4: Automate Health Checks

A basic ping is not enough, since a server can answer ping while the app has crashed silently. Instead, run a script that checks the real services:

#!/bin/bash
if ! systemctl is-active --quiet nginx; then
    exit 1
fi
if ! systemctl is-active --quiet php-fpm; then
    exit 1
fi
exit 0

Keepalived runs this script on an interval and demotes the node automatically if it fails, triggering failover before users notice anything wrong.

Step 5: Test the Failover

Finally, prove the system works before trusting it in production. Disable the master’s network interface manually:

sudo ip link set eth0 down

Comparison Table

FeatureActive-PassiveActive-Active
Setup complexityLowHigh
Write conflictsNoneCommon
Resource usageOne idle nodeBoth nodes busy
Recommended for two serversYesNot by default

Common Use Cases by Industry

E-commerce platforms use failover to protect checkout flows during flash sales. Financial services rely on it for strict uptime rules, while SaaS providers keep dashboards free of a single failure point. iGaming operators depend on it most, since bets cannot pause mid-transaction.

Enterprise Deployment Considerations: HA for iGaming (99.99% Uptime)

For iGaming platforms, uptime is a financial and regulatory obligation, not just a technical metric. A ten-minute outage at peak hours can cost thousands in lost wagers, refunds, and licensing penalties. As a result, enterprises here should pair the setup above with HostingB2B’s high-availability hosting solutions, built to meet 99.99 percent uptime targets.

FAQ Section

Do I need identical hardware on both servers?

Yes. Matching specs prevent performance drops when the backup absorbs full production load.

How fast does failover actually happen?

Typically within one to three seconds, since Keepalived detects a missing advertisement almost instantly.

Can I use active-active instead?

You can, but only with a mature conflict-resolution strategy, since simultaneous writes risk data corruption.

Does replication lag cause data loss?

A small lag is possible, so choose synchronous replication if the app cannot tolerate any loss.

Do I need a load balancer too?

Not for this setup. A floating IP alone handles routing, since only one server takes traffic at a time.

Complete Solutions & Dedicated Support

Custom Server Builds and 24/7 Support Are Available To Meet All Your Dedicated Server Rrequirements.

Custom Dedicated Server Build?

Our sales team can prepare a custom quotation for you to fit your needs.

24/7/365 Live Chat Support

Our round the clock Support is available via Live Chat and Ticket System (Email)."

Custom Dedicated Server Build?

Our sales team can prepare a custom quotation for you to fit your needs.

24/7/365 Live Chat Support

Our round the clock Support is available via Live Chat and Ticket System (Email)."

Conclusion

Failover is not complicated once the pieces are in place: identical hardware, replication, a floating IP, honest health checks, and a real test. Together, these steps turn two servers into one system that never fails your users. Knowing how to set up server failover is not a one-time task: revisit replication lag, retest Keepalived priorities, and confirm health checks reflect the services you run. A setup built once and never verified again is just a guess about an outage, not a guarantee.

© 2026 All Rights Reserved. HostingB2B

Hosting B2B LTD is a Company registered in Cyprus with Company number HE410139 and VAT CY10410139C

Contact Info

© 2026 All Rights Reserved. HostingB2B

Custom Server Build