Unveiling Virtualization! A Comprehensive Understanding of Hypervisors to Master Core Cloud Computing Technologies!

Linux | Red Hat Certified | IT Technology | Operations Engineer

👇 Join our technical exchange QQ group with 1000 members, note 【Public Account】 for faster approval

Unveiling Virtualization! A Comprehensive Understanding of Hypervisors to Master Core Cloud Computing Technologies!

1. What is Virtualization

Virtualization is a process that allows for more efficient utilization of physical computer hardware and is the foundation of cloud computing.

Virtualization technology uses software to create an abstraction layer on computer hardware, allowing a single computer’s hardware elements (processor, memory, storage, etc.) to be divided into multiple virtual computers (commonly referred to as virtual machines (VMs)). Each VM runs its own operating system (OS), behaving like an independent computer, even though it operates on only a portion of the actual underlying computer hardware.

Thus, virtualization can utilize physical computer hardware more efficiently, improving the return on investment for organizations in hardware investments.

Today, virtualization has become a standard practice in enterprise IT architecture. It is also a technology driving the economic development of cloud computing. Virtualization enables cloud providers to use their existing physical computer hardware to provide services to users; it allows cloud users to purchase only the computing resources they need when required and to economically scale these resources as workloads grow.

2. Advantages of Virtualization

Virtualization brings numerous benefits to data center operators and service providers:

Resource Efficiency: Before virtualization, each application server required its own dedicated physical CPU — IT personnel had to purchase and configure separate servers for each application they wanted to run. (For reliability reasons, IT personnel preferred to configure one OS on each machine to run one application.) Therefore, each physical server inevitably went underutilized. In contrast, server virtualization can run multiple applications on a single physical computer (usually x86 servers), with each application running on its own VM, using its own OS, without sacrificing reliability. This maximizes the computational power of the physical hardware.

Easier Management: By replacing physical computers with software-defined VMs, it becomes easier to use and manage software-defined policies. This helps create automated IT service management workflows. For example, automated deployment and configuration tools allow administrators to define a set of VMs and applications as a service in the form of software templates. This means they can reinstall these services in a uniform manner without the cumbersome, time-consuming, and error-prone manual setup process. Administrators can use virtualization security policies based on the role of the VMs to enforce certain security configurations. Policies can even eliminate unused VMs to save space and computational power, enhancing resource efficiency.

Minimized Downtime: Operating system and application crashes can lead to downtime, affecting user productivity. Administrators can run multiple redundant VMs simultaneously, allowing for failover between them when issues arise. Running multiple redundant physical servers is cost-prohibitive.

Faster Configuration: Purchasing, installing, and configuring hardware for each application is very time-consuming. If the hardware is already deployed, configuring VMs to run all applications is much faster. Configuration can even be automated using management software and integrated into existing workflows.

3. Hypervisor

3.1 Overview of Hypervisor

A hypervisor: is an intermediate layer of software that runs between the physical server and the operating systems, allowing multiple operating systems and applications to share a set of underlying physical hardware. The hypervisor can be seen as the “meta” operating system in a virtual environment, coordinating access to all physical devices and VMs on the server, hence also known as a virtual machine monitor. The hypervisor is at the core of all virtualization technologies, and non-disruptive support for multi-workload migration is a fundamental function of the hypervisor.

3.2 Classification of Hypervisors

One type is Type 1 bare-metal hypervisors, which run directly on hardware, also known as Bare-Metal Hardware Virtualization;

The other type is Type 2 hosted hypervisors, also known as Hosted Virtualization.

The diagram illustrates the layered architecture of the two types of hypervisors.

Unveiling Virtualization! A Comprehensive Understanding of Hypervisors to Master Core Cloud Computing Technologies!

Type 2 hypervisors require a host operating system to manage resources such as CPU, memory, and network. Because there is a host operating system between the hypervisor and the hardware, all operations of the hypervisor and VMs must go through the host operating system, which inevitably introduces latency and performance loss. Additionally, security flaws and stability issues in the host operating system can affect the VMs running on top of it, so Type 2 hypervisors are mainly used in scenarios with lower performance and security requirements, such as personal PC systems.

Type 1 hypervisors do not rely on a host operating system and possess the basic functions of an operating system. They are designed to be simpler, running directly on hardware, with a more streamlined overall codebase and architecture, requiring less memory and storage resources.

3.3 Hypervisor and Virtual Machine Collaboration Technology Routes

(1) Full Virtualization

The initial virtualization was achieved by software simulating a computer system with complete hardware system functionality, running in an isolated environment, that is, providing virtual hardware devices for Guest OS use through software. The advantage is that the Guest OS is unaware of the external real hardware environment and does not require modification.

However, since each access to fully virtualized hardware in the Guest OS must trap into the hypervisor, this leads to poor performance of the virtualized hardware, which is generally only used to simulate simpler hardware such as serial ports.

Unveiling Virtualization! A Comprehensive Understanding of Hypervisors to Master Core Cloud Computing Technologies!

Install KVM on the operating system, KVM is the hypervisor that runs as a program module on the OS and manages the virtual machines. Additionally, VirtualBox and VMware Workstation belong to this type.

(2) Hardware-Assisted Virtualization

Intel was the first to propose hardware-assisted virtualization technology, which provides shared functionality directly through hardware, supporting access from multiple Guest OSs, reducing latency and performance loss caused by software virtualization techniques.

Intel has proposed technologies such as Intel VT-x, Intel VT-d, and Intel VT-c, targeting processors & memory, I/O, and networking, respectively. As ARM’s computing power increases, evolving from mobile to edge and even cloud computing centers, ARM is also continuously enhancing its hardware-assisted virtualization technology, such as stage 2 page table translation and virtual exceptions.

(3) Paravirtualization

In the developmental stage where hardware-assisted virtualization technology is not mature or strong, or for sharing and reusing certain complex peripherals, paravirtualization technology can be adopted, where the Guest OS collaborates with the hypervisor.

This technology is generally applied to I/O device virtualization, using a front-end and back-end approach to achieve I/O device virtualization, implementing front-end drivers in the Guest OS and back-end drivers in the hypervisor or host OS, with the front-end and back-end generally implemented according to the VirtIO standard, where the back-end driver acts as the actual access point to the hardware.

The front-end driver in the Guest OS communicates with the back-end driver through communication mechanisms such as Virt Queue, passing requests from the Guest OS to the back-end driver, which sends the requests to the hardware driver, processes them, and returns the results to the front-end driver. Paravirtualization generally achieves better hardware performance compared to full virtualization and can implement relatively complex hardware, such as block devices, network cards, display devices, etc.

For course inquiries, add: HCIE666CCIE

↓ Or scan the QR code below ↓

Unveiling Virtualization! A Comprehensive Understanding of Hypervisors to Master Core Cloud Computing Technologies!

What technical points and content would you like to see?

You can leave a message below to let us know!

Leave a Comment