Ubuntu 20.04
Sponsored Link

KVM : Create Virtual Machine
2020/06/02
 
Install GuestOS and create Virtual Machine.
This example shows to install Ubuntu 20.04.
[1] On this example, Download an ISO file of Ubuntu on a directory first and Install GuestOS from the ISO on the text mode.
It's OK on the console or remote connection via SSH 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.(use any place you like)
# create a storage pool

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

root@dlp:~# virt-install \
--name ubuntu2004 \
--ram 4096 \
--disk path=/var/kvm/images/ubuntu2004.img,size=20 \
--vcpus 2 \
--os-variant ubuntu20.04 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location /home/ubuntu-20.04-live-server-amd64.iso,kernel=casper/vmlinuz,initrd=casper/initrd \
--extra-args 'console=ttyS0,115200n8 serial' 

# installation starts
Welcome to Ubuntu 20.04 LTS!

[   15.909170] systemd[1]: Set hostname to <ubuntu-server>.
[   15.913462] systemd[1]: Initializing machine ID from KVM UUID.
.....
.....

# after this, installation proceeds with the common procedure
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=xxx] : specify the location of disks of Virtual Machine (default is [/var/lib/libvirt/images])
[size=xxx] : specify the amount of disk of Virtual Machine
--vcpus specify the virtual CPUs
--os-variant specify the kind of GuestOS
possible to show the list of available OS with the command below
[# osinfo-query os]
--network specify network type of Virtual Machine
--graphics specify the kind of graphics
possible to specify spice, vnc, none and so on
--console specify the console type
--location specify the location of installation source where from
--extra-args specify parameters that are set in Kernel

[2] After finishing installation, restart computer and then login prompt is shown like follwos.
That's OK if logined normally with a user you set during the installation.
Ubuntu 20.04 LTS localhost ttyS0

localhost login: ubuntu
Password:
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-73-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Tue 11 May 2021 01:05:51 AM UTC

  System load:  0.58               Processes:               130
  Usage of /:   31.5% of 19.56GB   Users logged in:         0
  Memory usage: 4%                 IPv4 address for enp1s0: 10.0.0.241
  Swap usage:   0%

.....
.....

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

ubuntu@localhost:~$
[3] Move to GuestOS to HostOS with Ctrl + ] key.
Move to HostOS to GuestOS with a command [virsh console (name of virtual machine)].
ubuntu@localhost:~$      # Ctrl + ] key
root@dlp:~#              # Host's console
root@dlp:~# virsh console ubuntu2004      # switch to Guest's console
Connected to domain 'ubuntu2004'

Escape character is ^]   # Enter key
ubuntu@localhost:~$      # Guest's console
[4] It's easy to replicate a copy VM from current VM with a command below.
root@dlp:~#
virt-clone --original ubuntu2004 --name template --file /var/kvm/images/template.img

Allocating 'template.img'                                  |  20 GB  00:00:04

Clone 'template' created successfully.

# disk image

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

-rw------- 1 root root 3140485120 May 10 05:03 /var/kvm/images/template.img
# configuration file

root@dlp:~#
ll /etc/libvirt/qemu/template.xml

-rw------- 1 root root 5260 May 10 05:03 /etc/libvirt/qemu/template.xml
Matched Content