A cluster is a set of servers located at a single location. Distinctive features of such servers (cluster nodes) are their location and high speed of data transfer between them. This article describes the requirements to cluster nodes.
Nodes homogeneity
We recommend using nodes in one cluster that are homogeneous in terms of network settings, routing, and software versions. This will provide the best conditions for virtual machine migration between cluster nodes.
Virtualization support
A KVM cluster node must support CPU-level virtualization. To check whether support of Intel and AMD CPUs is available, enter the command:
grep -P 'vmx|svm' /proc/cpuinfo
If the reply is not an empty string, the CPU supports virtualization.
To use virtualization, make sure it is enabled in the server BIOS.
Hardware requirements
A physical server with the following characteristics can be used as a cluster node:
Minimum | Recommended | |
---|---|---|
CPU | 2.4 GHz | 3 GHz |
Core number | 4 pcs. | 8 pcs. |
RAM | 8 Gb | 16 Gb |
Disk space | 1 Tb | 2 Tb |
Note
To ensure the stable operation of VMmanager, we do not recommend using a server with a platform as a cluster node.
When partitioning the disk, we recommend allocating the main volume to the root directory.
Before adding a node to an existing cluster, configure all storage used in the cluster on the server. LXD clusters require configuring a ZFS storage. Read more in LXD.
Hypervisor on x86_64 architecture is supported.
Software requirements
The operating system (OS) requirements depend on the type of virtualization and cluster network configurations:
KVM | LXD | |
---|---|---|
Switching | AlmaLinux 8, CentOS 7 x64 | Ubuntu 20.04 |
Routing | AlmaLinux 8, CentOS 7 x64 | - |
IP fabric | AlmaLinux 8 | Ubuntu 20.04 |
Note
Since January 2022, support for CentOS 8 has ended. Running a cluster node on a CentOS 8 server is not supported. You can migrate to AlmaLinux 8 OS according to the instructions.
Always use a "clean" OS in its minimum version: without third-party repositories or pre-installed additional services. Minor versions of the OS and OS kernel versions may be different between the cluster nodes.
Note
If you are going to use the server in an OVH data center, enable the Install original kernel option when installing the OS via the OVH control panel. For correct operation of the cluster servers in the OVH data center, use the original OS kernel.
Network settings
The network configuration of the cluster nodes must meet the following requirements:
- each server must have a unique hostname;
- in clusters with "Switching" and "Routing" configuration type, the server must have access to the Internet and a public IP address;
- the IP address must be on the physical interface of the server or in the VLAN and be static;
the IP address must be static and set via the network interface configuration file (without using DHCP);
the default gateway should be available for verification by ping utility.
See the requirements to cluster nodes with two network interfaces in Main and additional network.
Note:
The MTU settings are made at the operating system (OS) level of the cluster node. The platform supports jumbo frames (frames with MTU over 1500 bytes).
KVM virtualization
Allow incoming connections to the ports:
- 22/tcp — SSH service;
- 179/tcp, 4789/udp — Virtual networks (VxLAN);
- 5900-6900/tcp — QEMU VNC. If VNC access is only provided through the server with VMmanager, the port range must be open to the network connecting the cluster nodes;
- 16514/tcp — libvirt virtual machines management service;
- 49152-49261/tcp — libvirt migration services.
LXD virtualization
Allow incoming connections to the ports:
- 22/tcp — SSH service;
- 179/tcp, 4789/udp — Virtual networks (VxLAN);
- 8443/tcp — LXD container management service.