Virtualization is not new. IBM first introduced virtual machine technology for mainframe computers in the early 1960s. Microsoft Windows NT included a virtual DOS machine. Virtual PC was introduced by Connectix in 1997 (Microsoft acquired Connectix in 2003). EMC’s VMware introduced its first product, VMware Workstation, in 1999. Softricity introduced SoftGrid, the first application virtualization product, in 2001 (Microsoft acquired Softricity in 2006).
Server virtualization is the masking of server resources, including the number and identity of individual physical servers, processors, and operating systems, from server users. The server administrator uses a software application to divide one physical server into multiple isolated virtual environments. The virtual environments are sometimes called virtual private servers, but they are also known as partitions, guests, instances, containers or emulations.
There are different types of virtualization. Machine virtualization uses software to create a virtual machine that emulates the services and capabilities of the underlying hardware. This makes it possible to run more than one operating system on a single machine. On servers, this approach is called server virtualization; on end-user PCs, it is called desktop virtualization.
There are three popular approaches to server Virtualization
The Virtual Machine Model:
Virtual machines are based on the host/guest paradigm. Each guest runs on a virtual imitation of the hardware layer. This approach allows the guest operating system to run without modifications. It also allows the administrator to create guests that use different operating systems. The guest has no knowledge of the host's operating system because it is not aware that it's not running on real hardware. It does, however, require real computing resources from the host -- so it uses a hypervisor to coordinate instructions to the CPU. The hypervisor is called a virtual machine monitor (VMM). It validates all the guest-issued CPU instructions and manages any executed code that requires addition privileges. VMware and Microsoft Virtual Server both use the virtual machine model.
The paravirtual machine model:
The paravirtual machine (PVM) model is also based on the host/guest paradigm -- and it uses a virtual machine monitor too. In the paravirtual machine model, however, The VMM actually modifies the guest operating system's code. This modification is called porting. Porting supports the VMM so it can utilize privileged systems calls sparingly. Like virtual machines, paravirtual machines are capable of running multiple operating systems. Xen and UML both use the paravirtual machine model.
The virtualization at the Operating System Layer:
Virtualization at the OS level works a little differently. It isn't based on the host/guest paradigm. In the OS level model, the host runs a single OS kernel as its core and exports operating system functionality to each of the guests. Guests must use the same operating system as the host, although different distributions of the same system are allowed. This distributed architecture eliminates system calls between layers, which reduces CPU usage overhead. It also requires that each partition remain strictly isolated from its neighbors so that a failure or security breach in one partition isn't able to affect any of the other partitions. In this model, common binaries and libraries on the same physical machine can be shared, allowing an OS level virtual server to host thousands of guests at the same time. Virtuozzo and Solaris Zones both use OS-level virtualization.
No comments:
Post a Comment