VMmanager: Administrator guide
en En
es Es
Your experience drives our roadmap
Tell us how we can enhance ISPsystem platforms
for your business. The survey takes 5 minutes.
Take the survey

Installing VMmanager Hosting

The article contains instructions for installing the VMmanager 6 Hosting platform on servers running AlmaLinux 10.1. This configuration allows you to create up to 1,000 virtual machines (VMs).

Installation requirements

You need the following to install:

  • an active license for VMmanager 6 Hosting;
  • server for platform installation: 

    Only servers with the specifications listed in the table are supported.
    ParameterSpecifications
    Server typePhysical or virtual based on KVM technology
    Processor

    Frequency — at least 2 GHz

    Number of cores — at least 2

    Architecture — x86_64 (Intel or AMD) with SSE4.2 instruction set

    RAMAt least 4 GB
    Disk

    Type for a physical server — SSD

    Size — at least 150 GB

  • server for the cluster node: 

    • Only servers with the specifications listed in the table are supported.
    • The cluster node and the platform cannot be used on the same server.
    ParameterSpecifications
    Server typePhysical
    Motherboard type

    Server

    Processor

    Frequency — at least 2.4 GHz

    Number of cores — at least 4

    Architecture — x86_64 (Intel or AMD) with SSE4.2 instruction set

    Virtualization support is required

    RAMAt least 8 GB
    Disk

    Type — SSD

    Size — at least 1 TB

  • workstation for remote server access — a PC or mobile device with an SSH client and a current version of Google Chrome, Mozilla Firefox, or Safari.

Preparing the hardware

Server for platform installation

  1. Install AlmaLinux 10.1. Installation requirements:
    • use an unmodified operating system: without third-party repositories or additional services installed;
    • set the maximum disk size for the root partition;
    • do not create a separate swap partition.
  2. Set up a swap file:

    1. Create a file that is 2 times larger than the RAM size: 

      Example of creating an 8 GB file
      dd if=/dev/zero of=/swapfile bs=1M count=8192 status=progress
    2. Set file permissions:
      chmod 600 /swapfile
    3. Create the swap file: 
      mkswap /swapfile
    4. Activate the swap file: 
      swapon /swapfile
    5. Add the swap file to startup:
      echo '/swapfile none swap sw 0 0' >> /etc/fstab
  3. Make sure there is an entry for the server in the /etc/hosts file in the following format:

    <IP address of the platform server> <hostname of the platform server>
  4. Make sure the /etc/resolv.conf file contains entries like this:

    nameserver <IP-адрес of the DNS server>

    If the IP address of the local systemd-resolved service, 127.0.0.53, is specified as the DNS server, then check that the DNS server addresses are specified in the /etc/systemd/resolved.conf file:

    DNS=<servers_list>
  5. Check the network equipment settings:

    1. If the equipment restricts incoming connections on ports 22/TCP (SSH), 80/TCP (HTTP), 443/TCP (HTTPS), 123/UDP (NTP), disable these restrictions.
    2. If the equipment restricts access to the resources required for the platform to work, disable these restrictions. List of required resources:
  6. Check the status of network services:
    1. nftables — should be enabled.
      Check service status
      systemctl status nftables
      Start the service and add it to startup
      systemctl start nftables && systemctl enable nftables
    2. NetworkManager — should be enabled.
      Check service status
      systemctl status NetworkManager
      Start the service and add it to startup
      systemctl start NetworkManager && systemctl enable NetworkManager
    3. firewalld — should be disabled.

      Check service status
      systemctl status firewalld
      Disable the service and remove it from startup
      systemctl stop firewalld && systemctl disable firewalld
  7. Install the curl utility: 
    dnf install curl -y
  8. Reboot the server: 
    reboot

Server for the cluster node

  1. Install AlmaLinux 10.1. Installation requirements:
    • use an unmodified operating system: without third-party repositories or additional services installed;
    • set the maximum disk size for the root partition.
  2. Check virtualization support at the CPU level: 

    grep -P 'vmx|svm' /proc/cpuinfo

    If the command returns nothing, enable virtualization in the BIOS/UEFI settings.

  3. If the server does not have dmidecode and python3 installed, install them: 

    dnf install dmidecode python3 -y
  4. Disable the SELinux service:

    1. Check the service status: 

      sestatus
    2. If the response contains enforcing or permissive:

      1. In the /etc/selinux/config file, set the SELINUX parameter to disabled: 

        sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config
      2. Reboot the server: 
        reboot


  5. Make sure there is an entry for the server in the /etc/hosts file in the following format:

    <IP address of the server> <hostname of the server>
  6. Make sure the /etc/resolv.conf file contains entries like this:

    nameserver <IP address of the DNS server>

    If the IP address of the local systemd-resolved service, 127.0.0.53, is specified as the DNS server, then check that the DNS server addresses are specified in the /etc/systemd/resolved.conf file:

    DNS=<list_of_servers>
  7. Disable DNS settings management through the NetworkManager service: 
    1. Add the following line to the main section of the /etc/NetworkManager/NetworkManager.conf file: 
      dns=none
    2. Restart the service: 
      systemctl restart NetworkManager
  8. Check the network equipment settings. Allow incoming connections on ports:

    • 22/TCP — SSH service;
    • 179/TCP, 4789/UDP — virtual networks (VXLAN);
    • 5900-6900/TCP — QEMU VNC, SPICE;
    • 16514/TCP — libvirt virtual machine management service;
    • 49152-49215/TCP — libvirt migration services;
    • 123/UDP — NTP.

