Skip to content

High Availability

High availability (HA) provides automatic failover between two nodes using a virtual IP (VIP). Marketplace deployments configure HA automatically; this page covers manual HA setup (on-prem) and ongoing management.

Navigate to Failover in the Web UI sidebar.

ModeDescription
Active-PassiveOne resource group owned by the active primary node. Resources transfer only during failure or manual intervention.
Active-ActiveTwo resource groups with different cluster IDs. Each node owns one resource group. On failure, the surviving node assumes both.

HA works with either shared or shared-nothing storage:

ModelDescription
Shared StorageBoth nodes access the same storage (dual-path arrays, NVMe-oF, cloud block storage)
Shared-NothingSeparate storage per node with synchronous mirroring (NVMe-oF mirror or DRBD)
CloudRequirements
AzureService principal login on all nodes, Availability Set, Load Balancer or custom route for VIP
GCPService Account with custom IAM roles, secondary IP ranges configured
AWSCustom IAM role with EC2 permissions, subnet with secondary private IP support
On-PremNetwork allowing gratuitous ARP for VIP, shared storage or dedicated replication network
  • Unique cluster ID (1–255) for all managed resources
  • Node names must match uname -n output
  • A virtual IP address (outside normal DHCP range)
  • At least one heartbeat link between nodes (two recommended)
  • Clear previous disk headers with wipefs if reusing disks
  1. Navigate to Failover and click New
  2. Complete the cloud-specific checklist (if applicable)
  3. Configure:
FieldDescription
Failover TypeActive/Passive or Active/Active
Primary NodePrimary hostname (auto-populated)
Secondary NodeSecondary hostname (must match uname -n)
Resource IDCluster resource ID (1–255)
Virtual IPFloating IP address for client access
NetmaskSubnet mask (on-prem only; cloud auto-configures)
  1. Configure heartbeat links:
FieldDescription
Heartbeat Link 1Primary network interface + peer IP
Heartbeat Link 2Secondary interface + peer IP (recommended)
Ping NodeGateway IP for split-brain detection
  1. Optionally configure advanced parameters:
ParameterDescriptionDefault
KeepaliveHeartbeat interval (ms)1000
DeadtimeTime before declaring peer dead (s)10
WarntimeWarning threshold (s)5
InitdeadInitial dead time for startup (s)30
Auto FailbackAutomatically failback when primary recoversOff
  1. Click Create (takes ~30 seconds)

If the primary is already configured, use Join on the secondary node to add it to the cluster.

ActionDescription
StartStart the failover service on a node
StopStop the failover service
StandbyRelease all resources (go standby)
TakeoverForce the other node to release all resources
DeleteRemove the failover configuration

The Failover panel shows:

  • Node list with roles (Primary/Secondary)
  • Failover service status (running/stopped)
  • Virtual IP assignment
  • Resource ownership per node
  • Heartbeat link health
  • Per-node active/inactive status
Terminal window
# Create failover configuration
mayacli create failover \
node=server1.local,server2.local \
options="clusterid=3 ipaddress=10.1.1.111 \
hblink=eth0>10.1.1.101:eth0>10.1.1.100,eth1>192.168.100.101:eth1>192.168.100.100"
# Show failover status
mayacli show failover
# Start failover service
mayacli bind failover
# Stop failover service
mayacli unbind failover
# Go standby (release all resources)
mayacli failover standby
# Force takeover (take all resources)
mayacli failover takeover
# Takeover specific: local, all, foreign, or failback
mayacli failover takeover local
mayacli failover takeover failback
# Delete failover configuration
mayacli delete failover

See CLI Guide for the full command reference.