AD

Please take a moment and help support this site by visiting our AD. Thank you for your support.

Thursday, May 05, 2011

What is Virtualization ?


Virtualization within the IT environment helps you make more efficient use of existing software and hardware resources. You can use popular virtualization software to create VMs (virtual machines) that share hardware resources while functioning as completely separate entities on a network.
There are several key benefits to using server consolidation and virtualization analysis solutions, including operational efficiency, better resource allocation, and enhanced security. You'll learn more about these and other business advantages of virtualization





Virtualization technology has evolved and can now apply to multiple layers within the datacenter. This is why it is important to fully understand which types of virtualization are available. In a dynamic datacenter—one that takes full advantage of the value propositions of virtualization—there will be at least seven layers of virtualization


A virtualized infrastructure can benefit companies and organizations of all sizes. Virtualization greatly simplifies a physical IT infrastructure to provide greater centralized management over your technology assets and better flexibility over the allocation of your computing resources. This enables your business to focus resources when and where they're needed most, without the limitations imposed by the traditional "one computer per box" model.


What does it all mean? In the computing realm, the term virtualization refers to presenting a single physical resource as many individual logical resources (such as platform virtualization), as well as making many physical resources appear to function as a singular logical unit (such as resource virtualization). A virtualized environment may include servers and storage units, network connectivity and appliances, virtualization software, management software, and user applications.
What's a virtualized server? Basically, a virtual server, or VM, is an instance of some operating system platform running on any given configuration of server hardware, centrally managed by a virtual machine manager, or hypervisor, and consolidated management tools. Note:
A single instance may operate in isolation or share resources with several other instances of the same (or separate) server platforms.  





The software providing the virtualization is called the VMM (virtual machine monitor) or hypervisor. A hypervisor can run on bare hardware (native VM) or on top of an operating system (hosted VM).


VMware, Citrix and Microsoft provide a few of the most popular virtualization software products, although open source solutions are also available.
What are the primary benefits of using virtualization software? Virtualization software enables you to create VMs that share hardware resources and transparently function as individual entities on the network. Consolidating servers as VMs on a small number of physical computers can save money on hardware costs and make centralized server management easier.


Server virtualization also makes backup and disaster recovery simpler and faster, providing for a high level of business continuity. In addition, virtual environments are ideal for testing new operating systems, service packs, applications, and configurations before rolling them out on a production network.







Types of Virtualization




Currently, most of the activity in the virtualization world focuses on server virtualization —– the data centers or server farms. The three main types of server virtualization are:
  • Operating system virtualization (aka containers): Creates self-contained representations of underlying operating system in order to provide applications in isolated execution environments. Each self-contained environment (container) reflects the underlying operating system version and patch level.
  • Hardware emulation: Represents a computer hardware environment in software so that multiple operating systems can be installed on a single computer.
  • Paravirtualization: A thin software layer that coordinates access from multiple operating systems to underlying hardware.


Server virtualization
There are three main types of server virtualization: operating system virtualization; hardware emulation; and paravirtualization, a relatively new concept designed to deliver a lighter weight (in terms of application size), higher performance approach to virtualization.

Operating system virtualization
Operating system (OS) virtualization (sometimes called containers) runs on top of an existing host operating system and provides a set of libraries that applications interact with, giving an application the illusion that it is (or they are, if there are multiple applications) running on a machine dedicated to its use. The key thing to understand is that, from the application’s execution perspective, it sees and interacts only with those applications running within its virtual OS, and interacts with its virtual OS as though it has sole control of the resources of the virtual OS. Crucially, it can’t see the applications or the OS resources located in another virtual OS. This approach to virtualization is extremely useful if you want to offer a similar set of operating system functionalities to a number of different user populations while using only a single machine. This is an ideal approach for Web hosting companies: They use container virtualization to allow a hosted Web site to “believe” it has complete control of a machine, while in fact each hosted Web site shares the machine with many other Web sites, each of which is provided its own container. Operating system virtualization imposes little overhead for the virtualization capability; thereby ensuring most of the machine’s resources are available to the applications running in the containers. There are some limitations to operating system virtualization, though. First and foremost, this approach typically limits operating system choice. Containerization usually means that the containers offer the same operating system as the host OS and even be consistent in terms of version number and patch level. As you can imagine, this can cause problems if you want to run different applications in the containers, since applications are often certified for only a certain OS version and patch level. Consequently, operating system virtualization is best suited for homogenous configurations — for those arrangements operating system virtualization is an excellent choice. Companies offering operating system virtualization include Sun (as part of their Solaris! operating system) and SWSoft, which offers the commercial product Virtuozzo as well as sponsoring the open source operating system virtualization project called OpenVZ.


Hardware emulation

In hardware emulation, the virtualization software (usually referred to as a hypervisor) presents an emulated hardware environment that guest operating systems operate upon. This emulated hardware environment is typically referred to as a virtual machine monitor or VMM. The VMM provides a standardized hardware environment that the guest OS resides on and interacts with. Because the guest OS and the VMM form a consistent package, that package can be migrated from one machine to another, even though the physical machines the packages run upon may differ. The hypervisor, which resides between the VMM and the physical hardware, translates the calls from the VMM to the specific resources of the physical machine. This approach to virtualization means that applications run in a truly isolated guest OS, with one or more guest OSs running, one per VMM. The VMMs all reside on the virtualization hypervisor. Not only does this approach support multiple OSs, it can support dissimilar OSs, differing in minor ways (for example, version and patch level) or in major ways (for example, completely different OSs like Windows and Linux can be run simultaneously in hardware emulation virtualization software).

Common applications for hardware emulation are software development and quality assurance, because it allows a number of different OSs to be run simultaneously, thereby facilitating parallel development or testing of software in a number of different operating system environments. Hardware emulation is also used in server consolidation, where a number of operating system/application environments are moved from separate physical servers to a single physical server running virtualization software. There are a couple of drawbacks to hardware emulation, however. One is that the virtualization software hurts performance, which is to say that applications often run somewhat slower on virtualized systems than if they were run on unvirtualized systems. Another drawback to hardware emulation is that the virtualization software presents a standardized hardware interface (the VMM) to the guest operating system. The hypervisor provides an interface to the VMM and then translates that into calls to the actual physical resources on the machine. This means that the hypervisor must contain the interfaces to the resources of the machine; these resources are referred to as device drivers. If you’ve ever installed new hardware in a PC, you know that you often have to install a device driver into the operating system so that the new hardware and the operating system can communicate.

The device driver issue for hardware emulation is that the hypervisor contains the device drivers and there is no way for new device drivers to be installed by users (unlike on your typical PC). Consequently, if a machine has hardware resources the hypervisor has no driver for, the virtualization software can’t be run on that machine. This can cause problems, especially for organizations that want to take advantage of new hardware developments.

Companies offering hardware emulation virtualization software include VMware (in two versions, VMware Server and ESX Server) and Microsoft, which offers a product called Virtual Server. VMware supports x86 servers only, with an emphasis on the Microsoft OS. Microsoft’s Virtual Server is
anticipated to be replaced by Hyper-V, which is included as a component of Microsoft Windows Server 2008. Another possibility is Xen, a hypervisor-based open source alternative.

Paravirtualization

Paravirtualization is the name for another approach to server virtualization. In this approach, rather than emulate a complete hardware environment, the virtualization software is a thin layer that multiplexes access by guest operating systems to the underlying physical machine resources. here are two advantages to this approach. First, it imposes less performance overhead because it is a very small amount of code. Hardware emulation, you’ll recall, inserts an entire hardware emulation layer between the guest operating system and the physical hardware. By contrast, paravirtualization’s thin software layer acts more like a traffic cop, allowing one guest OS access to the physical resources of the hardware while stopping all other guest OSs from accessing the same resources at the same time

The second advantage of the paravirtualization approach compared to hardware emulation is that paravirtualization does not limit you to the device drivers contained in the virtualization software; in fact, paravirtualization does not include any device drivers at all. Instead, it uses the device drivers contained in one of the guest operating systems, referred to as the privileged guest. Without going into too much detail about this architecture here, suffice it to say that this is a benefit, since it enables organizations to take advantage of all the capabilities of the hardware in the server, rather than being limited to hardware for which drivers are available in the virtualization software as in hardware mulation
virtualization.
It might seem that paravirtualization would be the way to go. However, there has been one significant drawback to this approach to virtualization: Because it is lightweight and multiplexes access to the underlying hardware, paravirtualization requires that the guest operating systems be modified in order to interact with the paravirtualization interfaces. This can only be accomplished by having access to the source code of the guest operating system. This access is possible for open source operating systems like Solaris and Linux, and is only possible for Microsoft operating systems with Microsoft source code access. The good news is that Quad- Core AMD Opteron! processors featured within Sun x64 systems provide functionality that enables unmodified operating systems to be hosted by a paravirtualized hypervisor. Consequently, this drawback to paravirtualization will diminish as servers with these new chips take their place in production infrastructures. One example of paravirtualization is a relatively new open source product called Xen, which is sponsored by a commercial company called XenSource. Xen is included in the recent Linux distributions from Red Hat and Novell, as well as being available for many community Linux distributions like Debian and Ubuntu. XenSource itself sells Xen-based products as well. Another possibility is Virtual Iron, a Xen-based solution.


Storage virtualization

The amount of data organizations are creating and storing is exploding. Due to the increasing shift of business processes to Web-based digital applications, every company is being inundated with data. This explosion of data is causing problems for many of them. First, from a sheer storage capacity, many applications generate more data than can be stored physically on a single server. Second, many applications, particularly Internet-based ones, have multiple machines that need to access the same data. Having all of the data sitting on one machine can create a bottleneck, not to mention presenting risk from the situation where many machines might be made inoperable if a single machine containing all the application’s data crashes. Finally, the explosion of machines mentioned earlier in the chapter causes backup problems; in other words, trying to create safe copies of data is a Herculean task when there are hundreds or even thousands of machines that need data backup.

For these reasons, data has moved into virtualization as well. Companies use centralized storage (virtualized storage) as a way of avoiding data access problems. Furthermore, moving to centralized data storage can help IT organizations reduce costs and improve data management efficiency.




Server Virtualization (SerV) is focused on partitioning a physical instance of an operating system into a virtual instance or virtual machine. True server virtualization products will let you virtualize any x86 or x64 operating system, such as Windows, Linux, and some forms of UNIX. There are two aspects of server virtualization:

Software Virtualization (SoftV) runs the virtualized operating system on top of a software virtualization platform running on an existing operating system.

Hardware Virtualization (HardV) runs the virtualized operating system on top of a software platform running directly on top of the hardware without an existing operating system. The engine used to run hardware virtualization is usually referred to as a hypervisor. The purpose of this engine is to expose hardware resources to the virtualized operating systems.

When working with server virtualization, the physical server becomes a host for all of the virtual operating systems or virtual machines (VMs), which become workloads running on top of this host.

Storage Virtualization (StoreV) is used to merge physical storage from multiple devices so that they appear as one single storage pool. The storage in this pool can take several forms: direct attached storage (DAS), network attached storage (NAS), or storage area networks (SANs); and it can be linked to through several protocols: Fibre Channel, Internet SCSI (iSCSI), Fibre Channel on Ethernet, or even the Network File System (NFS). Though storage virtualization is not a requirement for server virtualization, one of the key strengths you will be able to obtain from storage virtualization is the ability to rely on thin provisioning or the assignation of a logical unit (LUN) of storage of a given size, but provisioning it only on an as-needed basis. For example, if you create a LUN of 100 gigabytes (GB) and you are only using 12GB, only 12GB of actual storage is provisioned. This significantly reduces the cost of storage since you only pay as you go .

Network Virtualization (NetV) lets you control available bandwidth by splitting it into independent channels that can be assigned to specific resources. For example, the simplest form of network virtualization is the virtual local area network (VLAN), which creates a logical segregation of a physical network. In addition, server virtualization products support the creation of virtual network layers within the product itself. For example, using this virtual network layer would let you place a perimeter network on the same host as other production virtual workloads without impacting either of the networks or letting the virtual machines access each other.

Management Virtualization (ManageV) is focused on the technologies that manage the entire datacenter, both physical and virtual, to present one single unified infrastructure for the provision of services. ManageV is not necessarily performed through a single interface. For example, in large datacenters, you will want to divide different service deliveries into layers and separate operations between them. In smaller datacenters, you may not have the staff to divide the responsibilities, but you should at least ensure that administrators wear different “hats” when they work with the various layers of your architecture. In fact, you should make sure that two key layers are segregated at all times:

Resource Pools (RP), which includes the collection of hardware resources—host servers, racks, enclosures, storage, and network hardware that makes up the datacenter infrastructure

Virtual Services Offerings (VSO), or workloads that are made up of the virtual machines—servers and/or desktops—that are client-facing and offer services to end users One key factor in this segregation is the creation of different security contexts between resource pools and VSOs. Since your administrative teams are not the same and do not have the same responsibilities—resource pool administrators must ensure that proper resources are available for VSOs, and VSO administrators must ensure that proper services are delivered to end users—you limit the possibility of contamination from the virtual to the physical world by using completely different security contexts between the two.

For example, your physical layer should use strong passwords and ensure that all communications between management consoles and physical hosts are encrypted at all times because passwords are communicated over these links. Your virtual layer should also use these principles, but in addition, it will provide a security context for users that will not rely on such stringent policies. In some instances, the segregation of physical and virtual layers is performed automatically. This occurs when you run a Windows infrastructure in the VSO but use a non-Windows hypervisor in the resource pool. If you use the same OS at both layers, make sure you consciously create separate security contexts between the two.

Desktop Virtualization (DeskV) allows you to rely on virtual machines to provision desktop systems. Desktop virtualization has several advantages, the least of which is the ability to centralize desktop deployments and reduce distributed management costs because users access centralized desktops through a variety of thin or unmanaged devices.

Presentation Virtualization (PresentV), until recently called Terminal Services, provides only the presentation layer from a central location to users. While the need for PresentV is diminishing because of the introduction of technologies such as Application Virtualization, the protocols used for PresentV are at the forefront of both DeskV and SerV technologies since they are the protocolsused to access, use, and manage virtual workloads.

Application Virtualization (AppV) uses the same principles as softwarebased SerV, but instead of providing an engine to run an entire operating system, AppV decouples productivity applications from the operating system. AppV transforms the distributed application management model because you only need to virtualize an application once. From then on, the application virtualization engine will make the virtualized application run on any version of Windows. What’s even better is that products such as Acresso Software’s AdminStudio (www.acresso.com/products/licensing/adminstudio.htm) will take all of the applications you have already packaged to run with the Windows Installer Service in MSI format and convert them to AppV formats overnight in a batch process. AdinStudio supports both the Citrix and the VMware AppV formats. Transform your applications into AppV format, and you’ll never have to touch them again! Work is also being done by major AppV vendors such as Microsoft, Citrix, InstallFree, Symantec, and VMware to apply AppV to server applications. While AppV only works on the 32-bit platform right now, work is also being done to make it work on 64-bit or x64 platforms. Both server-based AppV and x64 AppV may be available by the time this book gets into print.

While there are seven layers of virtualization, there are other key terms that make up
the language of virtualization in the datacenter. These include:

Host server The physical server running virtual machine workloads.

Guest operation system A virtualized operating system running as a workload on a host server.

Resource Pool The collection of hardware resources, including host servers that make up the datacenter infrastructure.
Virtual Service Offerings The virtual machines that are client-facing and offer services to end users. They are also often referred to as virtual workloads.
Virtual Appliances (VAPs) Pre-packaged VSOs that run a specific application or workload.

Policy-based workloads VSOs that are powered up on an as-needed basis through automated policies.
Operating system virtualization Often misconstrued as guest OS virtualization, this is nothing more than OS partitioning because it can only run one single OS type in parallel instances. The value of this type of “virtualization” is limited because you must have a need to run the particular OS. Products of this type include Solaris Containers and Parallels Virtuozzo Containers, which runs the Virtuozzo OS—a version of Linux—in parallel.

Now that you understand most of the key terms, let’s delve into what each of the three core virtualization technologies—SerV, DeskV, and AppV—can bring to the datacenter.






Server Virtualization Provider

Guest OS virtualization vendors abound, but three main vendors

Citrix offers a host of different virtualization technologies (www.citrix.com/xenserver ) and is aiming to expand its offerings into all of the virtualization realms. XenServer comes in four flavors. Express Edition is a free starter version of the product. Standard Edition is the basic version, which supports two VSOs at once. Enterprise adds the ability to pool hardware resources and run unlimited VSOs. Platinum Edition adds dynamic provisioning of both hosts and VSOs. Citrix offers an original equipment manufacturer (OEM) version of their hypervisor, which comes built into server hardware. Citrix also offers XenDesktop for DeskV and XenApps for AppV.

Microsoft offers a host of virtualization technologies in each of the virtualization realms, with additional products in the pipeline (www.microsoft.com/virtualization ). Microsoft currently offers Virtual Server 2005 R2 SP1 and Virtual PC 2007, which are both free but are SoftV products. Its enterprise-class hypervisor, Hyper-V, is part of the Windows Server 2008 OS and will only run on x64 hardware. Microsoft also offers Microsoft Application Virtualization for AppV, Terminal Services for PresentV, and has made some acquisitions to get into DeskV.

