CentOS 7
Sponsored Link

Create a Virtual Machine#1
Install GuestOS and create a Virtual Machine. This example shows to install CentOS 7.
[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.
[[email protected] ~]#
mkdir -p /var/kvm/images
# create a new Storage Pool

[[email protected] ~]#
virt-install \
--name centos7 \
--ram 4096 \
--disk path=/var/kvm/images/centos7.img,size=30 \
--vcpus 2 \
--os-type linux \
--os-variant rhel7 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location 'http://ftp.iij.ad.jp/pub/linux/centos/7/os/x86_64/' \
--extra-args 'console=ttyS0,115200n8 serial'
Starting install...
# start installation
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
'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 confirm the list with the command below
# 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 where from
specify parameters that is set in kernel

[2] Install on text mode, it's the same with common procedure of installation. After finishing installation, reboot first and then login prompt is shown like follwos.
CentOS Linux 7 (Core)
Kernel 3.10.0-123.el7.x86_64 on an x86_64

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)'.
[[email protected] ~]#
# push Ctrl + ]

[[email protected] ~]#
# Host's console
[[email protected] ~]#
virsh console centos7
# move to Guest

Connected to domain www
Escape character is ^]
# Enter key
[[email protected] ~]#
# Guest's console
[4] Because after installing GuestOS from network, it is minimum settings, so it's useful to save it as a template in order to create new virtual machines later.
[[email protected] ~]#
virt-clone --original centos7 --name template --file /var/kvm/images/template.img

Allocating 'template.img'
| 20 GB 01:44
Clone 'template' created successfully.
[[email protected] ~]#
ll /var/kvm/images/template.img
# disk image

-rwxr-xr-x 1 root root 32212254720 Jul 11 23:34 /var/kvm/images/template.img
[[email protected] ~]#
ll /etc/libvirt/qemu/template.xml
# xml file

-rw------- 1 root root 1843 Jul 11 23:32 /etc/libvirt/qemu/template.xml
[6] Define a new Storage Pool.
[[email protected] ~]#
mkdir /etc/libvirt/storage

[[email protected] ~]#
vi /etc/libvirt/storage/disk01.xml
# create new

<pool type='dir'>
# any name you like

# specify a pool directory

# define the pool

[[email protected] ~]#
virsh pool-define /etc/libvirt/storage/disk01.xml

Pool disk01 defined from /etc/libvirt/storage/disk01.xml
# start the pool

[[email protected] ~]#
virsh pool-start disk01

Pool disk01 started
# set auto-start

[[email protected] ~]#
virsh pool-autostart disk01

Pool disk01 marked as autostarted
# confirm to show the pool list

[[email protected] ~]#
virsh pool-list

Name                 State      Autostart
disk01               active     yes

# confirm to show the details

[[email protected] ~]#
virsh pool-info disk01

Name:           disk01
UUID:           2de62477-7132-4512-b5d8-003e28da105c
State:          running
Persistent:     yes
Autostart:      yes
Capacity:       197.17 GiB
Allocation:     2.90 GiB
Available:      194.27 GiB