5.2Virtualization Technology
5.2Virtualization Technology
Technology - The
Basis of Cloud
Computing
Virtualization refers to running multiple virtual computers, or virtual machines ,
inside a single physical computer. While the basic idea of virtualization is old
(dating back to mainframe computers in the 1960s), it has become mainstream
only in the last 10-15 years. Today, most new servers are virtualized.
Contents
Why Virtualize?
Hypervisor
Virtual Machine
Container
Virtual Network
Virtualization Software
Why Virtualize?
Virtualization drivers in recent years have included:
Hypervisor
A hypervisor is an operating system instance, or a software package, that
creates and manages virtual machines. The hypervisor typically runs on real
hardware and allows multiple virtual machines to run on the same hardware.
Virtual machines are also called guests.
Modern hypervisors in the PC world include VMware ESX, VMware Player, Xen,
Citrix XenServer, Microsoft Hyper-V, VirtualBox, and QEMU. VMWare Player,
VirtualBox, and QEMU are application-layer hypervisors (essentially like normal
programs), though they rely on some specialized operating system support for
virtualization. Linux KVM and FreeBSD's bhyve are kernel modules that
effectively convert a normal operating system into a hypervisor. In fact, it is often
possible to log into a hypervisor (e.g., using SSH keys and use it like a normal
operating system.
Virtual Machine
A virtual machine is a virtual operating system instance run under a hypervisor. A
virtual machine may run in a cloud service or may be running on a user's desktop
or some server hardware.
Generally, a virtual machine looks like just a normal computer and operating
system to anyone logging into it over a network. A virtual machine will usually
have virtual disks, virtual network interfaces, and often a virtual display.
A typical server will run up to several dozen virtual machines. Some servers may
run hundreds or even thousands of virtual machines.
Container
A container is a special kind of virtual machine that has no guest operating
system. Instead, it is a group of processes isolated from other processes on the
same host using special namespaces. In Linux, these are
called cgroups or control groups .
Virtual Network
A virtual network is a network defined inside a computer using a virtual switch
that one or more virtual machines or containers may connect to using virtual
network interfaces.
Virtualization Software
Several virtualization software packages are available for Linux and Windows: