Debian 10 Buster
Sponsored Link

KVM : Create Virtual Machine2019/07/23

 
Install GuestOS and create Virtual Machine. This example shows to install Debian.
[1] Install GuestOS on text mode via network, it's OK on Console or remote connection with Putty and so on. Furthermore, Virtual Machine's images are placed at [/var/lib/libvirt/images] by default as a Storage Pool, but this example shows to create and use a new Storage Pool.
# create a storage pool

root@dlp:~#
mkdir -p /var/kvm/images

root@dlp:~#
virt-install \
--name debian \
--ram 4096 \
--disk path=/var/kvm/images/debian.img,size=20 \
--vcpus 2 \
--os-type linux \
--os-variant debian9 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location 'http://ftp.jaist.ac.jp/pub/Linux/debian/dists/buster/main/installer-amd64/' \
--extra-args 'console=ttyS0,115200n8 serial'
Starting install...    
# installation starts
# after finishing installation, back to KVM host and shutdown the guest like follows

Loading Linux 4.19.0-5-amd64 ...
Loading initial ramdisk ...

Debian GNU/Linux 10 debian ttyS0

debian login:
 
The example of options above means like follows. There are many options for others, make sure with [man virt-install].
--name
specify the name of Virtual Machine
--ram
specify the amount of memory of Virtual Machine
--disk path=xxx ,size=xxx
[path=] specify the location of disks of Virtual Machine (default is [/var/lib/libvirt/images])
[size=] specify the amount of disk of Virtual Machine
--vcpus
specify the virtual CPUs
--os-type
specify the type of GuestOS
--os-variant
specify the kind of GuestOS
possible to show the list of OS with follows
(if command not found, install [libosinfo-bin] package)
# osinfo-query os
--network
specify network types of Virtual Machine
--graphics
specify the kind of graphics. if set [none], it means nographics.
--console
specify the console type
--location
specify the location of installation source where from
--extra-args
specify parameters that is set in kernel

[2] Move to GuestOS to HostOS with Ctrl + ] key.
Move to HostOS to GuestOS with a command [virsh console (name of virtual machine)].
debian@dlp:~$    
# Ctrl + ] key

root@dlp:~#    
# HostOS console
root@dlp:~#
virsh console debian
 
# switch to [debian] VM console

Connected to domain debian
Escape character is ^]    
# Enter key
debian@dlp:~$    
# GuestOS console
[3] It's easy to create another VM to copy from current VM with a command below.
root@dlp:~#
virt-clone --original debian --name debian_template --file /var/kvm/images/debian_template.img

Allocating 'debian_template.img'                    |  20 GB  00:03

Clone 'debian_template' created successfully.

root@dlp:~#
ll /var/kvm/images/debian_template.img

-rw------- 1 root root 1895170048 Jul 23 19:44 /var/kvm/images/debian_template.img
root@dlp:~#
ll /etc/libvirt/qemu/debian_template.xml

-rw------- 1 root root 4765 Jul 23 10:44 /etc/libvirt/qemu/debian_template.xml
Matched Content