Introduction to Virtualization & Virtual Machines
Last updated
Last updated
VM is a virtual computer running on top of another host computer
Virtualization is the process of creating a software-based, or "virtual" version of a computer, with dedicated amounts of CPU, memory, and storage that are "borrowed" from a physical host computer
▪ Makes it possible that any OS can run on top of any other physical host machine
▪ The VM is partitioned from the rest of the system, meaning it's completely isolated and can't interfere with the host computer's primary OS
The essential component in the virtualization stack is a piece of software called a hypervisor
▪ The hardware resources are shared
▪ So you can only give resources you actually have
▪ Host OS = runs directly on the hardware
▪ Guest OS = runs on the virtual machine
That runs directly on the host's hardware to control the hardware and monitor the guest OS. The guest OS runs on a separate level above the hypervisor
Examples of this classic implementation of VM architecture are Oracle VM, Microsoft Hyper-V, VMware ESXi.
Designed to run within a traditional OS
A hosted hypervisor adds a distinct software layer on top of the host OS, and the guest OS becomes a third software level above the hardware
Examples: Oracle VM VirtualBox, VMware Server, Microsoft Virtual PC, KVM, QEMU and Parallels.
Main benefit: Instead of OS being tightly coupled to the hardware, Virtualization gives an abstraction layer, with the following benefits:
▪ Security: Secure very easily
▪ Agility and speed: Spinning up a VM is easy and quick, compared to setting up an entire new server
▪ Cost savings: Efficient usage of hardware resources
▪ Portable: OS as a portable file (VMI - Virtual Machine Image)
▪ VMI:
● Includes OS and all applications on it
● You can have backups of your entire OS