Workstation

Set up SSH access to the servers:

  1. Open a terminal window or command prompt.
  2. Create an SSH key:

    ssh-keygen
  3. Specify the name and path to the SSH key file. By default, on Windows the SSH key will be saved in C:\Users\<username>\.ssh\, and on Unix-based systems — in /home/<username>/.ssh/. By default, the private key is saved as id_rsa, and the public key as id_rsa.pub.
  4. Add the contents of the public key to the /root/.ssh/authorized_keys file on each server. On Unix systems, you can use the following command for this: 

    ssh-copy-id -i <path_to_key> root@host
    Command notes

Installing the platform

  1. Connect to the server over SSH as the root superuser.
  2. Download the installer:

    curl -O https://download.ispsystem.com/6/installer/vm/vm
  3. Make the installer file executable: 

    chmod +x vm
  4. Start the installation: 

    ./vm install
  5. Wait for the installation to finish. If the installation is successful, the terminal will display a link to VMmanager:

    Example terminal after successful installation
    Link to administrator registration page: https://1.2.3.4/auth/setup?token=C50A0BFA55DEDE3343AABE713022A15F
    When you open the link, the browser will show a warning about a possible security threat. This happens if the server uses a self-signed SSL certificate. You can connect a valid SSL certificate to the platform later.
  6. Go to the VMmanager interface using the link you received and create the first user:
    1. Enter the User email.
    2. Create and enter the Password. Save the password value.
    3. Click the Done button.
  7. Activate the license:
    1. Click the Settings button in the License not activated window.
    2. Select Activate online.
    3. Enter the License token:
      • if you bought VMmanager from ISPsystem, you can find this information in your client area at eu.ispsystem.com in the "Licenses" section. Enter the value from the Token field;
      • if you bought VMmanager from a reseller, enter the license activation code from the license certificate.
    4. Click the Activate button.

The platform is installed. Later, to open the platform web interface, enter the platform server IP address in your browser.

Basic platform setup

  • This section describes only the required parameters that need to be specified during setup. For the remaining parameters, you can keep the default values.
  • Before following the instructions in this section, open the platform web interface and log in with the first user's credentials. 

Creating an IP address pool

VMmanager includes an address space management module (IPAM) — physical networks, pools, and individual IP addresses. When creating a VM, the platform assigns it an IP address from the specified pool. Therefore, before creating a VM, you need to specify the physical network details and set up an IP address pool for the VMs.

To configure the network and pool:

  1. Go to Networks → Physical networks tab.
  2. Click the Add a physical network button.
  3. Select the network Status — Active.
  4. Specify the Network in the format <network address>/<network mask prefix>. For example, "192.168.0.0/16".
  5. If needed, change the IP address of the Gateway.
  6. Enter any Note.
  7. Enable the Add the IP addresses to the pool option.
  8. Enter the Pool name — Pool 1.
  9. Specify the IP addresses for new VMs. You can specify:
    • individual addresses ("192.168.1.1");
    • addresses by mask prefix ("192.168.1.0/24");
    • a range of addresses ("192.168.1.1-192.168.10.254"). 
      The specified IP addresses must be reachable over the network from the workstation.
  10. Click the Add button.

Creating a cluster

  1. Go to Clusters → button Create a cluster.
  2. In the General settings block:

    1. Select the Virtualization technology — KVM.
    2. Enter the Cluster name — Cluster 1.
    3. Select the default Time zone for cluster nodes and virtual machines (VMs).
    4. If needed, specify DNS servers for VM. The VMs in the cluster will use these servers to resolve domain names. For example, you can specify Yandex DNS servers 77.88.8.8, 77.88.8.1.
    5. Click the Next button.
  3. In the Access and resources block:
    1. Select the Operating system that will be available for installation on VMs in the cluster.
    2. Select the Domains template for VMs in this cluster. For example, if you specify the template .example.com, when you create a VM in this cluster it will have a domain name like vm_name.example.com.
    3. Click the Next button.
  4. In the Storage setup rules on nodes block: 
    1. Click the Next button.
  5. In the Network setup rules on nodes block:
    1. Select the network setup type — Switching.
    2. Select the Pool — Pool 1.
  6. Click the Create button.

Adding a node to the cluster

  1. Go to Nodes → button Connect node.
  2. Specify the node settings:
    1. Enter the cluster node Name — Node1.
    2. Specify the Node IP address.
    3. Specify the Port for SSH connection. If you did not change the SSH settings on the node, leave the default value — 22.
    4. Click I want to use public SSH-key and save the key contents.
  3. Connect to the cluster node server over SSH and add the contents of the public key to the /root/.ssh/authorized_keys file.
  4. Click the Connect node button.

Creating the first virtual machine

  1. Open the platform web interface and log in with the first user's credentials.
  2. Go to Virtual machines → button Create a VM → tab Recommended configurations.
  3. Select the Cluster — Cluster 1.
  4. Select the Linux family Operating system for installation on the VM. For example, AlmaLinux 10.
  5. In the KVM configurations list, select the required configuration.
  6. In the Parameters section, think of and enter the VM password. Save the password value.
  7. Click the Create a VM button. 

After these steps, the VM will appear in the general list with the status "Installing", then its status will change to "Active". The VM address will be shown in the IP address column. 

To check the VM, connect to it over SSH. Use the root username and the saved access password for authentication.