1. Install the following packages for setting up guest hosts using KVM virtualization .
# yum install virt-install virsh libvirt kvm # yum install kvm python-virtinst libvirt libvirt-python virt-manager # yum install virt-viewer libguestfs-tools
2. Check whether the following modules are loaded . If not , load it manually using insmod.
# modinfo kvmfilename: /lib/modules/2.6.32-220.el6.x86_64/kernel/arch/x86/kvm/kvm.kolicense: GPLauthor: Qumranetsrcversion: E0EC656A576974AAE72808Ddepends:vermagic: 2.6.32-220.el6.x86_64 SMP mod_unload modversionsparm: oos_shadow:boolparm: ignore_msrs:boolparm: allow_unsafe_assigned_interrupts:Enable device assignment on platforms without interrupt remapping support. (bool)------------# modinfo kvm_intelfilename: /lib/modules/2.6.32-220.el6.x86_64/kernel/arch/x86/kvm/kvm-intel.kolicense: GPLauthor: Qumranetsrcversion: 0B88774FBBF6ECB64244D3Adepends: kvmvermagic: 2.6.32-220.el6.x86_64 SMP mod_unload modversionsparm: bypass_guest_pf:boolparm: vpid:boolparm: flexpriority:boolparm: ept:boolparm: unrestricted_guest:boolparm: emulate_invalid_guest_state:boolparm: yield_on_hlt:boolparm: ple_gap:intparm: ple_window:int 3. Restart libvirtd service # /etc/init.d/libvirtd restart Stopping libvirtd daemon: [FAILED] Starting libvirtd daemon:
Setting Up Networking
1. Create a new br0 network device of TYPE Bridge using system-config-network command or
create it manually as shown below. Assign IP Address and other network configuration details
based on your requirement.
.
# vim /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE="br0" NM_CONTROLLED="no" ONBOOT=yes TYPE=Bridge BOOTPROTO=none IPADDR=192.168.2.148 PREFIX=26 GATEWAY=192.168.2.130 NAME="System br0"
2. Modify the original network configuration file (e.g /etc/sysconfig/network-scripts/ifcfg-eth0 )
and comment out BOOTPROTO , IPADDR , PREFIX and GATEWAY parameters . Add
the following network parameter and restart network service .
BRIDGE=br0
So , the final eth0 network interface file will be as follows
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0
NM_CONTROLLED=no BRIDGE=br0 ONBOOT=yes TYPE=Ethernet #BOOTPROTO=static #IPADDR=192.168.2.148 #NETMASK=255.255.255.192 USERCTL=no #GATEWAY=192.168.2.130
3. Restart network service
#/etc/init.d/network restart
If all went fine your network configuration will be as follows:
# ifconfig
eth0 Link encap:Ethernet HWaddr 44:1E:A1:55:B0:B0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:724970 errors:0 dropped:0 overruns:0 frame:0
TX packets:8032 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:239225199 (228.1 MiB) TX bytes:1348488 (1.2 MiB)
br0 Link encap:Ethernet HWaddr 44:1E:A1:55:B0:B0
inet addr:192.168.2.147 Bcast:192.168.2.191 Mask:255.255.255.192
inet6 addr: fe80::461e:a1ff:fe55:b0b0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22 errors:0 dropped:0 overruns:0 frame:0
TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3898 (3.8 KiB) TX bytes:3196 (3.1 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2794116 errors:0 dropped:0 overruns:0 frame:0
TX packets:2794116 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:260264756 (248.2 MiB) TX bytes:260264756 (248.2 MiB)
Creating the Guest Hosts
There are two tools available for creating guest hosts . One is virt-manager tool which has a graphical interface and the other is virt-install tool which has a text interface . We will be using virt-install tool to setup guest hosts.
For our case , we will be creating a virtual hosts with 3 GB of RAM , 3 no of CPUs and with a hard disk space of 20G . The command will be as follows:
# virt-install --network bridge=br0 \
--name vm-dbase \
--ram=3072 \
--vcpus=3 \
--disk path=/var/lib/libvirt/images/vm1-mysql.img,size=20 \
--graphics none \
--location=http://192.168.4.139/rhelisos \
--extra-args="console=tty0 console=ttyS0,115200" \
--os-type=linux \
--os-variant=rhel6
Little description is as follows:
--vcpus= Number of virtual cpus to configure for the guest.
--location=An HTTP server location containing an installable distribution image
--disk=Specifies media to use as storage for the guest, with various options including size of disk
--name=Name of the new guest virtual machine instance.
Press Enter and here you go , creation of virtual host will get initiated . Follow the on-screen instructions for setting up the OS . These are the standard instructions we need to pass through while installing Linux . Once you are done providing all the parameters , a minimal OS installation will be done. The Guest host will be rebooted after installation is complete and you will be provided with a login prompt to login into the guest operating system .