But, what is virtualisation? And why do you need it?
Let’s dig it out!
What is virtualisation?
With virtualisation, you are able to build various simulated environments as well as some dedicated resources within a single hardware system.
Hypervisor, a software, is used that helps you to connect with the hardware and divide a single system into various distinct and secure environments known as virtual machines. These virtual machines rely on the ability of a hypervisor to bifurcate the resources of the machine from the hardware and distribute them later on appropriately.
The physical hardware is known as the host and several VMs that consume the resources are known as guests.
Hopping on further, let us understand the concept of virtualisation packages!
What are Virtualisation packages?
Virtualisation packages are used to run several operating systems without the need for specific hardware. To be precise, you can run multiple operating systems on a single device without using traditional techniques like dual booting, etc.
Now, how does it work?
If you are a developer, an architect, or even a home user, virtualisation can be extremely useful to you.
A virtualisation software resembles a real machine and confuses the operating system to think that it is being operated by a real computer. Such virtual machines assist you to create a much easier computing environment.
If we analyse the latest trends ongoing in the IT sector, virtualisation has gradually escalated over the last few years. The primary reason is that it gets up well with the concept of utility computing as well as SaaS.
In general, there are two kinds of virtualisation.
- Full virtualisation
- Para virtualisation]
Full Virtualisation: in full virtualisation, you can run the guest system unmodified. It inhabits a hardware environment
Para virtualisation: in para virtualisation, you make a request to a modified kernel on the guest side to run. This does not inhabit hardware but requires modification at the guest level.
Besides these two categories, we also have hardware virtualisation.
Let us first understand why is virtualisation useful?
There are plenty of Linux distributions with tons of interesting features. Every now and then the Linux distribution releases several new and tempting upgrades. To test and install them, you can take the help of virtualisation.
All you have to do is download the ISO and install the distro in your virtual environment. You can test it and delete it if it doesn’t suit you.
Additionally, if you are a developer, and you find it unstable, you can install a virtual machine and start working.
Moving on, there are certain requirements that you must adhere to.
In the case of hardware emulation, there are some significant CPU instructions that modern processes inhabit.
You must have pre-installed Linux OS. Along with that, your CPU should have the required virtualisation capabilities. To check if your CPU already encapsulates the requirements, use the following command:
$ egrep ‘(vmx|svm)’ /proc/cpuinfo
If the return value is either VMX or SVM, then you are ready to surf further.
Also, you must visit the web page of your system to understand its hardware requirements. At least 20 GB of RAM should be free in the home directory and 2 GB of RAM on your host. In this scenario, you will be able to allocate approximately 768 MB on the guest side.
These requirements can change according to your needs in future.
Now, let us put light on our core topic and understand both KVM and VirtualBox.
KVM vs VirtualBox
KVM is small in size and faster in speed. It has better integration with Linux. You also have the liberty to use it with other operating systems. But, the experience may not be all smooth. In the case of BSD, they have slow I/O. Whereas, when we talk about Solaris, it becomes uncomfortable while booting the ISO installation.
As these factors are quite an obstacle, therefore, VirtualBox proves to be a better option. There are a lot of advantages tagged along with VirtualBox.
KVM - In detail
KVM or Kernel-based virtual machine is a full virtualisation solution. It’s a open-source software.
With KVM, you can run several virtual machines modified Linux and Windows images. Each of the virtual machines has private virtualized hardware, consisting of a disk, graphics adapter, network card, etc.
It inhabits a loadable kernel module that presents the core virtualisation infrastructure as well as a processor specific module namely, kvm-intel.ko or kvm-amd.ko.
Now, you may wonder how to install KVM?
You have to create two separate directories to store the virtual disk images and ISO files. For instance, you wish to install Fedora, start with:
$ cd ~ && mkdir iso && cd iso/
$ wget -c ftp://ftp.heanet.ie/mirrors/fedora/linux/releases/15/Fedora/\
Now, you need to set up the virtual disk environment:
$ cd ~ && mkdir kvmhdd && cd kvmhdd
$ kvm-img create fedora15.img 15G
This command helps you to create a virtual disk file that has 15 gigabytes in size and is named Fedora 15.
Now, you are all set to use the following command as stated below to install Fedora 15 on the new disk:
$ kvm -m 768 -boot d -cdrom ~/iso/Fedora-15-x86_64-DVD.iso -hda fedora15.img &
-m signifies the size and megabytes of whatever and memory you allocate.
-boots signify the primary boot device.
-hda tells about the first hard disk.
Once you have installed Fedora, change -boot d to -boot c and then eliminate -cdrom, to boot the system. Otherwise, you can also use the CD-ROM drive with -cdrom /dev/sr0. For instance,
$ kvm -m 768 -boot c -hda fedora15.img &
Moving on, you can also create a file in kvmhdd. It contains the above-mentioned file. After that, you can execute it as and when required. Run it in the below-mentioned fashion:
$ cd ~/kvmhdd && echo "kvm -m 768 -boot c -hda fedora15.img &" > fedora15.sh && \
Moreover, there are several other installation procedures related to the most popular operating systems. Have a look.
Use the below-mentioned command to install, setup and use the kvm kernel module.
# apt-get install qemu-kvm libvirt-bin
If you wish to be assured of the fact that kernel has KVM enabled, then type in the following:
$ cat /boot/config |grep -i kvm
Use this command to install:
# pacman -S qemu-kvm
Let us move towards the other competitor in line now, i.e. VirtualBox.
VirtualBox is known as one of the most powerful virtualisation products for professional as well as personal use. It is power-packed with features and is undoubtedly a high-performance product. It is a freely available open-source software.
At present, it can run on Windows, Linux, Solaris, Macintosh, and also supports plenty of other operating systems.
Constant up-gradation is a part of the VirtualBox regime. There are a lot of features, platforms, and supported guest operating systems that it runs on.
How to create a virtual machine?
The GUI of VirtualBox holds the wizard approach so that you can create a new virtual machine and see the interface.
If you wish to create a new virtual machine, press Ctrl+N and then enter the name as per your wish.
The next step is to select the memory that you wish the device to possess. Based on this, VirtualBox recommends a value according to the architecture and operating system.
After that, create the hard disk and insert the size. Now, in the VirtualBox window, you’ll see the new VM.
Now, you need to run the virtual machine! Let’s see how?
How to run a virtual machine?
After you successfully install the virtual machine and make changes in the boot order, you can smoothly boot from the hard disk. Hit Start.
Moreover, there are certain changes that can help boost your experience as a guest in VirtualBox with features like shared folders or full-screen views by installing the VirtualBox guest additions. You can install it by using the below-stated command:
# yum update kernel && yum install kernel-devel kernel-headers dkms gcc gcc-c++
The next step is to reboot the virtual machine after the installation process. Switch to the devices menu and then select install guest additions. This mounts the already existing guest additions ISO image onto the Guest.
Now, you can restart the system and get to see some advanced features of VirtualBox on your screen.
Moving on, here is a list of several commands that you can use to install VirtualBox on respective operating systems.
To install Debian, type in the following command:
# apt-get install linux-headers-$version virtualbox-ose
This command installs all the important packages and later results in kernel module compilation.
# yum update
After executing the above command, type in:
# yum install VirtualBox-4.0 dkms gcc
# /etc/init.d/vboxdrv setup
# usermod -G vboxusers -a username
Use the below-mentioned command:
# pacman -S virtualbox qt
And you are good to go.
In Linux, both KVM and VirtualBox are widely used. If you have to make a choice with respect to the virtualisation solutions, then you must check in with your requirements first. Analyse and understand your desktop environment and operating system.
After a proper analysis, you can land on a wise decision.
Both KVM and VirtualBox are appropriate solutions for home usage or even at an enterprise level.
To sum up, this article helps you to understand the concept of virtualisation packages, their solutions and the two most used virtualisation solutions on Linux systems.
We hope that this tutorial clears out your ambiguities and you gain a good understanding of the topic.
People also read: