CentOS 8
Sponsored Link

KVM : Create Virtual Machine2019/10/08

 
Install GuestOS and Create a Virtual Machine. This example shows to create VM with installing CentOS 8.
[1] Install GuestOS on text mode, 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.(use any place you like)
# create a Storage Pool directory

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

[root@dlp ~]#
virt-install \
--name centos8 \
--ram 4096 \
--disk path=/var/kvm/images/centos8.img,size=30 \
--vcpus 2 \
--os-type linux \
--os-variant rhel8.0 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location 'https://ftp.riken.jp/Linux/centos/8/BaseOS/x86_64/os/' \
--extra-args 'console=ttyS0,115200n8 serial'
Starting install...  
# installation starts
 
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
[# osinfo-query os]
--network
specify network type 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 are set in Kernel

[2] For installing on text mode, it's the same with common procedure of installation. After finishing installation, restart computer and then login prompt is shown like follwos.
CentOS Linux 8 (Core)
Kernel 4.18.0-80.7.1.el8_0.x86_64 on an x86_64

Activate the web console with: systemctl enable --now cockpit.socket

localhost login:
[3] Move to GuestOS to HostOS with Ctrl + ] key.
Move to HostOS to GuestOS with a command [virsh console (name of virtual machine)].
[root@localhost ~]#    
# Ctrl + ] key

[root@dlp ~]#    
# Host's console
[root@dlp ~]#
virsh console centos8
   
# switch to Guest's console

Connected to domain centos8
Escape character is ^]    
# Enter key
[root@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 centos8 --name template --file /var/kvm/images/template.img

Allocating 'template.img'                                   |  30 GB  00:02

Clone 'template' created successfully.

# disk image

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

-rw-------. 1 root root 1875443712 Oct 7 19:41 /var/kvm/images/template.img
# configuration file

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

-rw-------. 1 root root 4744 Oct 7 19:41 /etc/libvirt/qemu/template.xml
Matched Content