virt-install Command: Tutorial & Examples

Managing virtual machines

The virt-install command is a powerful tool that allows you to create and manage virtual machines directly from your shell. It belongs to the virt-manager suite and provides an interface to interact with the Linux Kernel virtualization subsystems.

The real power of virt-install lies in its flexibility. It can handle a multitude of virtualization options, from setting up a simple test environment to provisioning enterprise-grade VMs with complex network and storage configurations.

Why virt-install is Important

In today's world, virtualization is a fundamental part of server management. The virt-install command is an essential tool for anyone managing virtual machines on a Linux server. It allows administrators to automate VM creation and configuration, saving time and reducing the risk of human error.

Moreover, virt-install can solve various problems, like setting up multiple VMs with similar configurations or deploying a VM with specific hardware requirements.

Examples of Using virt-install

Here are some basic examples of how to use the virt-install command:

virt-install --name test_vm --ram 2048 --disk path=/var/lib/libvirt/images/test_vm.img,size=20 --vcpus 2 --os-type linux --os-variant generic --network network=default --graphics none --console pty,target_type=serial --location 'http://us.archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/' --extra-args 'console=ttyS0,115200n8 serial'

In this example, a VM named test_vm is created with 2GB of RAM, 2 virtual CPUs, and a 20GB disk image located at /var/lib/libvirt/images/test_vm.img. The VM installs Ubuntu from a network source.

Common virt-install Command Parameters

virt-install has numerous parameters, but here are some of the most common:

  • --name: Specifies the name of the virtual machine.
  • --ram: Defines the amount of memory allocated to the VM in MB.
  • --vcpus: Sets the number of virtual CPUs assigned to the VM.
  • --disk: Configures the VM's disk image, including the path, size, and format.
  • --os-type and --os-variant: Define the operating system type and variant for optimal performance.
  • --network: Configures the network settings for the VM.

Typical Output of virt-install

When run successfully, virt-install will display a series of messages indicating the progress of the VM's creation and installation. Here's a snippet of typical output:

Starting install...
Retrieving file .treeinfo...                                                                                |  728 B  00:00:00
Retrieving file vmlinuz...                                                                                  | 5.0 MB  00:00:00
Retrieving file initrd.img...                                                                               |  64 MB  00:00:00

Creating domain...                                                                                          |    0 B  00:00:04
Domain installation still in progress. Waiting for installation to complete.

What Can Go Wrong with virt-install

One common issue with virt-install is mistyped or incorrect parameters, which will result in an error message. Always double-check your command syntax.

Another potential issue is insufficient resources. If the host system doesn't have enough free CPU, RAM, or disk space to meet the VM's requirements, the command will fail.

Moreover, issues with the network source, such as an unreachable URL or corrupted files, can cause the installation to fail. Ensure the network source is reliable and correctly specified.

Except where otherwise noted, content on this site is licensed under a CC BY-SA 4.0 license CC BY SA