Ubuntu 19.04
Sponsored Link

KVM : Create Virtual Machine2019/04/24

Install GuestOS and create Virtual Machine. This example shows to install Ubuntu 19.04.
[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

mkdir -p /var/kvm/images

virt-install \
--name ubuntu1904 \
--ram 4096 \
--disk path=/var/kvm/images/ubuntu1904.img,size=30 \
--vcpus 2 \
--os-type linux \
--os-variant ubuntu19.04 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location 'http://jp.archive.ubuntu.com/ubuntu/dists/disco/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

virsh shutdown ubuntu1904

Domain template is being shutdown
# mount guest's disk and enable a service like follows

guestmount -d ubuntu1904 -i /mnt

ln -s /mnt/lib/systemd/system/getty@.service /mnt/etc/systemd/system/getty.target.wants/getty@ttyS0.service

umount /mnt
# start guest again, if it's possible to connect to the guest's console, it's OK all

virsh start ubuntu1904 --console

Ubuntu 19.04 ubuntu ttyS0

ubuntu login:
The example of options above means like follows. There are many options for others, make sure with [man virt-install].
specify the name of Virtual Machine
specify the amount of memories 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 disks of Virtual Machine
specify the virtual CPUs
specify the type of GuestOS
specify the kind of GuestOS
possible to show the list of OS with follows
# osinfo-query os
specify network types of Virtual Machine
specify the kind of graphics. if set [none], it means nographics.
specify the console type
specify the location of installation source where from
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)'.
# Ctrl + ] key

# Host's console
# move to Guest

virsh console ubuntu1904

Connected to domain template
Escape character is ^]    
# Enter key
# Guest's console
[3] It's easy to create another VM to copy from current VM with a command below.
# on Host's console

virt-clone --original ubuntu1904 --name ubuntu1904_org --file /var/kvm/images/ubuntu1904_org.img

Allocating 'ubuntu1904_org.img'                |  30 GB  00:05

Clone 'ubuntu1904_org' created successfully.

# disk image

ll /var/kvm/images/ubuntu1904_org.img

-rw------- 1 root root 2443444224 Apr 24 00:24 /var/kvm/images/ubuntu1904_org.img
# configuration file

ll /etc/libvirt/qemu/ubuntu1904_org.xml

-rw------- 1 root root 5099 Apr 24 00:23 /etc/libvirt/qemu/ubuntu1904_org.xml
Matched Content