Virtualization
Virtualization
Virtualization
Virtualization Overview
Table of Contents
Introduction .............................................................................................................................................. 3 Virtualization in a Nutshell ................................................................................................................... 3 Virtualization Approaches .................................................................................................................... 4 Virtualization for Server Consolidation and Containment ........................................................... 7 How Virtualization Complements New-Generation Hardware .................................................. 8 Para-virtualization ................................................................................................................................... 8 VMwares Virtualization Portfolio ........................................................................................................ 9 Glossary ..................................................................................................................................................... 10
Virtualization Overview
Introduction
Among the leading business challenges confronting CIOs and IT managers today are: cost-effective utilization of IT infrastructure; responsiveness in supporting new business initiatives; and flexibility in adapting to organizational changes. Driving an additional sense of urgency is the continued climate of IT budget constraints and more stringent regulatory requirements. Virtualization is a fundamental technological innovation that allows skilled IT managers to deploy creative solutions to such business challenges.
Virtualization in a Nutshell
Simply put, virtualization is an idea whose time has come. The term virtualization broadly describes the separation of a resource or request for a service from the underlying physical delivery of that service. With virtual memory, for example, computer software gains access to more memory than is physically installed, via the background swapping of data to disk storage. Similarly, virtualization techniques can be applied to other IT infrastructure layers - including networks, storage, laptop or server hardware, operating systems and applications. This blend of virtualization technologies - or virtual infrastructure - provides a layer of abstraction between computing, storage and networking hardware, and the applications running on it (see Figure 1). The deployment of virtual infrastructure is non-disruptive, since the user experiences are largely unchanged. However, virtual infrastructure gives administrators the advantage of managing pooled resources across the enterprise, allowing IT managers to be more responsive to dynamic organizational needs and to better leverage infrastructure investments.
Before Virtualization:
Single OS image per machine Software and hardware tightly coupled Running multiple applications on same machine often creates conflict Underutilized resources Inflexible and costly infrastructure
Figure 1: Virtualization
After Virtualization:
Hardware-independence of operating system and applications Virtual machines can be provisioned to any system Can manage OS and application as a single unit by encapsulating them into virtual machines
3
Using virtual infrastructure solutions such as those from VMware, enterprise IT managers can address challenges that include: Server Consolidation and Containment Eliminating server sprawl via deployment of systems as virtual machines (VMs) that can run safely and move transparently across shared hardware, and increase server utilization rates from 5-15% to 60-80%. Test and Development Optimization Rapidly provisioning test and development servers by reusing pre-configured systems, enhancing developer collaboration and standardizing development environments. Business Continuity Reducing the cost and complexity of business continuity (high availability and disaster recovery solutions) by encapsulating entire systems into single files that can be replicated and restored on any target server, thus minimizing downtime. Enterprise Desktop Securing unmanaged PCs, workstations and laptops without compromising end user autonomy by layering a security policy in software around desktop virtual machines.
Virtualization Approaches
While virtualization has been a part of the IT landscape for decades, it is only recently (in 1998) that VMware delivered the benefits of virtualization to industry-standard x86-based platforms, which now form the majority of desktop, laptop and server shipments. A key benefit of virtualization is the ability to run multiple operating systems on a single physical system and share the underlying hardware resources known as partitioning. Today, virtualization can apply to a range of system layers, including hardware-level virtualization, operating systemlevel virtualization, and high-level language virtual machines. Hardware-level virtualization was pioneered on IBM mainframes in the 1970s, and then more recently Unix/RISC system vendors began with hardware-based partitioning capabilities before moving on to software-based partitioning. For Unix/RISC and industry-standard x86 systems, the two approaches typically used with software-based partitioning are hosted and hypervisor architectures (See Figure 2). A hosted approach provides partitioning services on top of a standard operating system and supports the broadest range of hardware configurations. In contrast, a hypervisor architecture is the first layer of software installed on a clean x86-based system (hence it is often referred to as a bare metal approach). Since it has direct access to the hardware resources, a hypervisor is more efficient than hosted architectures, enabling greater scalability, robustness and performance.
Hosted Architecture Installs and runs as an application Relies on host OS for device support and physical resource management
Figure 2: Virtualization Architectures
Bare-Metal (Hypervisor) Architecture Lean virtualization-centric kernel Service Console for agents and helper applications
Hypervisors can be designed to be tightly coupled with operating systems or can be agnostic to operating systems. The latter approach provides customers with the capability to implement an OS-neutral management paradigm, thereby providing further rationalization of the data center. Application-level partitioning is another approach, whereby many applications share a single operating system, but this offers less isolation (and higher risk) than hardware or software partitioning, and limited support for legacy applications or heterogeneous environments. However, various partitioning techniques can be combined, albeit with increased complexity. Hence, virtualization is a broad IT initiative, of which partitioning is just one facet. Other benefits include the isolation of virtual machines and the hardware-independence that results from the virtualization process. Virtual machines are highly portable, and can be moved or copied to any industry-standard (x86based) hardware platform, regardless of the make or model. Thus, virtualization facilitates adaptive IT resource management, and greater responsiveness to changing business conditions (see Figures 3-5). To provide advantages beyond partitioning, several system resources must be virtualized and managed, including CPUs, main memory, and I/O, in addition to having an inter-partition resource management capability. While partitioning is a useful capability for IT organizations, true virtual infrastructure delivers business value well beyond that.
Hardware/Software Separation
Infrastructure is what connects resources to your business. Virtual Infrastructure is a dynamic mapping of your resources to your business. Result: decreased costs and increased efficiencies and responsiveness
Transforms farms of individual x86 servers, storage, and networking into a pool of computing resources
Figure 5: VMware Virtual Infrastructure
higher management costs. Virtual infrastructure enables more effective optimization of IT resources, through the standardization of data center elements that need to be managed. Partitioning alone does not deliver server consolidation or containment, and in turn consolidation does not equate to full virtual infrastructure management. Beyond partitioning and basic component-level resource management, a core set of systems management capabilities are required to effectively implement realistic data center solutions (see Figure 6). These management capabilities should include comprehensive system resource monitoring (of metrics such as CPU activity, disk access, memory utilization and network bandwidth), automated provisioning, high availability and workload migration support.
VM
Management and Distributed Virtualization Services
VM
VMotion Provisioning
Consolidated Backup DRS DAS
VM
VMM
Resource Management
VM
VMM
VMFS MPIO
MMU Virtualization
VMM
VMM
Virtual Networking Other Enterprise Features
VirtualCenter
Distributed Services
CPU Virtualization
I/O Virtualization
CPU
Memor y
NIC
Disk
Other Hardware
Hardware Certication
Hardware
Figure 6: Virtual Infrastructure Management
Para-virtualization
Although virtualization is rapidly becoming mainstream technology, the concept has attracted a huge amount of interest, and enhancements continue to be investigated. One of these is para-virtualization, whereby operating system compatibility is traded off against performance for certain CPU-bound applications running on systems without virtualization hardware assist (see Figure 7). The para-virtualized model offers potential performance benefits when a guest operating system or application is aware that it is running within a virtualized environment, and has been modified to exploit this. One potential downside of this approach is that such modified guests cannot ever be migrated back to run on physical hardware. In addition to requiring modified guest operating systems, paravirtualization leverages a hypervisor for the underlying technology. In the case of Linux distributions, this approach requires extensive changes to an operating system kernel so that it can coexist with the hypervisor. Accordingly, mainstream Linux distributions (such as Red Hat or SUSE) cannot be run in a paravirtualized mode without some level of modification. Likewise, Microsoft has suggested that a future version of the Windows operating system will be developed that can coexist with a new hypervisor offering from Microsoft. Yet para-virtualization is not an entirely new concept. For example, VMware has employed it by making available as an option enhanced device drivers (packaged as VMware Tools) that increase the efficiency of guest operating systems. Furthermore, if and when para-virtualization optimizations are eventually built into commercial enterprise Linux distributions, VMwares hypervisor will support those, as it does all mainstream operating systems.
Figure 7: Para-virtualization
VMware is the only provider of high-performance virtualization products that give customers a real choice in operating systems. VMware supports: Windows 95/98/NT/2K/2003/XP/3.1/MS-DOS 6; Linux (Red Hat, SUSE, Mandrake, Caldera); FreeBSD (3.x, 4.04.9); Novell (NetWare 4,5,6); Sun Solaris 9 and 10 (experimental). VMware is designed from the ground up to ensure compatibility with customers existing software infrastructure investments. This includes not just operating systems, but also software for management, high availability, clustering, replication, multipathing, and so on. VMwares hypervisor-based products and solutions have been running at customer sites since 2001, with more than 75% of customers running ESX Server in production deployments. As the clear x86 virtualization market leader, VMware is uniquely positioned to continue providing robust, supportable, highperformance virtual infrastructure for real-world, enterprise data center applications.
App
App p
App
App
OS
OS
OS
OS
VMware Infrastructure
ACE
Secured Enterprise Desktop
Workstation
Technical Desktop Hosted on Windows or Linux
VMware Server
Departmental Computing Hosted on Windows or Linux
ESX Server
Enterprise Computing Bare Metal V-SMP Option Mgmt Server, Console & APIs VMotion
Hosted on Windows
Glossary
Virtual Machine A representation of a real machine using software that provides an operating environment which can run or host a guest operating system. Guest Operating System An operating system running in a virtual machine environment that would otherwise run directly on a separate physical system. Virtual Machine Monitor Software that runs in a layer between a hypervisor or host operating system and one or more virtual machines that provides the virtual machine abstraction to the guest operating systems. With full virtualization, the virtual machine monitor exports a virtual machine abstraction identical to a physical machine, so that standard operating systems (e.g., Windows 2000, Windows Server 2003, Linux, etc.) can run just as they would on physical hardware. Hypervisor A thin layer of software that generally provides virtual partitioning capabilities which runs directly on hardware, but underneath higher-level virtualization services. Sometimes referred to as a bare metal approach. Hosted Virtualization A virtualization approach where partitioning and virtualization services run on top of a standard operating system (the host). In this approach, the virtualization software relies on the host operating system to provide the services to talk directly to the underlying hardware. Para-virtualization A virtualization approach that exports a modified hardware abstraction which requires operating systems to be explicitly modified and ported to run. Virtualization Hardware Support Industry standard servers will provide improved hardware support for virtualization. Initial hardware support includes processor extensions to address CPU and some memory virtualization. Future support will include I/O virtualization, and eventually more complex memory virtualization management. Hardware-level virtualization Here the virtualization layer sits right on top of the hardware exporting the virtual machine abstraction. Because the virtual machine looks like the hardware, all the software written for it will run in the virtual machine.
Operating systemlevel virtualization In this case the virtualization layer sits between the operating system and the application programs that run on the operating system. The virtual machine runs applications, or sets of applications, that are written for the particular operating system being virtualized. High-level language virtual machines In high-level language virtual machines, the virtualization layer sits as an application program on top of an operating system. The layer exports an abstraction of the virtual machine that can run programs written and compiled to the particular abstract machine definition. Any program written in the high-level language and compiled for this virtual machine will run in it.
10