Jump to content

Virtualization is a term I keep hearing, but can't get a grasp on.
Is it basically just using software to allow others to use a computer's resources?
Like cloud storage and cloud gaming?(Google Drive & NvidiaNow)
I'd like a more detailed, but simple explanation of how it all works.

Link to comment
https://linustechtips.com/topic/1590276-what-is-virtualization/
Share on other sites

Link to post
Share on other sites

Generally it means running one OS ont op of another OS in simple terms. Play with something like virtualbox to get a feel for how it works. 

 

Lots of servers use vms to manage resources better, make backups easier and better manage multiple systems.

Link to comment
https://linustechtips.com/topic/1590276-what-is-virtualization/#findComment-16582262
Share on other sites

Link to post
Share on other sites

Generally virtualization is the division of physical resources into logical resources. This term is most frequently used in terms of virtualizing an operating system, but is also applicable to other areas of computer science.

 

How does it work?

Virtualization is facilitated on a layer that is called a Hypervisor. Hypervisors are split into two categories, Type 1 Hypervisors operate directly on the hardware that you want to virtualize, without the need of additional software. It's unlikely that you'll encounter something like this in the wild considering it requires very specialized hardware.

The other category are Type 2 hypervisors. Those require the installation of an operating system on the hardware you want to share, commonly referred to as the Host-OS. Pretty much all major operating systems allow for virtualization of some sort. Windows comes integrated with the Hyper-V hypervisor (iirc only the Pro versions), on Linux KVM is a frequently used hypervisor.

 

Let's say you have a server with a 16 Core CPU, 64GB of RAM and 2TB of storage. Using a hypervisor you can slice those resources up to have different operating systems running. For example you could have 3 4 Core 8GB RAM and 256GB Storage instances running with one being on Ubuntu, another one on Arch and another one running Windows. The Operating Systems running inside the virtual machines are referred to as the "Guest OS".

 

It is important to know that virtualization aims to be transparent to the Guest OS. That means it does not have to behave any different than if it would when running on bare metal. Ideally, the Guest OS does not even know it operates in a virtual environment.

 

Why would you do that?

The reasons for operating virtual machines as opposed to directly on hardware are plentiful, but mostly boil down to security or efficency or a combination of both.

 

For efficiency, virtualization allows you to better utilize your computing resources by allowing them to be shared rather than dedicated to a specific application. It is also nice because you have an easier time dealing with dependency issues. Sometimes apps don't work properly when specific components are installed that may be required by another app. That is a pain to deal with for the admins, so being able to run different operating system instances to avoid those conflicts entirely is a godsend.

 

For security, Virtual Machines are entirely isolated from one another and the host OS. This allows you to completely separate, for example, multiple customers and their data. This is not only important for compliance, it has actual implications on what for example cloud computing services have to offer.

 

For a mix between security and efficiency, virtualization also allows you to increase you uptime. Sometimes, servers fail catastrophically on a hardware level or they need scheduled maintenance. Some hypervisors operate on a cluster of host servers and have the availability to migrate a running VM to another host without any major interruption. While this really is an enterprisey feature, popular open source projects like Proxmox allow for this feature.

 

Try it yourself

If you have a reasonably modern CPU, you can most likely try virtualization yourself. There are plenty of guides out there, depending on your operating system there are different hypervisors available. For Windows I'd recommend taking a look into Virtual Box, if you happen to be on Linux, you can give Virtual Machine Manager a try (based on KVM).

 

Differences to containerization

If you were wondering about virtualization, chances are you also stumbled across the word Containerization. In some aspects, containerization is very similar to virtualization, in some it is very different.

 

Instead of sharing raw hardware resources as virtualization does, containerization shares the core of your host operating system. This allows developers and admins to package only the dependencies that are needed for the app running in the container while the operating system comes from the host. This allows containers to be very light compared to virtual machines (after all, containers don't contain an entire OS). Containers are also isolated to a large extent, although the isolation is not as strict as with virtual machines.

 

If you want to give containers a try, you can search for resources to get you started using Docker.

 

Link to comment
https://linustechtips.com/topic/1590276-what-is-virtualization/#findComment-16584966
Share on other sites

Link to post
Share on other sites

It's basically software that chops a computer up into smaller computers. Each virtual machine can run its own operating system, and they can either get their own dedicated resources (CPU cores, RAM, storage) or share the host computer's resources based on need (depending on how the host is configured).

I sold my soul for ProSupport.

Link to comment
https://linustechtips.com/topic/1590276-what-is-virtualization/#findComment-16584978
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×