If you have already learnt about the concept of virtualisation and are aware of the possibilities it is offering to its users, you might be wondering about the ways in which you can apply it to your work. This article is exactly about that.
Now let’s look at few of the ways you can start using virtualisation. But, let weave all of the basics together and put it in its simplest forms. Client-side virtualisation is running a virtual machine on your local system whereas a VM can run anywhere. It does not matter where the VM files might be stored locally or on a remote server. The basics of creating a virtual machine are the following.
- You need to verify whether or not the system has enough resources to support virtualisation.
- Install a hypervisor on the system.
- You have to create a machine out of your machine, which has the proper virtualized hardware required to run the guest operating system.
- Now start the new virtual machine and install the new guest OS exactly the way you would install it on a new physical system.
Verifying the hardware resources and requirements
This is amazing that how all of the major operating system like Linux, Windows, macOS supports hypervisor but they all have a specific hardware requirements to run the hypervisor properly. At the beginning, each of these operating systems has some way of enabling a hardware virtualisation support which makes hypervisor running incredibly smooth. Every Intel-based CPU from as early as 1980s is designed to support a supervisor to take care of the multi-tasking.
Things get quite sweaty when the work of CPU gets heavier with multiple supervisor or multiple VMs. AMD and Intel both added extra features to their CPUs which started to support hypervisors for more than a decade ago. AMD’s is AMD-V and Intel’s is VT-x. So this the hardware virtualisation support. Should your CPU and BIOS support hardware virtualisation, you are in a good position to turn this feature on and off from system’s setup utility.
Here it comes. We took care of the hardware virtualisation support. Now what about the mini crucial hardware? Yes, each of the virtual machine you will be running will need as much RAM as of a physical one. Therefore it is one of the most common practice to clog your system case with enough RAM to keep the virtual machines running and well fed. In general, you want to keep two things in mind while setting up a virtual machine.
- Always leave enough RAM to run the hypervisor efficiently.
- Add sufficient RAM so that each and every of the VM you run simultaneously have plenty to run on.
How much of a RAM you need depends on the kind of VM you will be using. In this case, you need to make a little research on how much RAM should you be allocating for each of the VM you are willing to setup. Here are possible common scenarios:
- 4GB allocated for host OS and VirtualBox;
- 1GB for windows 7;
- 512MB for Ubuntu;
- 5GB for windows 10.
Now this list is just to give you a rough idea of how you could allocate these RAM. Although, it may seems like this is not much of a RAM, it is a good idea to double or triple or quadruple the amount of RAM you have estimated. In this case, Motherboard plays a huge role here. You do not want to setup such multiple VM where RAM maxes out at 16GB.
Now as for the space, VM files can be quite large since they include everything installed on the VM. This depends entirely on the operating system and how the VM is used. The VM file could range from megabytes to hundreds of gigabytes. To top things up, every snapshot you make of the operating system, for security reason, takes up quite a space. It can even max out your allocated storage over time.
There are the three things you want to keep in mind:
- Have plenty of storage so that the VMs can even grow;
- VMs files should have backup setup. It could be cloud synced or RAID arrays and of course, regular backup;
- In case of performance, you may want to store your VMs on a SATA or NVMe SSD.
One of the coolest thing you can do is virtually connect them to the internet. Hypervisor do much more than just that. They connect number of ways which depends on the requirement of the network. You can do plenty of things with networking here. You can use their internal network to connect with each other meaning other VMs. There is bridged Networking, which is used to bridge between the VM and host machine to connect to the internet. There is also a virtual switch that you can use to connect all the VM to the actual host network from one place just like a real time switch.