5
Server Virtualization Technologies Tuesday, 10-January-12 By: George Petrou, Systems Engineer, Simplex Software & Internet Services Ltd. Server or machine or platform virtualization is the most widely used virtualization technique today. Server virtualization refers to “the ability to run an entire virtual machine, including its own operating system, on another operating system.” (Von Hagen, 2008). This type of virtualization has been implemented on all types of CPU architectures and platforms as well as on all of the major Operating Systems including Windows, Linux, Mac OS X and Solaris. Server virtualization has been implemented in many ways but generally these can grouped into four main categories: Full Virtualization Paravirtualization Operating System (OS) level Virtualization Native Virtualization. Full Virtualization Full Virtualization is a technique that provides entire simulation of the underlying hardware. Certain protected instructions must be trapped and handled by the VMM (Virtual Machine Monitor) because the guest OS believes that it owns the hardware but in fact the hardware is shared through the VMM. To overcome this, binary translation is employed which translates the kernel code so that instructions that cannot be virtualized are replaced with new instructions that will have the same effect on the virtual hardware (VMware, 2007b). Another technique used in Full Virtualization is direct execution, in which the user level code is executed directly on the processor so that higher performance can be achieved. This approach is shown in Figure 1. A result of this approach is the Guest OS is fully abstracted from the underlying hardware by the virtualization layer, therefore the Guest OS does not know that it is being virtualized and thus, it does not need any modifications (Figure 1). Full virtualization is the only out of the server virtualization techniques that does not require hardware or operating system assistance because the VMM translates all the instructions and it allows the user level applications to run unmodified at native speed. (VMware, 2007b)

vertualization

Embed Size (px)

Citation preview

Page 1: vertualization

Server Virtualization Technologies Tuesday, 10-January-12By: George Petrou, Systems Engineer, Simplex Software & Internet Services Ltd.

Server or machine or platform virtualization is the most widely used virtualizationtechnique today. Server virtualization refers to “the ability to run an entire virtualmachine, including its own operating system, on another operating system.” (Von Hagen,2008). This type of virtualization has been implemented on all types of CPU architecturesand platforms as well as on all of the major Operating Systems including Windows, Linux,Mac OS X and Solaris. Server virtualization has been implemented in many ways butgenerally these can grouped into four main categories:

Full Virtualization●

Paravirtualization●

Operating System (OS) level Virtualization●

Native Virtualization.●

Full VirtualizationFull Virtualization is a technique that provides entire simulation of the underlyinghardware. Certain protected instructions must be trapped and handled by the VMM(Virtual Machine Monitor) because the guest OS believes that it owns the hardware butin fact the hardware is shared through the VMM. To overcome this, binary translation isemployed which translates the kernel code so that instructions that cannot be virtualizedare replaced with new instructions that will have the same effect on the virtual hardware(VMware, 2007b). Another technique used in Full Virtualization is direct execution, inwhich the user level code is executed directly on the processor so that higherperformance can be achieved. This approach is shown in Figure 1.

A result of this approach is the Guest OS is fully abstracted from the underlyinghardware by the virtualization layer, therefore the Guest OS does not know that it isbeing virtualized and thus, it does not need any modifications (Figure 1). Fullvirtualization is the only out of the server virtualization techniques that does not requirehardware or operating system assistance because the VMM translates all the instructionsand it allows the user level applications to run unmodified at native speed. (VMware,2007b)

Page 2: vertualization

Advantages

Full virtualization provides complete isolation of the virtual machines●

Operating systems can be installed without any modification●

Provides near-native CPU and memory performance●

It offers flexibility because many different operating systems and versions●

from different vendors can be installed and run.Because the guest OS remains unmodified, migration and portability is very●

easy.

Disadvantages

Requires the correct combination of hardware and software elements●

Performance can be affected because of the trap-and-emulate techniques of●

x86 protected instructions.

Paravirtualization

Paravirtualization is the virtualization technique in which the guest OS is modified sothat it can communicate with the hypervisor (VMM). In paravirtualization the kernel ofthe OS is modified to replace instructions that cannot be virtualised with hypercalls thatcan communicate directly with the virtualization layer hypervisor (VMware, 2007b). Thehypervisor also provides hypercall interfaces for other critical kernel operations such asmemory management and interrupt handling. In this technique some but not all of theunderlying hardware are simulated.

The guest OS in paravirtualization knows that it is being virtualised in contrast to fullvirtualization and therefore it achieves greater performance than full virtualizationbecause the guest OS communicates directly with the hypervisor so overheads neededfor emulation are reduced. Figure 2 shows how paravirtualization is implemented for thex86 architecture.

Advantages

Easier to implement than full virtualization where no hardware assistance●

is available.Greater performance because overheads from emulation are reduced.●

Page 3: vertualization

Disadvantages

Modification required for the guest OS●

The modification of the guest OS results in poor portability and●

compatibility.

Operating System Level Virtualization

In Operating System level Virtualization, an operating system environment is presentedwhich can be fully or partially isolated from the host operating system. This type ofvirtualization can be either part of the operating system such as the Solaris containers orit can be installed on top of an operating system. What differentiates this technique somuch from the other approaches is the fact that all virtual machines share a single copyof the operating system kernel.

This approach is based on the chroot concept of the Unix-based operating systems.During the boot process, the system kernel can use the chroot mechanism to mount adifferent filesystem as its final root filesystem. This approach takes this concept a stepfurther by allowing the system to start virtual servers with their own processes that areexecuted based on their own root filesystems. Each virtual machine is confined within itsown root filesystem and does not have access outside of that filesystem. Figure 3illustrates the concept of Operating System level Virtualization.

Advantages

Because a single instance of an operating system is shared between the●

virtual machines, operating system virtualization is lighter so a biggernumber of virtual servers can be hosted on the same machine.Administration is easier because once the host machine is patched all the●

virtual machines get patched as well.Great compatibility because if the host OS is supported then all the virtual●

machines are supported. Any device used on the host can be used on thevirtual machines as well.

Disadvantages

A kernel or driver problem can bring down all the virtual machines.●

No support for mixed OS. Windows cannot be run simultaneously with●

Page 4: vertualization

Linux.Virtual machines are not as isolated or secure as with the other approaches.●

Identifying the sources of high resource loads can be very difficult.●

Limiting the resource consumption per guest can be very difficult.●

Native Virtualization

Native Virtualization can be called hardware-assisted virtualization or hybridvirtualization. This approach is very similar to full virtualization and paravirtualization inthe aspect that it uses a hypervisor but it can only be used on systems that providehardware support for virtualization. Virtual machines in native virtualization can rununmodified guest operating systems because the hypervisor can use the hardware'ssupport for virtualization to handle all the privileged and protected operations as well asthe hardware access requests. This technique is called hybrid sometimes because itbasically is a combination of full virtualization and paravirtualization that uses I/Oacceleration techniques.

This is the newest approach of all the virtualization techniques because hardwaresupport for virtualization was not available until 2007 when Intel and AMD released theirlatest generation of CPUs called Intel VT and AMD-V respectively.

Conclusion - Significance of Hardware Assistance

Virtualization has been dramatically improved following the introduction of newgeneration of processors from Intel and AMD. These processors allow the guest OS tohave direct access to the hardware without sharing the control of it. Without thisassistance the hypervisor had to emulate the hardware to the guest OS while keeping incontrol of the hardware. With the introduction of these technologies no emulation isneeded nor modification of the guest OS. As a result, compatibility, portability andperformance have been dramatically improved taking virtualization to a new era andallowing even small organizations to consolidate their infrastructure, lower their IT costsand achieve higher levels of availability.

ReferencesVMware (2007b). Understanding Full Virtualization, Paravirtualization, and Hardware●

Assist. Retrieved March 01, 2009, fromwww.vmware.com/files/pdf/VMware_paravirtualization.pdf.Von Hagen, W. (2008). Professional Xen Virtualization. Indianapolis: Wiley Publishing,●

Inc.

About SimplexSimplex is a Cyprus-based company operating in the area of ICT (Information andCommunication Technologies). Among others, Simplex is a Cyprus VMWare ProfessionalPartner and specializes in establishing virtual infrastructures that help organizationsreduce hardware costs, increase energy efficiency and in general, lower IT Total Cost ofOwnership (TCO) while at the same time increasing availability.

More information is available at www.simplex.com.cy

Page 5: vertualization

About the authorGeorge Petrou is a Systems Engineer in Simplex, Cyprus. He has experience ininstallation, configuration and management of new server systems and networks. He hasdemonstrated extensive interest in virtualization techniques since being a universitystudent and has been involved in the implementation of virtualized infrastructures for anumber of enterprises in Cyprus from various industries, including finance, legal andenergy.