Ubuntu 14.04
Sponsored Link

Create Virtual Machine#12014/04/21

 
Install GuestOS and create Virtual Machine. This example shows to install Ubuntu 14.04.
[1] Install on text mode via network, it's OK on Console or remote connection with Putty and so on.
root@dlp:~#
mkdir -p /var/kvm/images
# create a storage pool

root@dlp:~#
virt-install \
--name template \
--ram 2048 \
--disk path=/var/kvm/images/template.img,size=30 \
--vcpus 2 \
--os-type linux \
--os-variant ubuntutrusty \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location 'http://jp.archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/' \
--extra-args 'console=ttyS0,115200n8 serial'
Starting install...
# installation starts
 
For options, make sure 'man virt-install', there are many options
--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.
Ubuntu 14.04 LTS www ttyS0
www login:
# login with a user set in installation
[3] Move to GuestOS to HostOS with Ctrl + ] key.
Move to HostOS to GuestOS with a command 'virsh console (name of virtual machine)'.
trusty@www:~$
# push Ctrl + ]

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

Connected to domain www
Escape character is ^]
# Enter key
trusty@www:~$
# 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@dlp:~#
# Host's console

root@dlp:~#
virt-clone --original www --name template --file /var/kvm/images/template.img

Cloning www.img
| 20 GB 01:39
Clone 'template' created successfully.
root@dlp:~#
ll /var/kvm/images/template.img

-rwxr-xr-x 1 root root 32212254720 Apr 21 20:58 /var/kvm/images/template.img*
root@dlp:~#
ll /etc/libvirt/qemu/template.xml

-rw------- 1 root root 1787 Apr 21 20:23 /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

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

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

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

Pool disk01 defined from /etc/libvirt/storage/disk01.xml
root@dlp:~#
virsh pool-start disk01

Pool disk01 started
root@dlp:~#
virsh pool-autostart disk01

Pool disk01 marked as autostarted
root@dlp:~#
virsh pool-list

Name                 State      Autostart
-----------------------------------------
disk01               active     yes

root@dlp:~#
virsh pool-info disk01

Name:           disk01
UUID:           b5a4f700-daba-43b9-a873-e365e070ef36
State:          running
Persistent:     yes
Autostart:      yes
Capacity:       180.75 GiB
Allocation:     8.56 GiB
Available:      172.19 GiB
Matched Content