Linux KVM Virtualization Guest Operations: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 47: Line 47:
=Create a Guest Virtual Machine=
=Create a Guest Virtual Machine=


Virtualization host storage and host-level networking must be configured as a prerequisite to creating guest virtual machines. Once storage pools and storage volumes are made available, and the host-level networking is configured, guest virtual machines can be created with 'virt-install', as described below. Note that the virt-install documentation will describe what kind of storage is needed and how it should be provisioned in the Prerequisite section:
Virtualization host storage and host-level networking must be configured as a prerequisite to creating guest virtual machines. Once storage pools and storage volumes are made available, and the host-level networking is configured, guest virtual machines can be created with 'virt-install', as described below. <code>virt-install</code> documentation describes what kind of storage is needed and how it should be provisioned in the Prerequisite section:
{{Internal|virt-install#Overview|virt-install}}
{{Internal|virt-install#Overview|virt-install}}



Revision as of 23:53, 29 July 2023

Internal

Overview

List Available Guests

virsh list [--all]

Information about a Guest

Guest Configuration

The following command provides details, about:

  • the amount of virtual memory and virtual CPU allocated to the guest.
  • guest disk devices, their type (qcow, raw, etc.), their mapping on external storage volumes, etc.
  • guest network devices.
  • etc.
 virsh dumpxml <guest-name>

Filesystems

virt-filesystems --all -lh -d <guest-name>

Running State of a Guest

virsh domstate

Start/Stop Guest Virtual Machines

virsh start [--console] <vm-name>

Graceful shutdown:

virsh shutdown <vm-name>

Ungraceful shutdown:

virsh destroy <vm-name>

Connect to the Guest Virtual Machine

virsh console

Create a Guest Virtual Machine

Virtualization host storage and host-level networking must be configured as a prerequisite to creating guest virtual machines. Once storage pools and storage volumes are made available, and the host-level networking is configured, guest virtual machines can be created with 'virt-install', as described below. virt-install documentation describes what kind of storage is needed and how it should be provisioned in the Prerequisite section:

virt-install

The guest ("domain") name may contain dot, so we can simulate a hierarchy ("ose36.master", or "environment-name.host-in-environment-name").

If the XML definition of a virtual machine is available, it can be created with:

virsh define

Add Storage to Guests

Adding Storage to Guests

Reconfigure Guest Memory

Reconfigure Guest Memory

Remove Storage from Guest

Remove Storage from Guest

Cloning and Snapshotting

Clone a Guest Virtual Machine

The goal of a cloning operation is to create an entirely new guest, based on the configuration of an existing guest. Entirely new storage must be provisioned during the cloning operation, and the O/S image must be transferred on the new storage and updated as described below. Also, care should be taken to avoid conflict while accessing shared resources - memory, CPUs, network devices.

Cloning a Guest Virtual Machine

Snapshot a Guest Virtual Machine

The goal of a snapshotting operation is to preserve the state of the guest, at a certain moment in time, so it can be reverted to, later, possibly after the guest was removed for a while from the virtualization host. For more theoretical considerations concerning guest snapshots, see "Linux Virtualization Concepts - KVM Virtual Machine Snapshot".

Remove a Guest

Apply this after the guest was shut down.

virsh shutdown nokb
virsh undefine <guest-name> [--remove-all-storage]

--remove-all-storage will cause the guests storage pool volumes to be removed.

To verify that the storage was removed, list the storage before and after with:

virsh vol-list main-storage-pool