VM configuration is a set of resources for creating a virtual machine. Learn more in the article Creating a virtual machine.

The available configuration options depend on the virtualization technology: KVM or LXD.

You can only restrict connections for VMs on cluster nodes running AlmaLinux 8 and Ubuntu 20.04.

Add configuration interface

Configuration for KVM cluster


To create a configuration:

  1. Go to Templates VM configurations Add configuration.
  2. Select the Virtualization technology — KVM.
  3. Enter a configuration Name.
  4. To allow SPICE connections to the VM, activate the Enable SPICE connections option.
  5. To specify VM resources: 
    1. Click Edit in Resources section.
    2. Select values:
      1. vCPU — the number of CPU.
      2. RAM — RAM in MB.
      3. The size and tags of the main disk storage. The platform will display a list of available storage in the line below. Read more about tags in Selecting storage for VM disks.
      4. If the VM should have more disks, click Add disk and specify the parameters of additional disks. To delete the disk settings, click.
    3. Click Save.
  6. To specify VM limits: 
    1. Click Edit in Limits section.
    2. If the VM requires adding vCPU and RAM without rebooting, enable the Increase CPU and RAM values without rebooting option. 

    3. If the VM requires increasing disk size without rebooting, enable the Increase disk size without rebooting the VM option. 
    4. Select values:

      1. Inbound traffic speed, Mbps.
      2. Outgoing traffic speed, Mbps.
      3. CPU weight — CPU usage priority. Values range from 128 to 10000. For example, a VM weighing 2048 will access the CPU twice as often as a VM weighing 1024.
      4. I/O usage weight — input/output operations priority. Values range from 100 to 1000. For example, a VM with the I/O weight of 200 will perform read and write operations to disk twice as often as a VM with the weight of 100.
      5. Read speed, IOPS.
      6. Write speed, IOPS.
      7. Read speed, Mbps.
      8. Write speed, Mbps.
      9. Incoming TCP-connections.
      10. Outgoing TCP-connections.
      11. Antispoofing settings:
        • Antispoofing enable/Antispoofing disable switch — enable or disable protection against network attacks using the IP-spoofing method;
        • Tagged traffic is permitted/Tagged traffic is not permitted switch — allow or deny traffic with the VLAN tags.
      12. To restrict access to certain VM ports:

        1. Click Add.

        2. Specify the restriction settings:

          1. Traffic direction — the type of connection: incoming or outgoing.

          2. Port numbers.

        3. To add a setting, click Add more. To delete settings, click.

    5. Click Add.

  7. To choose virtualization parameters:
    1. Click Edit in Virtualization section.
    2. Choose CPU emulation mode — VM CPU specification defining method:

      • By default — QEMU virtual CPU is emulated;
      • Host-model — the emulated CPU will have the same function flags as the cluster node CPU;
      • Host-passthrough — the emulated CPU will exactly match the CPU on the host machine cluster node and have the same function flags. This emulation mode provides better performance and may also be mandatory for some applications. Migration of such virtual machine is possible only to the fully matching CPU. 

        If the OS template contains the cpu_mode parameter, the VM will be created with the emulation mode specified in this parameter. For more information about template parameters, see the OS templates repositories article.

  8. To change snapshot settings:
    1. Click Edit in Snapshot settings section.
    2. If you need to save the RAM state for snapshots, enable the Allow saving RAM status option.
    3. Set the VM snapshot limit.
    4. Click Save.
  9. Click Add.  

Configuration for LXD cluster


To create a configuration:

  1. Go to Templates VM configurations Add configuration.
  2. Select the Virtualization technology — LXD.
  3. Enter a configuration Name.
  4. To specify VM resources: 
    1. Click Edit in Resources section.
    2. Select values:
      1. vCPU — the number of CPU.
      2. RAM — RAM in MB.
      3. Storage — disk space in GB.
    3. Click Save.
  5. To specify VM limits: 
    1. Click Edit in Limits section.
    2. Select values:

      1. Inbound traffic speed, Mbps.
      2. Outgoing traffic speed, Mbps.
      3. Network weight — The more the weight is the more time is allocated for processing requests. Values range from 1 to 10.
      4. CPU weight — CPU usage priority. Values range from 0 to 10. For example, a VM weighing 10 will access the CPU twice as often as a VM weighing 5.
      5. I/O usage weight — input/output operations priority. Values range from 0 to 10. For example, a VM with the I/O weight of 10 will perform read and write operations to disk twice as often as a VM with the weight of 5.
      6. Read speed, IOPS or Mbps.
      7. Write speed, IOPS or Mbps.
      8. Incoming TCP-connections.
      9. Outgoing TCP-connections.
      10. Antispoofing settings:
        • Antispoofing enable/Antispoofing disable switch — enable or disable protection against network attacks using the IP-spoofing method;
        • Tagged traffic is permitted/Tagged traffic is not permitted switch — allow or deny traffic with the VLAN tags.
      11. To restrict access to certain VM ports:

        1. Click Add.

        2. Specify the restriction settings:

          1. Traffic direction — the type of connection: incoming or outgoing.

          2. Port numbers.

        3. To add a setting, click Add more. To delete settings, click.

    3. Click Add.

  6. To choose сontainerization parameters:
    1. Click Edit in Containerization parameters section.
    2. If needed, enable the Nested Containerization option. The option allows you to create containers within a container using Docker, Podman, LXC and other tools.
  7. Click Add