Creating virtual machines

Limitations

  • Virtual machines are created with the host CPU model, by default. Having compute nodes with different CPUs may lead to live migration issues. To avoid them, you can manually set the CPU model for all new VMs, as described in Setting virtual machine CPU model. Alternatively, you can create a placement for each group of compute nodes with the same CPU model by using the instructions in Managing placements for compute nodes.

Prerequisites

To create a virtual machine

Admin panel

  1. On the Compute > Virtual machines > Virtual machines tab, click Create virtual machine. A window will open where you will need to specify the VM parameters.

  2. Specify a name for the new VM.
  3. Select the VM boot media:

    If you select an image or volume with an assigned placement, the created VM will also inherit this placement.

    After selecting the boot media, volumes required for this media to boot will be automatically added to the Volumes section.

  4. Configure the VM disks:

    1. In the Volumes window, make sure the default boot volume is large enough to accommodate the guest OS. Otherwise, click the ellipsis icon next to it, and then Edit. Change the volume size and click Save.
    2. Add more disks to the VM by creating or attaching volumes. To do this, click the pencil icon in the Volumes section, and then Add or Attach in the Volumes window.

    3. Select volumes that will be removed during the VM deletion. To do this, click the pencil icon in the Volumes section, click the ellipsis icon next to the needed volume, and then Edit. Enable Delete on termination and click Save.
    4. When you finish configuring the VM disks, click Done.
  5. Choose the amount of RAM and CPU resources that will be allocated to the VM in the Flavor section. In the Flavor window, select a flavor, and then click Done.

    When choosing a flavor for a VM, ensure it satisfies the hardware requirements of the guest OS.

    To select a flavor with an assigned placement, you can filter flavors by placement. The VM created from such a flavor will also inherit this placement.

  6. Add network interfaces to the VM in the Networks section:

    1. In the Network interfaces window, click Add to attach a network interface.
    2. In the Add network interface window, select a compute network to connect to, and then specify MAC address, IPv4 and/or IPv6 addresses, and security groups. By default, MAC and primary IP addresses are assigned automatically. To specify them manually, clear the Assign automatically check boxes, and enter the desired addresses. Optionally, assign additional IP addresses to the network interface in the Secondary IP addresses section. Note that a secondary IPv6 address is not available for an IPv6 subnet that works in the SLAAC or DHCPv6 stateless mode.

      Secondary IP addresses, unlike the primary one, will not be automatically assigned to the network interface inside the virtual machine guest OS. You should assign them manually.

      After specifying the network interface parameters, click Add. The network interface will appear in the Network interfaces list.

    3. If required, edit IP addresses and security groups of newly added network interfaces. To do this, click the ellipsis icon, click Edit, and then set the parameters.

    4. When you finish configuring the VM network interfaces, click Done.
  7. If you have chosen to boot from a template or volume, which has cloud-init and OpenSSH installed:

    As cloud images have no default password, you can access VMs deployed from them only by using the key authentication method with SSH.

  8. Enable CPU and RAM hot plug for the VM in the Advanced options, to be able to change its flavor when the VM is running. You can also enable hot plug after the VM is created.

  9. After configuring all of the VM parameters, click Deploy to create and boot the VM.

If you are deploying the VM from an ISO image, you need to install the guest OS inside the VM by using the built-in VNC console. Virtual machines created from a template or a boot volume already have a preinstalled guest OS.