3-Introduction to Virtual Machines-26-07-2024
Virtualization Overview
Virtualization: Technology enabling the creation and use of a virtual version of:
Operating systems
Servers
Storage devices
Network resources
Purpose: Abstracts hardware resources so multiple OS or applications can run simultaneously on the same physical machine.
How Virtualization Works
Physical Server: Hardware foundation consisting of CPU, RAM, storage, and network interface.
Hypervisor: Software layer managing resource allocation and isolating virtual environments.
Type 1 (Bare Metal Hypervisor): Runs directly on hardware.
Type 2 (Hosted Hypervisor): Runs as an application on an OS.
Virtual Machines (VMs):
Virtual copies of physical servers.
Each VM operates independently with its own OS and applications.
Hypervisor Functionality
Hardware Abstraction: Presents a standardized set of resources to VMs.
Resource Allocation: Manages CPU, memory, and storage distribution among VMs.
Isolation: Ensures VMs operate independently to maintain stability.
Hardware Emulation: Emulates hardware components to provide necessary virtual devices to VMs.
Interruption Handling: Manages interrupts from hardware devices and routes them to the correct VM.
Security and Control:
Provides mechanisms for VM lifecycle management (start, stop, migrate).
VM Migration: Supports live migration for load balancing and maintenance with minimal downtime.
Virtualization Types
Bare Metal Hypervisors:
Run directly on the server hardware.
More secure but require dedicated management.
Hosted Hypervisors:
Operate as applications within a host OS.
Can run multiple hypervisors simultaneously.
Virtual Machines (VMs)
VM Structure:
Comprised of configuration files, virtual hard drive storage, and snapshots.
Definition: Simulates a physical computer using software instead of hardware to run applications.
Server Virtualization
Concept:
Multiple virtual servers on one physical server drawing from excess resources.
Benefits:
Enables the running of different applications and workloads on a single server.
Cost-efficient for businesses renting out server space.
Types of Server Virtualization
Full Virtualization: Utilizes hypervisors to allocate resources to guest servers; independent OS per VM.
Para Virtualization: Guest OS is aware of each other, reducing overhead and improving performance.
OS-Level Virtualization:
Does not use hypervisors, all instances share a single OS kernel.
Efficiency gains from lightweight containers but limits OS variety.
Desktop Virtualization
Definition: Technology allowing users to run desktop environments from a central server.
Types:
Virtual Desktop Infrastructure (VDI): Hosts desktop OS in VMs.
Remote Desktop Services (RDS): Shared environment providing centralized application management.
Desktop-as-a-Service (DaaS): Cloud-based desktops managed by service providers.
Application Virtualization: Delivers individual applications rather than full desktops.
Storage Virtualization
Concept: Physical storage devices presented as a single virtual storage pool.
Functionality: Simplifies storage management and enhances performance and data availability.
Types:
Block-level, file-level, and object-level virtualization.
Each type has unique application advantages depending on data handling requirements.
OS Level Virtualization
Overview: Allows containers to run on a single host OS; lightweight and efficient.
Benefits:
Quick scalability, improved resource utilization, process isolation, and portability across environments.
Each container encapsulates the application and its necessary dependencies.
Network Virtualization
Description: Decouples physical network infrastructure from applications for flexibility and scalability.
Components:
Virtual switches, routers, network interfaces, and functions like firewalls.
Benefits:
Cost efficiency, enhanced security, and simplified management through centralized control.
Software-Defined Data Center (SDDC)
Definition: An architecture where all resources (compute, storage, networking, security) are virtualized and managed via software.
Core Components:
Software-defined compute, storage, networking, and security for efficient resource allocation and management.