What is virtualization?

Virtualization is the act of creating a virtual version of a physical IT resource, like a server or a desktop. A virtual machine (VM) is created on a physical host device. The VM behaves exactly like a physical device would and can run different OSs from the host. VMs are also named guest machines. Multiple guest VMs can run on a host device.

For instance, you can create a virtual server running on Windows on a physical device that runs on Linux. The VM is a fully functional Windows server that utilizes host resources. On the same host server, you can run more Windows servers, Linux servers, and so on.

Virtualization as a practice started as early as the 1960s on mainframe computers as a way of provisioning system resources. Nowadays, it's widely adopted in IT, and there's a trend of consolidating or converging bulky physical devices into neat virtual counterparts.

How does virtualization work?

Virtualization works by partitioning the host device's resources between VMs. This partitioning is performed by software known as a hypervisor. There are two kinds of hypervisors: bare-metal ones that are installed directly on the host hardware and hosted ones that need some kind of OS to run on the host.

A hypervisor acts as the intermediary between the VMs and the host device. When a VM is created, or spun up, the hypervisor allocates some host resources, like the CPU and memory, to it. If the VM needs more resources while operating, the hypervisor allocates more host resources.

Similarly, the disk storage of the host device is simulated as virtual storage on the VM. When the VM tries to locate any files in its virtual storage, the hypervisor translates this request to locate the files in the actual physical storage of the host.

A hypervisor can manage multiple VMs like this, distributing host resources ad hoc. VMs can be spun up or taken down easily. They can also be migrated from one host to another and operate as before.

Virtualization architecture

At the base of virtualization architecture is the host hardware. This includes system resources like the CPU, memory, and disk space. In the case of bare-metal virtualization, the hypervisor doesn't need any host OS and can operate directly on top of the host hardware. In the case of hosted hypervisors, the hypervisor operates on top of a host OS.

The hypervisor pulls resources from the layers below and partitions them into virtual instances. For this reason, the hypervisor is also known as the virtualization layer. Guest OSs operate on top of the hypervisor. Often, the guest OSs aren't aware of themselves and behave like independent devices. Applications are hosted on each guest OS on a VM. This layer is known as the application layer.

In the case of nested virtualization, the guest OSs have another set of hypervisors running above them, and so on.

Virtualization architecture - ManageEngine OpManager

What are the advantages of virtualization?

Virtualized devices are more versatile and efficient compared to their traditional physical counterparts. They are also convenient to spin up, move, and take down as you please. Some of the advantages of virtualization are:

  • Increased efficiency: Servers are designed to handle an expected peak of performance. However, they operate at significantly lower loads for most of their lifetime. When multiple VMs inhabit a host, they share the host resources as needed. This results in efficient space and resource utilization.
  • The ability to run multiple software: As each VM is an independent component, you can run multiple OSs, software, and applications for different VMs from a single host device. Instead of buying multiple servers for running different software, a single virtualized cluster would suffice.
  • VM snapshots: A snapshot of a VM is a copy of that VM in that instant. You can take VM snapshots as backups, run the snapshots elsewhere, or restore them as needed. This is helpful before performing risky operations. If things go wrong, the previous version can be restored easily.
  • VM migration: You can move VMs from one host to another and resume their operations. For this, there are many uses. You can enable a failover system where VM snapshots are backed up frequently to another host. If the primary host fails, the VM can switch over to the secondary host seamlessly.
  • Isolated operations: A VM is essentially a sandbox. That is, it's an isolated system that can be used to test software, run suspicious programs, and so on. VMs can be spun up or taken down easily, so you can spin up a VM, perform tests, and take it down as needed.
  • Desktop as a Service: With virtualization, it's possible to access a host server from another device and access the VMs. Users from multiple locations can use their personal devices to access the host server. The host server connects the VMs to their devices over the network. User devices can be cheaper and utilize less resources.

What are the different virtualization types?

Virtualization can be classified based on the extent of virtualization and the functionality offered by the VM. Virtualization can be performed to provide services or simulate hardware, data, system resources, etc. Let's see what the most important kinds of virtualization are.

Based on the extent of virtualization

We can classify three types of virtualization based on the extent. In full virtualization, the VMs are completely isolated from the host hardware. The hypervisor translates the requests from the VMs and manages resource allocation. This kind of virtualization is more isolated and portable and can be implemented on any OS. But it is also slower compared to paravirtualization.

In paravirtualization, the VMs are not completely isolated from the host server. The VMs take care of resource allocation themselves. The guest OSs are aware of themselves and communicate with the hypervisor and the host system. Paravirtualization is faster but less portable. Moreover, the guest OSs have to be modified, which limits the number of OSs on which this can be implemented.

In OS virtualization, the OS acts as a hypervisor and creates virtual spaces within the system that are independent of each other. The OS partitions the system resources and forms multiple isolated user space instances. These isolated virtual spaces are also called containers.

Based on the functionality offered

Virtualization can be classified into hardware virtualization, server virtualization, network virtualization, storage virtualization, application virtualization, data virtualization, desktop virtualization, and more based on the functionality provided. These are discussed in detail below.

Server virtualization

Server virtualization is a widely adopted type of virtualization where a full-fledged server is simulated for use on a host device. Virtual servers perform the same roles as physical servers. They host websites and applications, work as databases, perform computations, and do even more. Multiple virtual servers run on one physical server and share the system resources. Servers can also be implemented as a load-balanced array where the VMs are shared between different host devices.

Server virtualization is offered by vendors like VMware, Nutanix, Xen, and Hyper-V. Organizations can consolidate their server architectures by replacing multiple physical servers with a virtualized cluster. A typical virtualized environment contains a host server, many virtual servers, and virtual data stores.

Virtual sprawl

Virtual sprawl is a situation where the virtual servers are using up too much of the host resources. The hypervisor can't allocate enough resources to all the VMs, and the other virtual servers experience performance issues because of resource scarcity. VM sprawl can occur because of the sheer number of virtual servers running on a host. It's easy to spin up VMs, but if you lose track of them, they'll keep on running in anonymity and drain your resources. Eliminating virtual sprawl ensures efficient performance.

Network virtualization

In network virtualization, the functionalities of a network (routing, switching, and data transfers) are virtualized using hardware and software components. There are two types of network virtualization: external and internal.

External network virtualization

In this type, the same physical network is partitioned to form multiple virtual networks. An example of this is a virtual local area network (VLAN). Multiple VLANs share the same network devices, switches, routers, controllers, and access points. But they are virtually separated and act as different networks.

Another example of this type is a virtual private network (VPN). A VPN provides access to private local area networks (LANs) over the internet using tunneling and encryption protocols. In this case, the same LAN exists across network devices from multiple locations.

Internal network virtualization

Internal network virtualization simulates a network within a single host device using software. This server might contain multiple containers and other virtual instances. The network connections between them are simulated to form a virtual network. Virtual versions of hardware network devices like routers and switches are created.

Software-defined networking

Software-defined networking (SDN) is another application of network virtualization that is designed to make network operations faster and more efficient. In a traditional physical network, the network devices, like the routers and switches, individually perform control operations as well as data operations.

Control operations involve making the routing table, updating the topology, shaping traffic, etc. Data operations include receiving and transmitting data packets. In an SDN system, an SDN controller takes over the control operations, while the network devices are concerned with data transfers alone. Admins can use the controller to shape traffic according to their requirements.

Storage virtualization

Storage virtualization involves simulating logical storage units above physical storage. In storage virtualization, the individual storage units, like disks, are often pooled to form a storage network. This network is then managed using software. From a storage network, it's possible to create virtual storage units. Virtualization makes storage systems faster, more resilient, and more reliable.

Storage virtualization has multiple advantages over conventional storage systems. As the physical storage systems are pooled together, data can be migrated from one location to another while the virtual data unit remains the same. This means that data migration won't affect normal operations.

Similar to server virtualization, storage virtualization results in efficient storage usage as all the storage capacity is pooled together. Idle storage per disk is minimized. When storage is about to run out, you can add more heterogeneous storage devices to increase capacity. Instead of dealing with multiple storage devices with different capacities placed in different locations, IT admins handle uniform, neatly classified virtual storage units.

RAID

A redundant array of independent disks (RAID) is a storage virtualization technology where disks are combined to form a virtual storage unit. Multiple levels of RAIDs are available with varying levels of speed, capacity, fault tolerance, and reliability.

Storage area networks

A storage area network (SAN) is a dedicated network that connects storage devices, servers, and network devices together. A SAN is not connected to a LAN but has its own set of SAN switches to connect storage devices. SANs are accessed through a server that's known as the host layer.

Unified computing systems

A unified computing system (UCS) is a converged data center architecture that combines server virtualization, network virtualization, and storage virtualization. A UCS usually has a powered chassis with a cooling unit and slots to connect blade servers and rack servers. Virtual hosts can be connected to the server slots and interconnected with a virtualized network. A UCS can be connected to a SAN to provide virtualized storage capabilities.

A UCS allows data centers to be highly converged and efficient with massive reductions in cabling and space utilization. Cisco introduced the first UCS back in 2009, and it's the most popular UCS vendor in the market. UCSs have management software that can monitor and manage their operations.

Virtualization monitoring

Virtualization is a popular technology that has been adopted in multiple different ways to simulate different network components and services. Most network infrastructures worldwide have one or more kinds of virtualization technology. This is where virtualization monitoring becomes relevant.

Virtualization has some disadvantages that can cause problems for IT teams. Chief among them are the complexity of virtual systems and a lack of visibility over virtual components. Unlike physical devices that can be checked individually, VMs are logical units that have no physical distinction.

There's no way to monitor VMs without network monitoring software. Most virtualization vendors offer management software dedicated to their virtualization offering, but handling multiple virtual monitoring tools for all the components can be tedious. Unified virtualization monitoring software that can monitor virtual components just as well as physical components is exemplary.

Monitor virtualization with OpManager

ManageEngine OpManager is network monitoring software that is specialized for monitoring virtualized environments, whether servers, networks, storage units, or other virtualized components like UCSs. OpManager discovers virtual environments, collects performance metrics, analyzes them, and presents them to you in graphs and reports on a single, powerful console.

Let's see some of OpManager's virtualization monitoring capabilities:

Server virtualization
Network virtualization
Storage virtualization
Host hardware health
Hardware health
Storage hardware health
CPU, memory, and disk utilization
CPU, memory, and disk utilization
Storage capacity
In, out, and overall traffic
In, out, and overall traffic
Input/output operations per second (IOPS)
Processes and services
Packet loss, jitter, and mean opinion score
Volume utilization
Virtual events (VM migration, host relocation, etc.)
Availability and response time
Storage pool utilization
CPU ready, CPU wait, active memory, etc.
VPN monitors
Logical unit number monitors

 

OpManager provides visibility into virtualized infrastructure by discovering virtual hosts, VMs, data stores, and more and by listing them in a neatly classified inventory. By setting alerts, you can remain aware of events, issues, and performance declines in your systems.

Download OpManager or try a free, 30-day trial to see how it monitors virtualized environments in your network.

 
 Pricing  Get Quote