Linux KVM Virtualization Guest Operations
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. Note that the virt-install documentation will describe what kind of storage is needed and how it should be provisioned in the Prerequisite section:
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:
Add Storage to Guests
Reconfigure Guest Memory
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.
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 stopped.
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