Virtualization COMP 2130 Content Virtualization Hypervisor Types Types of Virtualization Virtualisation Virtualization refers to the creation of a virtual version of something, such as a computer hardware platform, an operating system, a storage device, or a network resource. It allows multiple virtual instances to run on a single physical machine, effectively maximizing the utilization of hardware resources. Virtualization involves creating virtual machines (VMs) that are isolated from the physical hardware and can run their own operating systems and applications. Virtualization enables multiple VMs to run on a single physical server, which can reduce hardware costs and increase efficiency. Hypervisor A hypervisor is generally considered mandatory for virtualization. A hypervisor is a type of software or hardware used to create virtual machines and then run those virtual machines day to day. It acts as a layer that enables multiple virtual machines to run on a single physical machine/server. It provides a way for the virtual machines to share the physical resources of the host machine, such as CPU, memory, and storage. Role of hypervisors A hypervisor is essential for virtualization because ◦ it creates and manages the virtual machines, ◦ allocates the physical resources to them, and ◦ provides a layer of abstraction that allows the virtual machines to operate independently of each other. Without a hypervisor, it would be difficult to manage multiple virtual machines running on a single physical machine, and the virtual machines would not be able to share resources efficiently. Therefore, a hypervisor is considered a fundamental component of virtualization. However, we can achieve virtualization using other ways as well. Hypervisor working A hypervisor sits between the physical hardware of a host machine and the virtual machines running on that machine. Depending on the type, it might sit right on top of the hardware or it on the O/S. Either way, hypervisors translate VM requests, which are by definition virtual, for the physical hardware on which the operations must still run. A parent and child relationship exists between the host machine (parent) and the virtual machines running on it (children). Parent Children Host Machine (Parent) Virtual Machines (Children) Physical machine on which hypervisor is installed The virtual machines running on the host machine are called children or guests. It provides the resources that the hypervisor uses to create and manage the virtual machines. They are isolated from each other and from the host machine Each VM have their own virtual hardware and operating system. Responsible for managing the hardware resources, such as • CPU, • memory, • storage, and • network, • and it provides those resources to the hypervisor as needed. The hypervisor manages the resources allocated to each virtual machine and provides each one with its own virtual hardware environment. The parent-child relationship between the host machine and virtual machines is important because it determines the level of isolation and security between the virtual machines. The hypervisor ensures that each virtual machine is isolated from the others and from the host machine, preventing them from interfering with each other or accessing each other's data. Hypervisor types Type -1 Type -2 Type 1 hypervisor replaces the host’s operating system and lies right on top of the hardware. For this reason, type 1 hypervisors are also called bare metal /native hypervisors or embedded hypervisors. Examples: ◦ VMware hypervisors like vSphere, ESXi and ESX ◦ Microsoft Hyper-V ◦ Oracle VM Server Type 1 hypervisors are typically used in enterprise data centres and cloud environments, where performance and security are critical. These hypervisors run on top of an existing operating system and provide virtualization services through that operating system. Type 2 hypervisors are typically used on personal computers and workstations, where they can be used to run multiple operating systems and applications simultaneously. Example: ◦ ◦ ◦ ◦ VMware Workstation VMware Fusion Oracle VirtualBox Oracle Solaris Zones We will use Type – 2 hypervisor to create a virtual machine (Linux OS) on personal systems Types of virtualisation Data Virtualization Desktop Virtualization Server Virtualization Operating System Virtualization Network functions Virtualization Data Virtualization Data virtualization is a technology that allows an application or user to retrieve and manipulate data from different sources, such as databases, cloud storage, or web services, as if it were coming from a single, unified source. The underlying physical location of the data is abstracted away, and the data is presented in a virtualized form to the application or user. Desktop Virtualization Desktop virtualization allows a central administrator or automated administration tool to deploy virtual desktop environments to multiple physical machines simultaneously. Instead of installing and configuring each individual physical machine, the administrator can create a single virtual desktop environment and deploy it to hundreds of physical machines at once. Server Virtualization Server virtualization is a technology that allows multiple virtual servers to be created and run on a single physical server. Instead of having a dedicated physical server for each workload or application, a single physical server can be shared among multiple virtual servers, each of which has its own operating system and applications. Operating System Virtualization Operating system virtualization happens at the kernel—the central task managers of operating systems. It’s a useful way to run Linux and Windows environments side-by-side. Network functions virtualization (NFV) It separates a network's key functions (like directory services, file sharing, and IP configuration) so they can be distributed among environments. Once software functions are independent of the physical machines they once lived on, specific functions can be packaged together into a new network and assigned to an environment.