250 likes | 377 Vues
Virtualisation From the Bottom Up From storage to application. Introduction. What do we mean by Virtualisation? The abstraction of computer resources Can be done at many levels: Server Virtualisation Desktop Virtualisation Resource Virtualisation Virtual Memory Virtual Networks
E N D
Virtualisation From the Bottom UpFrom storage to application
Introduction • What do we mean by Virtualisation? • The abstraction of computer resources • Can be done at many levels: • Server Virtualisation • Desktop Virtualisation • Resource Virtualisation • Virtual Memory • Virtual Networks • Virtual Storage • Clustering • We will focus on Server and Storage
Why Bother??? • Virtualised resources maximize efficient use of hardware • Storage virtualisation • Uses storage more efficiently • Greatly increases flexibility - can provide snapshot and mirroring functionality to aid test, backup and DR objectives • Increases scalability • Server virtualisation • Consolidates hardware • Provides business continuity protection • Re-host legacy applications • Streamline software test and development
What is Storage Virtualization? • Separating the logical representation of storage from the physical storage components. • Creating a logical virtualization layer • A software representation of volume entities • Separates the host view of storage from the physical storage configuration • Creates another object that has the important/essential characteristics of the original • Transparent to Host I/O
Blocks on Disks • Disk Virtualization • The disk is presented as groupings of logical blocks • Blocks are the logical storage objects that “exist” on a disk\volume • Data is written to or read from blocks by OS • Data layout on disk is hidden • Physically on cylinders, heads and sectors (C/H/S) • Logically presented as blocks • No knowledge of C/H/S • Technology has existed for many years • Implemented in disk firmware
Block Virtualization • A LUN is presented to a host • More efficient use of storage division or assembly • Implementation: • RAID • Server Manager • SAN Appliance ASSEMBLY of logical volumes
Block Virtualization DIVISION into logical volumes
Block Vs Disk Virtualization Disk Virtualisation Block Virtualisation Mapping tables Physical Disks Logical Block Assignment Virtualization Layer Logical Volumes
Traditional Virtualization The most common locations today are: On Host On most systems Function of Volume Manager At storage sub system In RAID Controller Optimised purpose built hardware Virtual Block/disk devices are presented as LUNs (Logical Units) Physical configuration hidden • Virtualisation in the SAN
Storage Virtualisation over the SAN Unix Server Windows Server Hosts Virtualization Layer SAN Fabric Storage Tape Library RAID System / JBODs
Example – LSI StoreAge SVM Front End Zone Linux Solaris Windows DPMs Standard RAIDs, JBODs & Tapes SVM Servers Back End Zone
Split-Path Approach (SPAID) Processor executes all operations Higher latencies Limited performance Processor executes few operation Low latency High performance Soft-Path CPU Soft-Path CPU Switch Subsystem Switch Subsystem All I/O Operations (100%) Data I/O Operations (~95%) Split-Path Approach Standard PC-based Platform Control and exception I/Os (~5%)
Essential concept – pooled storage Pool 1 Pool 3 Pool 2
What is Server Virtualisation? Software Layer Abstraction Layer “Hypervisor” Hardware Layer • A technology that employs an abstraction layer between the operating system and the underlying physical hardware
The key benefits of server virtualisation • Isolation • A virtual machine’s state is unaffected by the state of other virtual machines on the same physical hardware • Encapsulation • The state of a virtual machine can be captured and files representing a virtual machine can be migrated • Hardware-independence • Virtual hardware does not have to be identical to the underlying physical hardware
Types of Hypervisor App App App OS OS OS Hypervisor Hardware • Type 1 or Bare-Metal • Special software than runs directly on a given hardware platform. E.g. Xen / Virtual Iron or VMware ESX
Types of Hypervisor App App App OS OS OS Hypervisor Host OS Hardware • Type 2 or Hosted • Software than runs on an existing operating system, e.g. Microsoft Virtual PC, VMware Server
Approaches to Virtualisation • The x86 architecture was not designed to be virtualised • Certain privileged and sensitive instructions cannot be easily virtualised • There are three main methods for dealing with these, non-virtualisable instructions • Full Virtualisation with Binary Translation • Paravirtualisation • Native Virtualisation
Full Virtualisation with Binary Translation • Replaces non-virtualisable instructions with new sequences that have the intended effect on the virtual hardware • User-level code is executed directly on the hardware • The guest OS is not aware that it is being virtualised • Significant costs in complexity and run-time performance
Paravirtualisation • Non-virtualisable instructions are replaced by hypercalls that communicate directly with the hypervisor • Carries a lower virtualisation overhead than Full Virtualisation • The guest OS requires modification • Unmodified OS’s (e.g, Windows XP) cannot be virtualised
Native Virtualisation • Sometimes called Hardware Assisted Virtualisation • Requires Intel and AMD processors with new hardware-assist capabilities • Binary translation is effectively done in hardware • Very low virtualisation overhead • The guest OS is not aware that it is being virtualised
Example – Virtual Iron • Components • Hypervisor • First software loaded when physical server boots • Based on open-source Xen hypervisor • Uses Native Virtualisation • Service Partition • Second software loaded when physical server boots • Manages virtual machine creation and configuration and all I/O • Virtualisation Manager • Controls virtual machines through an agent on the service partition • Guest Operating Systems