Debian 7.0
Sponsored Link

Create Virtual Macine #12013/05/06

 
Install GuestOS and create Virtual Machine. This example shows to install Debian 7.0 Wheezy.
[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 \
-n www \
-r 2048 \
-f /var/kvm/images/www.img \
-s 20 \
--vcpus=2 \
--os-type linux \
--os-variant=debianwheezy \
--network bridge=br0 \
--nographics \
--location='http://ftp.riken.jp/Linux/debian/debian/dists/wheezy/main/installer-amd64/' \
--extra-args='console=tty0 console=ttyS0,115200n8 serial'
Starting install...
# installation starts
 
For options, make sure 'man virt-install', there are many options
-n specify the name of Virtual Machine
-r specify the amount of memories of Virtual Machine
-f specify the location of disks of Virtual Machine
-s specify the amount of disks of Virtual Machine
--vcpus=
specify the virtual CPUs
--os-type
specify types of GuestOS
--network=
specify network types of Virtual Machine
--nographics
nographics
--location=
specify 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.
Debian GNU/Linux 7.0 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)'.
wheezy@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
wheezy@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 21474836480 May 6 19:37 /var/kvm/images/template.img
root@dlp:~#
ll /etc/libvirt/qemu/template.xml

-rw------- 1 root root 1735 May 6 19:36 /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:           4226513b-e5c8-6df7-7d15-f7529893d52c
State:          running
Persistent:     yes
Autostart:      yes
Capacity:       188.62 GiB
Allocation:     2.32 GiB
Available:      186.31 GiB
Matched Content