VMware offers the most mature products, with a full range of server and desktop virtualization tools (http://www.vmware.com/ ). It offers VMware Server, which is another free SoftV product; VMware Workstation; and Virtual Infrastructure, which is a complete platform based on its ESX Server hypervisor. VMware was the first to offer a hypervisor baked into the server hardware with ESXi and to make it a free add-on to a host server. VMware also offers the Virtual Desktop Infrastructure (VDI) for DeskV and ThinApp for AppV.










Benefits to server virtualization

Server virtualization is the concept of treating a physical server as multiple logical servers. How does that help? Let’s have a look.
Virtual servers reduce your costs. Virtualization causes you to buy less hardware thereby saving you money. Also the operating costs are reduced with virtualization.
Virtualization makes the servers stable and reduces downtimes considerably thereby making servers and the websites hosted on them available at all times. It ensures high availability and delivers prompt disaster recovery thereby offering you business continuity.
Virtualization of servers lets you utilize the resources to the fullest. With automation and better utilization of available resources, virtualization increases the efficiency of the server.
In virtualization, a physical server is partitioned into multiple logicals and these logicals are independent of one another. As they don’t interfere with others, they promise increased security. This is the reason virtual private servers are often used as sandboxes or honeypots.
Another benefit of server virtualization is that it helps save space in your data centers as the number of physical servers is much less than the number of servers that are being used.

If your business depends on multiple server applications, and you are looking for ways to cut costs while improving efficiency, then server virtualization is the way to go. Through server virtualization, multiple server applications (10 is about average) can be consolidated onto one physical server. Each virtual server is then isolated from the physical system via virtual processors, interrupts and devices.The benefits of server virtualization are many. Firstly, you can maximize your current hardware and software capabilities while preserving integrity of the entire system. Since each virtual machine is a separate entity, if one application crashes, there will be no impact to the other applications running on that same physical server.
Another major benefit to server virtualization is the impact it will have on your efficiency. Management tasks can be automated and controlled from a single point. Maintenance also becomes easier as virtual machines have the ability to be shut down, transferred across the network to a new physical server and accessed instantly.
Server virtualization also brings about significant savings. Not only do you save on physical floor space and having to buy a lot of hardware, but you also save money on maintenance, energy, and installation.


The first one is certainly at the deployment level. A virtual machine can often be built and customized in less than 20 minutes. You can deliver a virtual machine that is ready to work right away in considerably less time than with a physical machine. But you will have to be careful not to introduce VM proliferation into your infrastructure. You need to continue to control machine requests, whether they are physical or virtual. You don’t want to end up with a whole series of virtual machines just because you can create them easily.

Another benefit is virtual machine mobility. You can move a VM from one host to another at any time. In some cases, you can move it while it is running. This is a great advantage and will help reduce downtime in your network.

Virtual machines are just easy to use. Once it is built and configured, you just start the machine and it is immediately ready to deliver services to users.

Virtual machines support standard configurations. You can control the way VMs are built: Just create a standard VM and copy the source files for this VM each time you need a new machine. This way, you will always have standard configurations for any VM.

Virtual machines also support the concept of volatile services. If a tester or developer needs a virtual machine to perform a given series of tests, you can fire up a new VM, provide it to them in minutes, and then, when they are done with it, you simply delete it. Try doing that with a physical machine!
VMs can be certified by the virtualization vendor, ensuring you are using the best of their technology’s capabilities with your VMs.

VMs are also secure because they can be completely isolated at any time; just cut off their communications through the host’s virtualization technology.

VMs can be scaled out or scaled up. To scale out, simply create more VMs with the same services. To scale up, shut down the VM and assign more resources, such as RAM, processor cores, disks, and NICs to it.

VMs are also ideal for disaster recovery, since all you need to do is copy their files to another location, either within your datacenter or to another site entirely. Because of these core benefits, it is difficult to imagine why anyone would not want to use server virtualization. Server virtualization lets you map computing resources to business requirements in a one-to-one relationship. It allows you to lower IT costs through increased efficiency and resource allocation. You can provision the resources you require on an as-needed basis. Virtualization lets you treat your datacenter as a single pool of resources, blending server hardware with all of the other hardware in the datacenter With server virtualization, you can turn all end-user service offerings into virtual workloads and turn all hardware resources into resource pools, creating a new datacenter, one that divides all workloads into virtual and physical representations.

1 comment:

  1. Thanks for the above tutorial . You did a good job. You explained all the details. It helps in my seminar. I will discuss your tutorial with my group also. You explained the features, benefits, types in so well way.
    digital certificates

    ReplyDelete