CentOS 6
Sponsored Link

Create Virtual Machine#12014/08/03

 
Install GuestOS and create Virtual Machine. This example shows to install CentOS 6.
[1] Install 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 new Storage Pool

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

[root@dlp ~]#
virt-install \
--name www \
--ram 2048 \
--disk path=/var/kvm/images/www.img,size=30 \
--vcpus 2 \
--os-type linux \
--os-variant rhel6 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location 'http://ftp.jaist.ac.jp/pub/Linux/CentOS/6/os/x86_64/' \
--extra-args 'console=ttyS0,115200n8 serial'
Starting install...    
# start installation
 
The example of options above means like below. There are many options for others, make sure eith "man virt-install".
--name
specify the name of Virtual Machine
--ram
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
--vcpus
specify the virtual CPUs
--os-type
specify the type of GuestOS
--os-variant
specify the kind of GuestOS
--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 where from
--extra-args
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 release 6.5 (Final)
Kernel 2.6.32-431.17.1.el6.x86_64 on an x86_64
localhost.localdomain login:    
# login with a user set in installation
Password:
[root@localhost ~]#
[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 ~]#    
# push Ctrl + ]

[root@dlp ~]#    
# Host's console
[root@dlp ~]#
virsh console www
   
# move to Guest

Connected to domain www
Escape character is ^]    
# Enter key
[root@localhost ~]#    
# 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.
[root@localhost ~]#    
# Ctrl + ] key

[root@dlp ~]#    
# Host's console
[root@dlp ~]#
virt-clone --original www --name template --file /var/kvm/images/template.img

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

-rwxr-xr-x 1 root root 21474836480 Jul 11 20:05 /var/kvm/images/template.img
[root@dlp ~]#
ll /etc/libvirt/qemu/template.xml
 
# xml file

-rw------- 1 root root 1340 Jul 11 20:04 /etc/libvirt/qemu/template.xml
[5]
[6] Define a new Storage Pool.
[root@dlp ~]#
mkdir /etc/libvirt/storage

[root@dlp ~]#
vi /etc/libvirt/storage/disk01.xml
 
# create new

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

  <name>disk01</name>
  <capacity>0</capacity>
  <allocation>0</allocation>
  <available>0</available>
  <source>
  </source>
  <target>
   
# specify a pool directory

    <path>/var/kvm/images</path>
    <permissions>
        <mode>0700</mode>
        <owner>-1</owner>
        <group>-1</group>
    </permissions>
  </target>
</pool>
# define the pool

[root@dlp ~]#
virsh pool-define /etc/libvirt/storage/disk01.xml

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

[root@dlp ~]#
virsh pool-start disk01

Pool disk01 started
# set auto-start

[root@dlp ~]#
virsh pool-autostart disk01

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

[root@dlp ~]#
virsh pool-list

Name     State     Autostart
-----------------------------------------
disk01     active     yes
# confirm to show the details

[root@dlp ~]#
virsh pool-info disk01

Name:     disk01
UUID:     c7e34241-1a81-79f1-e081-671858f0eb24
State:     running
Persistent:     yes
Autostart:     yes
Capacity:     283.33 GB
Allocation:     84.90 GB
Available:     198.43 GB
Matched Content