Documentation Configuring Host Clusters

Configuring Host Clusters

SimpleVM 10.1

Overview of Host Clustering

In SimpleVM, a host cluster is a group of two or more physical servers that operate together as a unified virtualization platform. Clustering enables key features such as live virtual machine (VM) migration and high availability.

This provides functionality comparable to cluster and live-migration capabilities found in other virtualization platforms such as VMware ESXi, Microsoft Hyper-V, and Proxmox VE.

Purpose of Host Clustering

Clustering host servers in SimpleVM delivers the following capabilities:

  • Live VM Migration

    Move running virtual machines between hosts with no interruption to services or applications (comparable to live-migration features in other major hypervisors).

  • High Availability (HA)

    With shared storage configured, virtual machines can be restarted on another host in the cluster if a host fails (manual failover).

  • Resource Pooling and Load Balancing

    Combine CPU, memory, and storage resources across multiple hosts for improved utilization and workload distribution.

  • Scalability and Fault Tolerance

    Add hosts easily as your environment grows while maintaining high resilience.

Important Note: Live VM migration can be performed using either local storage on each host or shared storage. High Availability (HA) functionality requires shared storage (such as NFS, iSCSI, or Fibre Channel) so that all hosts in the cluster can access the same VM disk files.

Common Cluster Configurations

SimpleVM supports clusters of various sizes. The most common configurations are:

2 Nodes

Two-Node Cluster

The simplest redundant configuration, consisting of two hosts. Virtual machines can be live-migrated between the two nodes. This setup is often used in smaller environments.

3+ Nodes

Three-or-More-Node Cluster

A three-host (or larger) configuration that provides better resilience and quorum stability compared to a two-node cluster. This is a recommended starting point for most production deployments.

SimpleVM clusters are fully flexible—you can begin with either configuration and easily expand later by adding more hosts as your environment grows.

Prerequisites

Before you begin, verify that the following requirements are met on all hosts that will participate in the cluster:

System Requirements

  • All hosts are running the same version of SimpleVM.
  • Hardware virtualization extensions (Intel VT-x or AMD-V) are enabled in the BIOS/UEFI of every host.
  • CPU models across hosts are compatible for live migration (or the same CPU model is configured in libvirt).

Networking Requirements

Reliable, low-latency network connectivity exists between all hosts that will form the cluster.

Additional Requirements

  • Network Time Protocol (NTP) is configured and working identically across all hosts.
  • For High Availability (HA) features, shared storage (NFS, iSCSI, Fibre Channel, or equivalent) must be configured and accessible from every host.
  • Each host has sufficient spare CPU, memory, and network capacity to support virtual machine migrations and failover.

Configuration Steps

Choose the procedure that matches your cluster size.

1 Two-Node Cluster

On both hosts (repeat the entire procedure on Host A and Host B):

Step 1

Configure Cluster Networking

sudo systemctl enable --now sshd

sudo firewall-cmd --permanent --new-zone=cluster
sudo firewall-cmd --permanent --zone=cluster --add-source=<ip-of-peer-host>
sudo firewall-cmd --permanent --zone=cluster --add-service=ssh

sudo firewall-cmd --permanent --new-service=qemu-nbd
sudo firewall-cmd --permanent --service=qemu-nbd --set-short="QEMU-NBD"
sudo firewall-cmd --permanent --service=qemu-nbd --set-description="QEMU NBD Migration Ports"
sudo firewall-cmd --permanent --service=qemu-nbd --add-port=49152-49215/tcp
sudo firewall-cmd --permanent --zone=cluster --add-service=qemu-nbd
sudo firewall-cmd --reload
Step 2

Configure SSH Key-Based Authentication Between Hosts

sudo ssh-keygen -t ed25519

sudo ssh-copy-id <your-admin-user>@<fqdn-or-ip-of-peer-host>

When prompted, enter the password for your admin user (required only once).

2 Three-or-More-Node Cluster

On every host in the cluster (repeat the entire procedure on all nodes):

Step 1

Configure Cluster Networking

sudo systemctl enable --now sshd

sudo firewall-cmd --permanent --new-zone=cluster
sudo firewall-cmd --permanent --zone=cluster --add-source=<ip-of-peer-host-1>
sudo firewall-cmd --permanent --zone=cluster --add-source=<ip-of-peer-host-2>
# ... repeat for every peer host in the cluster
sudo firewall-cmd --permanent --zone=cluster --add-service=ssh

sudo firewall-cmd --permanent --new-service=qemu-nbd
sudo firewall-cmd --permanent --service=qemu-nbd --set-short="QEMU-NBD"
sudo firewall-cmd --permanent --service=qemu-nbd --set-description="QEMU NBD Migration Ports"
sudo firewall-cmd --permanent --service=qemu-nbd --add-port=49152-49215/tcp
sudo firewall-cmd --permanent --zone=cluster --add-service=qemu-nbd
sudo firewall-cmd --reload
Step 2

Configure SSH Key-Based Authentication Between Hosts

sudo ssh-keygen -t ed25519

sudo ssh-copy-id <your-admin-user>@<fqdn-or-ip-of-peer-host-1>
sudo ssh-copy-id <your-admin-user>@<fqdn-or-ip-of-peer-host-2>
# ... repeat for every other peer host in the cluster

When prompted, enter the password for your admin user on each remote host (required only once per host).

Configuration Complete

After completing the configuration steps on all hosts, the SimpleVM cluster is fully configured. Live VM migration is available between all hosts in the cluster, and high availability (manual failover) is available when shared storage is configured. No additional cluster creation or management commands are required.