SE411 - Adam Nofsinger Virtualization

download SE411 - Adam Nofsinger Virtualization

of 35

Transcript of SE411 - Adam Nofsinger Virtualization

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    1/35

    Operating System Virtualization

    Adam Nofsinger

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    2/35

    2

    OS Virtualization

    What is it?

    Brief History

    Why use it? Virtualization

    Software

    Shortcomings

    Future Tech

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    3/35

    3

    Virtualization

    Definition:

    Broadly describes the (beneficial) separation

    of a resource or service from the typicalphysical means of providing it.

    Examples: Virtual Memory

    Virtual Private Networks Java Virtual Machine

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    4/35

    4

    Virtualization

    OS Virtualization (Virtual Machines)

    Separate OS from Physical Hardware

    Host OSGuest OS

    Host OS

    Guest OS

    Virtual Layer

    Guest OS Guest OS

    Hardware

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    5/35

    5

    Virtualization Techniques

    How does Guest OS get to Hardware?

    Host OS

    Guest OS

    Virtual Layer

    Hardware

    ProcessorMemoryNICDisk

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    6/35

    6

    Virtualization Techniques

    Virtual Monitor Qemu, Vmware Player, Microsoft Virtual PC

    Sometimes called Emulation, e.g. x86 Emulation

    Host OS

    Guest OS

    Virtual Monitor

    Guest OS Guest OS

    Hardware

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    7/35

    7

    Virtualization Techniques

    Hypervisor Vmware ESX Server, Parallels*

    OS

    Hypervisor Software

    OS OS

    Hardware

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    8/35

    8

    Virtualization Techniques

    Para-Virtualization Xen, Vmware Tools*

    Host OS

    Guest OS(Modified)

    Virtual Monitor

    Guest OS(Modified)

    Guest OS(Modified)

    Hardware

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    9/35

    9

    One Slide History

    1960s IBMs Mainframe Computers (e.g. IBM S/360)

    Compatible Time Sharing System (CTSS)

    1980s Desktop PCVirtualization on Backburner

    1990s - Present IA-32 Server HardwareHigh Profit Market

    Virtualization Increased Hardware value.

    Vmware Introduces Workstation

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    10/35

    10

    Why OS Virtualization?

    Multi-Platform Testing

    Only need one set of Hardware

    Resource saver on purchases (time/money) Can cut setup time

    Emulated Hardware

    Same Hardware on All Test Environments

    Hardware Simulation

    Limited Resource Environments

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    11/35

    11

    Why OS Virtualization?

    Isolation

    Virtual Machine from Host OS / Other VMs

    Safe for untrusted applications.

    Partitioning of Services

    Server Environment more stable.

    Some Applications dont play w/ Others

    Encapsulation One VMOne File/Folder on Disk

    Typically easy to migrate.

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    12/35

    12

    Why OS Virtualization?

    OS Debugging Crash on Developing OS do not (typically)

    affect Host OS.

    Debug Memory dumps

    CPU Registers

    Serial / Parallel Port dumps

    Multiple OS Instances Simultaneously Infrastructure Testing

    Win 98Linux OpenBSDWin 2K

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    13/35

    13

    Why OS Virtualization?

    Legacy Applications

    Server Application Virtualization Testing

    Some application commonly on VMs Portability Requirements Lessen

    Down with Host OS!

    Virtualization is Fun! Gain Experience with new OS.

    Help a business transition to Open-Source.

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    14/35

    14

    Virtualization Software

    Vmware Server

    Player

    Workstation

    ESX Server

    Qemu

    Xen

    Microsoft Virtual PC/Server Connectix

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    15/35

    15

    Vmware Server

    Currently Free! (But Geared toward Server)

    Unique Features vs. Workstation

    Remote Administration Consoles

    Web Interface

    VMs can Run as Service

    Slow to Administrate Especially GUI style (e.g. X, Windows)

    Can make VMs for Vmware Player

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    16/35

    http://www.vmware.com/products/server 16

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    17/35

    http://www.vmware.com/products/server 17

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    18/35

    http://www.vmware.com/products/server 18

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    19/35

    http://www.vmware.com/products/server 19

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    20/35

    http://www.vmware.com/products/server 20

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    21/35

    http://www.vmware.com/products/server 21

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    22/35

    http://www.vmware.com/products/server 22

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    23/35

    23

    Vmware Player

    Demo Time!

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    24/35

    24

    Vmware WorkStation

    Geared more toward Software Developers

    Features vs. Vmware Server

    Multiple Snapshots Cloning

    Movie Recording

    Teams & VPNs

    $200/license

    http://www.vmware.com/img/ws5_large4.png

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    25/35

    25http://www.vmware.com/img/ws5_large3.png

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    26/35

    26

    Vmware ESX Server

    Intended for Enterprise-Level Servers

    Partitioning

    Hypervisor Runs on Bare Metal (Hardware Layer)

    Live Migration

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    27/35

    27

    QEMU

    Demo Time!

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    28/35

    28

    Xen

    Open-Source, Linux

    Para-Virtualization

    Very Fast Have to use Modified Guest OS

    Kernel Modifications

    Windows?

    Live Migration

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    29/35

    29

    Microsoft Virtual PC / Server

    The VM Software Formerly Known asConnectix Virtual PC

    Runs on x86 or Power PC Architecture

    PC: $130 Server: $100 - $200 (#of processor)

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    30/35

    30

    Other Offerings

    Bochs IA-32 Emulator

    http://bochs.sourceforge.net/

    Linux-VServer

    http://linux-vserver.org/

    Virtuozzo => Server Virtualization, $200 - $4000+ http://www.swsoft.com/en/products/virtuozzo/

    OpenVZ => Open Source Virtuozzo

    http://openvz.org/

    Parallels Workstation 2.0 => Hypervisor-Powered, $49 / license

    http://www.parallels.com/ TRANGORTOS Hypervisor, ARM, MIPS, PowerPC, etc.

    http://www.trango-systems.com/

    http://bochs.sourceforge.net/http://linux-vserver.org/http://www.swsoft.com/en/products/virtuozzo/http://openvz.org/http://www.parallels.com/http://www.trango-systems.com/http://www.trango-systems.com/http://www.trango-systems.com/http://www.trango-systems.com/http://www.parallels.com/http://openvz.org/http://www.swsoft.com/en/products/virtuozzo/http://linux-vserver.org/http://linux-vserver.org/http://linux-vserver.org/http://bochs.sourceforge.net/
  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    31/35

    31

    General Shortcomings

    Virtual Machine cannot represent realscenario 100% accurately.

    Especially true with Para-Virtualization. Most situationsclose enough.

    Guest OS Hardware Requirements.

    Host needs more RAM, HD Space, etc. Sometimes just to operate

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    32/35

    32

    General Shortcomings

    Intel IA-32Virtualization Problems

    More on this in a bit (Vanderpool)

    Some Hardware not supported

    USB (Sometimes)

    3D Graphics Cards Etc.

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    33/35

    33

    Future Tech

    Intel VT (aka Vanderpool)

    Virtual Machine Extensions (VMX)

    10 new virtualization specific instructions

    VMXON, VMXOFF

    VMLAUNCH, VMRESUME

    BIOS / VMM application in the works

    OS

    Virtual Layer

    OS OS

    Virtual CPU Virtual CPU Virtual CPU

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    34/35

    34

    Future Tech

    AMD VT (aka Pacifica)

    Similar to Intel

    Additions to x86 Architecture to better support VMs

    http://enterprise.amd.com/Downloads/Pacifica_en.pdf

  • 8/13/2019 SE411 - Adam Nofsinger Virtualization

    35/35

    35

    References

    Amit Sing, An Introduction to Virtualization

    http://www.kernelthread.com/publications/virtualization/

    Vmware, Virtualization Overview

    http://www.vmware.com/virtualization/

    Vmware, Virtualization White Paper

    http://www.vmware.com/pdf/virtualization.pdf[pdf] Cambridge University Systems Research Group, Xen Website

    http://www.cl.cam.ac.uk/Research/SRG/netos/xen/

    Microsoft, Virtual PC Website

    http://www.microsoft.com/windows/virtualpc/default.mspx

    Bochs Website

    http://bochs.sourceforge.net/

    Gabriel Torres, Intel Virtualization Technology (VT) Explained

    http://www.hardwaresecrets.com/printpage/263

    AMD, Pacifica Virtualization Technology

    http://enterprise.amd.com/Downloads/Pacifica_en.pdf[pdf]

    http://www.kernelthread.com/publications/virtualization/http://www.vmware.com/virtualization/http://www.vmware.com/pdf/virtualization.pdfhttp://www.cl.cam.ac.uk/Research/SRG/netos/xen/http://www.microsoft.com/windows/virtualpc/default.mspxhttp://bochs.sourceforge.net/http://www.hardwaresecrets.com/printpage/263http://enterprise.amd.com/Downloads/Pacifica_en.pdfhttp://enterprise.amd.com/Downloads/Pacifica_en.pdfhttp://www.hardwaresecrets.com/printpage/263http://bochs.sourceforge.net/http://www.microsoft.com/windows/virtualpc/default.mspxhttp://www.cl.cam.ac.uk/Research/SRG/netos/xen/http://www.vmware.com/pdf/virtualization.pdfhttp://www.vmware.com/virtualization/http://www.kernelthread.com/publications/virtualization/