Putting Virtualization to Use Understanding Virtualization by Implementation By: Thomas Kay Introduction Virtualization is a proven software technology that is rapidly transforming the IT landscape and fundamentally changing the way that people compute. Today’s powerful x86 computer hardware was designed to run a single operating system and a single application. This leaves most machines vastly underutilized. Virtualization lets you run multiple virtual machines on a single physical machine, sharing the resources of that single computer across multiple environments.
Different virtual machines can run different operating systems and multiple applications on the same physical computer. (Virtualization Basics) Virtualization is a framework or methodology of dividing the resources of a computer into multiple execution environments, by applying one or more concepts or technologies such as hardware and software partitioning, time-sharing, partial or complete machine simulation, emulation, quality of service, and many others. (An Introduction to Virtualization)
Figure [ 1 ] Virtualization is technology for supporting execution of computer program code, from applications to entire operating systems, in a software-controlled environment. Such a Virtual Machine (VM) environment abstracts available system resources (memory, storage, CPU core(s), I/O, etc. ) and presents them in a regular fashion, such that “guest” software cannot distinguish VM-based execution from running on bare physical hardware. (Open Kernel Labs: What is Virtualization? Virtualization commonly refers to native virtualization, where the VM platform and the guest software target the same microprocessor instruction set and comparable system architectures. Virtualization can also involve execution of guest software cross-compiled for a different instruction set or CPU architecture; such emulation or simulation environments help developers bring up new processors and cross-debug embedded hardware. (Open Kernel Labs: What is Virtualization? A virtual machine provides a software environment that allows software to run on bare hardware. This environment is created by a virtual-machine monitor, also known as a hypervisor. A hypervisor, also called virtual machine monitor (VMM), is computer software/hardware platform virtualization software that allows multiple operating systems to run on a host computer concurrently. A virtual machine is an efficient, isolated duplicate of the real machine. The hypervisor presents an interface that looks like hardware to the “guest” operating system. An Introduction to Virtualization) Virtualization is also a method of partitioning one physical server computer into multiple “virtual” server, giving each the appearance and capabilities of running on its own dedicated machine. Each virtual server functions a s a full-fledged server and can be independently rebooted. How does virtualization function? Use software to transform or “virtualize” the hardware resources of an x86-based computer—including the CPU, RAM, hard disk and network controller—to create a fully functional virtual machine that can run its own operating system and applications just like a “real” computer.
Each virtual machine contains a complete system, eliminating potential conflicts. Virtualization works by inserting a thin layer of software directly on the computer hardware or on a host operating system. This contains a virtual machine monitor or “hypervisor” that allocates hardware resources dynamically and transparently. Multiple operating systems run concurrently on a single physical computer and share hardware resources with each other.
By encapsulating an entire machine, including CPU, memory, operating system, and network devices, a virtual machine is completely compatible with all standard x86 operating systems, applications, and device drivers. You can safely run several operating systems and applications at the same time on a single computer, with each having access to the resources it needs when it needs them. What is a virtual machine? A virtual machine is a tightly isolated software container that can run its own operating systems and applications as if it were a physical computer.
A virtual machine behaves exactly like a physical computer and contains it own virtual (ie, software-based) CPU, RAM hard disk and network interface card (NIC). (Virtualization Basics) An operating system can’t tell the difference between a virtual machine and a physical machine, nor can applications or other computers on a network. Even the virtual machine thinks it is a “real” computer. Nevertheless, a virtual machine is composed entirely of software and contains no hardware components whatsoever. As a result, virtual machines offer a number of distinct advantages over physical hardware. Virtualization Basics) Virtualization: Virtual Machine Benefits Just like a physical computer, a virtual machine hosts its own guest operating system and applications, and has all the components found in a physical computer (motherboard, VGA card, network card controller, etc). As a result, virtual machines are completely compatible with all standard x86 operating systems, applications and device drivers, so you can use a virtual machine to run all the same software that you would run on a physical x86 computer.
While virtual machines can share the physical resources of a single computer, they remain completely isolated from each other as if they were separate physical machines. If, for example, there are four virtual machines on a single physical server and one of the virtual machines crashes, the other three virtual machines remain available. Isolation is an important reason why the availability and security of applications running in a virtual environment is far superior to applications running in a traditional, non-virtualized system.
A virtual machine is essentially a software container that bundles or “encapsulates” a complete set of virtual hardware resources, as well as an operating system and all its applications, inside a software package. Encapsulation makes virtual machines incredibly portable and easy to manage. For example, you can move and copy a virtual machine from one location to another just like any other software file, or save a virtual machine on any standard data storage medium, from a pocket-sized USB flash memory card to an enterprise storage area networks (SANs). Virtual machines are completely independent from their underlying physical hardware.
For example, you can configure a virtual machine with virtual components (eg, CPU, network card, SCSI controller) that are completely different from the physical components that are present on the underlying hardware. Virtual machines on the same physical server can even run different kinds of operating systems (Windows, Linux, etc). When coupled with the properties of encapsulation and compatibility, hardware independence gives you the freedom to move a virtual machine from one type of x86 computer to another without making any changes to the device drivers, operating system, or applications.
Hardware independence also means that you can run a heterogeneous mixture of operating systems and applications on a single physical computer. (Virtualization Basics) Virtualization used on a large scale A virtual infrastructure lets you share your physical resources of multiple machines across your entire infrastructure. A virtual machine lets you share the resources of a single physical computer across multiple virtual machines for maximum efficiency. Resources are shared across multiple virtual machines and applications. Virtualization Basics) A virtual infrastructure consists of the following components: * Bare-metal hypervisors to enable full virtualization of each x86 computer. * Virtual infrastructure services such as resource management and consolidated backup to optimize available resources among virtual machines * Automation solutions that provide special capabilities to optimize a particular IT process such as provisioning or disaster recovery. Virtual Machines Virtual machines were originally defined by Popek and Goldberg as “an efficient, isolated duplicate of a real machine”.
Current use includes virtual machines which have no direct correspondence to any real hardware. (Virtual Machines) Figure [ 2 ] Mac OSX Running on VMware’s Player Virtual machines are separated into two major categories, based on their use and degree of correspondence to any real machine. A system virtual machine provides a complete system platform which supports the execution of a complete operating system (OS). In contrast, a process virtual machine is designed to run a single program, which means that it supports a single process.
An essential characteristic of a virtual machine is that the software running inside is limited to the resources and abstractions provided by the virtual machine — it cannot break out of its virtual world. Virtualization Advantages * Get more out of your existing resources: Pool common infrastructure resources and break the legacy “one application to one server” model with server consolidation. * Reduce datacenter costs by reducing your physical infrastructure and improving your server to admin ratio: Fewer servers and related IT hardware means reduced real estate and reduced power and cooling requirements.
Better management tools let you improve your server to admin ratio so personnel requirements are reduced as well. * Increase availability of hardware and applications for improved business continuity: Securely backup and migrate entire virtual environments with no interruption in service. Eliminate planned downtime and recover immediately from unplanned issues. * Gain operational flexibility: Respond to market changes with dynamic resource management, faster server provisioning and improved desktop and application deployment. Improve desktop manageability and security: Deploy, manage and monitor secure desktop environments that users can access locally or remotely, with or without a network connection, on almost any standard desktop, laptop or tablet PC. Case Study Location: Penn Stainless Products • 190 Kelly Rd. • Quakertown PA 18951 Objective: To create a virtualized infrastructure that is both “Green Friendly” and reliable Background Currently Penn Stainless Products has implemented as a so-to-speak beta – VMware’s Server edition Virtualization product on two Dell PowerEdge 1850 Servers running Novell’s OpenSuse 11. 1.
The two server’s run four virtual machines on each server. Each server has a copy of the other server’s virtual machine virtual hard drive images for redundancy. The virtual machine’s including: * Windows 2003 Server – Visnetic Mail Server – POP3 and SMTP Server * Windows 2003 Server – VPN Server with static routing enabled – very specific installation * FreeBSD – FAMPS – Apache Web Server * FreeBSD – FAMPS – Apache Web Server for Internal Hosting * Windows XP Workstation – Beta Testing of Applications * Zimbra Email Server – Beta Testing * OpenSUSE – Full Installation * Windows 2003 – Backup Domain Controller
Although this method of hosting a virtual machine for our company’s infrastructure seems extremely reliable, the problem is failover. As of right now the installation and the current running Virtualization infrastructure is a manual failover. Meaning, if a server fails, an administrator must log onto the other server and remotely start the servers that failed on the other server. Although this isn’t a hard process, it is extremely time consuming. The New Infrastructure We are currently implementing VMware’s newest product – ESXi. It is a new freeware version of their enterprise virtualization software – ESX.
ESXi offers substantial benefits to our current infrastructure. High Availability VMware ESX and ESXi delivers datacenter-class high availability for virtual machines. * Built-in storage access multipathing. Ensure shared storage availability with SAN multipathing for Fibre Channel or iSCSI SAN. * NIC teaming. Give each networked virtual machine built-in NIC failover and load balancing enabling greater hardware availability and fault tolerance. NIC teaming policies allow users to configure multiple active and standby adapters. * Support for Microsoft Clustering Services.
Cluster virtual machines running Microsoft Windows operating system across physical hosts. Key Features * Record-setting performance with up to 8,900 database transactions per second, 200,000 I/O operations per second, and up to 16,000 Exchange mailboxes on a single physical host * Up to eight-way virtual SMP (symmetric multiprocessing), enabling the virtualization of multiprocessor workloads * Memory overcommittment and deduplication, allowing higher consolidation ratios * Broadest OS support of any hypervisor, enabling IT to virtualize numerous versions of Windows®, Linux®, Solaris®, NetWare®, and other operating systems. Built-in high availability through NIC teaming and HBA multipathing to protect against hardware component failures * Up to 64 logical processing cores, 256 virtual CPUs, and 1TB RAM per host, enabling higher consolidation ratios The Equipment Qty. | Product Description| Savings| Total Price| 1 | Sony Optiarc 24X DVD/CD Rewritable Drive Black SATA Model AD-7240S-0B – OEM Item #: N82E16827118030 Return Policy: Limited Non-Refundable 30-Day Return Policy | | $26. 99 | 3| Western Digital Caviar Green WD15EADS 1. 5TB SATA 3. 0Gb/s 3. ” Internal Hard Drive – OEM Item #: N82E16822136351 Return Policy: 30 Day Return Policy | | $419. 97 | 2 | Seagate Barracuda 7200. 11 ST31500341AS 1. 5TB 7200 RPM SATA 3. 0Gb/s 3. 5″ Internal Hard Drive (bare drive) – OEM Item #: N82E16822148337 Return Policy: 30 Day Return Policy | -$10. 00 Instant | $259. 98 | 1 | Intel EXPI9402PT 10/ 100/ 1000Mbps PCI-Express PRO/1000 PT Dual Port Server Adapter – OEM Item #: N82E16833106014 Return Policy: Standard Return Policy | | $161. 99 | 1 | Athena Power BP-SATA3051B 3 x 5. 25″ Bays to 5 x 3. ” HD (SATA) Backplane – Retail Item #: N82E16817995001 Return Policy: Standard Return Policy | | $109. 99 | 1 | Athena Power BP-SAC2131B HD Backplane – Retail Item #: N82E16817995004 Return Policy: Standard Return Policy | | $70. 99 | 1 | ASUS Z8NR-D12(ASMB4-IKVM) Dual LGA 1366 Intel 5500 Tylersburg SSI EEB 3. 61 Dual Intel Xeon 5500 Series w/ Remote Management … – Retail Item #: N82E16813131372 Return Policy: 30 Day Return Policy | | $479. 99 | 1 | areca ARC-1220 PCI-Express x8 SATA II Controller Card – Retail Item #: N82E16816131004 Return Policy: 30 Day Return Policy | | $449. 9 | 1 | Athena Power RM-4U4064X60 4U Rackmount Server Case – Retail Item #: N82E16811192041 Return Policy: 30 Day Return Policy | | $149. 99 | 1 | Athena Power RM-SLIDER1U24 24″ IPC Rack Mount Sliding Rail for 1U /2U – Retail Item #: N82E16816119020 Return Policy: Standard Return Policy | | $29. 99 | 1 | Athena Power AP-RRP4ATX65 658W + 658W mini redundant Dual AC Hot-Swappable mini redundant Power Supply – OEM Item #: N82E16817104160 Return Policy: 30 Day Return Policy | -$20. 00 Instant | $369. 99 $349. 99 | 1 | CORSAIR Flash Voyager 16GB Flash Drive (USB2. 0 Portable) Model CMFUSB2. -16GB – Retail Item #: N82E16820233042 Return Policy: Limited Non-Refundable 30-Day Return Policy | -$10. 00 Instant | $49. 99 $39. 99 | 2| Crucial 6GB (3 x 2GB) 240-Pin DDR3 SDRAM DDR3 1333 (PC3 10600) ECC Unbuffered Triple Channel Kit Server Memory Model CT3KIT25672BA1339 – Retail Item #: N82E16820148259 Return Policy: Standard Return Policy | | $211. 98 | 2| Intel Xeon E5506 Nehalem 2. 13GHz LGA 1366 80W Quad-Core Server Processor Model BX80602E5506 – Retail Item #: N82E16819117186 Return Policy: Processors (CPUs) Return Policy | | $539. 98 | Subtotal:| $3,301. 81|
Two of these servers were purchased in order to create a VMware ESXi Load Balanced clustered system. With ESXi you can team two servers together to create a cluster and team between two or more servers. The one additional thing you need besides the server is a central storage unit. The central storage unit holds the VMware images for the two servers. They both run all the virtual machines and all changes to the virtual machines is stored on the central unit. If a server fails, the ESXi server infrastructure automatically recognizes the fault and fails over to the other server.
With the servers we have implemented this is not an option. However with the purchase of these two additional server, it gives us fault tolerance and load balancing at the fraction of the cost of running our virtual servers on each their own physical server. We currently are planning on only running the current eight virtual machines on the VMWare ESXi server, however we do expect to decommission a few physical servers and implement their services on a VMWare ESXi server. ESXi allows you to use the physical hardware specs for each of the virtualized instances.
Where as with running VMware Server, you are limited to what the host Operating System sees as the operational specifications. With our new servers, they are optimized for virtualization. Including the onboard USB header that is internal to the computer case. With that, we can install the ESXi software directly to a USB flash drive and leave the hard drives available for any software and virtual machines we want. Performance of the virtual machine systems is – at this point – running at their optimum performance.
We have seen very little degradation from what they were running in their physical state, and we still continue to add more virtual instances to the host server without problems. ESXi does promote one problem. ESXi requires each virtual machine to setup as a fixed hard drive size. So each virtual instance is in essence “stuck” with whatever you set their size to be. This is different then in VMware’s server edition. Server edition allows you to setup a hard drive that is able to be changed at any point.
Thus if you ever run out of space, you can simply adjust the instance with more drive space, run your favorite portioning software on the instance, and adjust the partition to the new capacity. ESXi however does offer better disk performance then the Server counterpart for this reason. With the self expandable hard drive the physical drives are being written to much more frequently and the end point of the hard drive image changes consistently. With the set hard drive size your hard drive performance is maximized due to the fixed start and end points of the drive.
Although we have went with VMware products primarily. There are plenty of other Virtualization software platforms available that offer similar and sometimes more features than that of the VMware counterpart. Other Virtualization Software Platforms VMware Workstation is a virtual machine software suite for x86 and x86-64 computers from VMware, a division of EMC Corporation. This software suite allows users to set up multiple x86 and x86-64 virtual computers and to use one or more of these virtual machines simultaneously with the hosting operating system.
Each virtual machine instance can execute its own guest operating system, such as Windows, Linux, BSD variants, or others. In simple terms, VMware Workstation allows one physical machine to run multiple operating systems simultaneously. Microsoft Virtual Server Microsoft Virtual Server is a virtualization solution that facilitates the creation of virtual machines on the Windows XP, Windows Vista and Windows Server 2003 operating systems. Originally developed by Connectix, it was acquired by Microsoft prior to release. Virtual PC is Microsoft’s related desktop virtualization software package.
Virtual machines are created and managed through an IIS web-based interface or through a Windows client application tool called VMRCplus. The current version is Microsoft Virtual Server 2005 R2 SP1. New features in R2 SP1 include Linux guest operating system support, Virtual Disk Precompactor, SMP (but not for the Guest OS), x86-64 (x64) Host OS support (but not Guest OS support), the ability to mount virtual hard drives on the host OS and additional operating systems including Windows Vista. It also provides a Volume Shadow Copy writer which enables live backups of the Guest OS on a Windows Server 2003 or Windows Server 2008 Host.
A utility to mount VHD images is also included since SP1. Officially supported Linux guest operating systems include Red Hat Enterprise Linux versions 2. 1-5. 0, Red Hat Linux 9. 0, SUSE Linux and SUSE Linux Enterprise Server versions 9 and 10. Microsoft Virtual PC Microsoft Virtual PC is a virtualization suite for Microsoft Windows operating systems, and an emulation suite for Mac OS X on PowerPC-based systems. The software was originally written by Connectix, and was subsequently acquired by Microsoft. In July 2006 Microsoft released the Windows-hosted version as a free product.
In August 2006 Microsoft announced the Macintosh-hosted version would not be ported to Intel-based Macintoshes, effectively discontinuing the product as PowerPC-based Macintoshes are no longer manufactured. Virtual PC virtualizes a standard PC and its associated hardware. Supported Windows operating systems can run inside Virtual PC. However, other operating systems like Linux may run, but are not officially supported (for example, Ubuntu, a popular Linux distribution, can get past the boot screen of the Live CD (and function fully) when using Safe Graphics Mode). VirtualBox
VirtualBox is an x86 virtualization software package, originally created by German software company innotek, now developed by Sun Microsystems as part of its Sun xVM virtualization platform. It is installed on an existing host operating system; within this application, additional operating systems, each known as a Guest OS, can be loaded and run, each with its own virtual environment. Supported host operating systems include Linux, Mac OS X, OS/2 Warp, Windows XP or Vista, and Solaris, while supported guest operating systems include FreeBSD, Linux, OpenBSD, OS/2 Warp, Windows and Solaris.
According to a 2007 survey ,Virtual Box is the third most popular software package for running Windows programs on Linux desktops. Xen Xen is a virtual machine monitor for IA-32, x86, x86-64, IA-64 and PowerPC 970 architectures. It allows several guest operating systems to be executed on the same computer hardware concurrently. Xen was initially created by the University of Cambridge Computer Laboratory and is now developed and maintained by the Xen community as free software, licensed under the GNU General Public License (GPL2).
A Xen system is structured with the Xen hypervisor as the lowest and most privileged layer. Above this layer are one or more guest operating systems, which the hypervisor schedules across the physical CPUs. The first guest operating system, called in Xen terminology “domain 0” (dom0), is booted automatically when the hypervisor boots and given special management privileges and direct access to the physical hardware. The system administrator logs into dom0 in order to start any further guest operating systems, called “domain U” (domU) in Xen terminology.
Conclusion Virtualization dramatically improves the efficiency and availability of resources and applications. Earlier Internal resources are underutilized under the old “one server, one application” model and users spend too much time managing servers rather innovating. By virtualization platform, users can respond faster and more efficiently than ever before. Users can save 50-70% on overall IT costs by consolidating their resource pools and delivering highly available machines.
Other major improvements by using virtualization are that they can: * Reduce capital costs by requiring less hardware and lowering operational costs while increasing your server to admin ratio * Ensure enterprise applications perform with the highest availability and performance * Build up business continuity through improved disaster recovery solutions and deliver high availability throughout the datacenter * Improve desktop management with faster deployment of desktops and fewer support calls due to application conflicts.
Even after the implementations of distributed computing and other technologies, virtualization proved to be an effective in using the available resources of a system fully in an efficient way. With respect to Penn Stainless Products virtualization has proven to be a major asset in our IT infrastructure. It has allowed us to grow beyond our normal limits if we required physical servers for each OS we would need to run. It has become an asset to us in both reliability and flexibility.
Virtualization is still relatively new technology, but it is making huge leaps and bounds in the IT community for “Green” technology and making infrastructures easier to grow without the normal costs. Bibliography An Introduction to Virtualization. 21 May 2009 ;http://www. kernelthread. com/publications/virtualization/;. Application Virtualization. 21 May 2009 ;http://en. wikipedia. org/wiki/Application_virtualization;. Full Virtualization. 1 May 2009 ;http://en. wikipedia. org/wiki/Full_virtualization;. Introduction to Virtualization. 21 May 2009 ;http://www. virtualization. org/Virtualization/Introduction_to_Virtuaization. html;. Open Kernel Labs: What is Virtualization? 21 May 2009 ;http://www. ok-labs. com/virtualization-and-security/what-is-virtualization;. Operating system-level virtualization. 21 May 2009 ;http://en. wikipedia. org/wiki/Operating_system-level_virtualization