Overview of Virtual Machines and Virtualization Software

Introduction

  • High-powered multi-core CPUs: Often underutilized; benefit from virtualization.

  • Virtual Computing: Enables multiple operating systems on a single physical system, leading to:

    • Reduced hardware and energy costs.

    • Features for data centers: rapid provisioning, load balancing, high availability, backup, disaster recovery.

    • Adaptable resources to meet customer needs.

  • Cloud Computing: Virtualization is fundamental, impacting all computer users and IT professionals.

  • Benefits for Workstation Environments:

    • Developers can test applications across platforms.

    • IT professionals pre-configure servers and deploy desktop environments.

    • Users can run multiple operating systems/applications simultaneously.

    • Additional features: system suspension, snapshotting for data recovery.

  • Learning Objectives: Understand capabilities, differences from traditional environments, and implementations using VMware, Microsoft, and Oracle virtualization products.

Overview of Virtual Machines and Virtualization Software

  • Traditional Computing:

    • Single operating system per physical computer.

    • OS manages hardware resources (CPU, memory, disk, I/O devices).

  • Hardware Dependency:

    • Moving an OS requires re-installation due to hardware-specific configurations.

  • Virtual Computing:

    • Frees OS from hardware constraints, allowing multiple environments.

    • Virtual Machines (VMs): Emulate dedicated systems with independent OS environments.

  • Hypervisor: Software layer to share hardware resources between physical hardware and operating system environments.

    • Creates VMs with their own virtual CPU, memory, hard disk, and network interface.

    • Views by guest OS like physical devices.

Hypervisor Types

  • Classification:

    • Type-1 Hypervisors (Bare Metal):

    • Run directly on physical hardware.

    • Offer better performance and security; essential for data centers.

    • Examples include VMware vSphere, Microsoft Hyper-V, and Xen Hypervisor.

    • Type-2 Hypervisors:

    • Require a host OS (Windows, Linux, Mac).

    • Examples include VMware Workstation, VMware Workstation Player, Oracle VirtualBox.

    • Easier installation; less hardware-specific; accessible for normal desktop use.

Historical Context

  • Early Virtualization Concepts: Originated from IBM mainframe technology in the 1970s.

  • VMware's Development: Founded in 1998, led early market share with advanced features.

  • Market Competition: VMware holds a significant share; faced competition from Microsoft and others (21% market share according to a 2014 Nasdaq poll).

  • Connectix & Virtual PC: Developed for running Windows on Mac; later bought by Microsoft to enhance their offerings.

  • Xen Hypervisor: Originated as a research project, made open source in 2002, leading to commercial use with Citrix and Oracle.

Virtualization Software Packages Overview

  • Leading Providers: VMware, Microsoft, Oracle providing both commercial and open-source solutions.

  • Licensing: Commercial products require purchase; free options exist for basic use.

    • Example: VMware vSphere is free but requires licensing for advanced management features.

How Virtualization Software Works with Virtual Machines

  • Traditional vs. Virtualized OS Interaction:

    • Traditional OS directly interacts with hardware.

    • Guest OS interacts via the hypervisor, sharing resources dynamically.

    • Hypervisor processes requests from guest OS, emulating hardware resource interaction.

  • Interaction Model: Hypervisor uses disk files to simulate hard drives; guest OS unaware of true hardware state.

File Structure for Virtual Machines

  • Files on Host Computer:

    • Each VM has:

    • Configuration File: Holds settings for RAM, CPUs, virtual disk info, network settings.

    • Virtual Disk File: Contains boot loader, OS files, applications visible as disk drives.

  • Memory Management:

    • Reserved portions of the host’s memory for each VM; impacts the number of VMs that can run.

    • Certain peripherals are shared but can only be used by one system at a time.

Hardware, Software, and Licensing Requirements

Processor Requirements

  • Essential Features:

    • Modern multi-core, 64-bit processors typically required since 2003.

    • Supports better performance due to hardware-assisted virtualization.

  • Intel and AMD Technologies:

    • Intel Virtualization Technology (Intel VT) and AMD Virtualization (AMD-V) enhance performance.

    • Enabling these in BIOS is necessary for installations.

Memory Requirements

  • Memory Calculation:

    • Must consider the host OS and all concurrent VMs.

    • Use overcommitment to allocate more VM memory than available, though this may impact performance.

    • Example calculation for VMs on an 8 GB RAM host.

  • Shadow Page Tables: Manage physical memory allocations for guest VMs; instances of memory overcommitment may require techniques like ballooning for performance.

Storage Requirements

  • Disk Space Calculations:

    • Sum storage for virtualization software, VMs, and host OS.

  • Storage Options:

    • Local storage versus shared (NAS, SAN) for different use cases.

Networking and Peripheral Requirements

  • Network Access: VMs can utilize host network interfaces; supports advanced virtualization features.

  • Peripheral Sharing: Only one VM may control a peripheral at a time; switching management covered in upcoming chapters.

Licensing Requirements

  • Licensing Models: Open-source vs. licensed systems; examples include Oracle VirtualBox and Microsoft’s bundled Hyper-V.

  • Activation Rules: Consistent with physical installations, requiring attention to licenses for VM use to avoid violations.