Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

52
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    220
  • download

    2

Transcript of Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Page 1: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.
Page 2: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Microsoft Server Virtualization Architecture & DirectionsBenjamin ArmstrongProgram ManagerMicrosoft Corporation

SVR318

Page 3: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Related Sessions, HOLs, Certifications etc.

SVR310 - Up-close and personal with Virtual Machines and SCVMMSVR314 - High Availability for physical and virtual environments with Windows Server 2008SVR301 - How Windows Server 2008 Impacts IT InfrastructureCLI319 - Pulling Microsoft Virtualization Products Together to Create a Virtualized DataCenter

Page 4: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Agenda

Microsoft virtualization roadmapVirtualization Architectures

CPU virtualizationMemory virtualizationDevice virtualizationNetworkingKernel EnlightenmentManagement

XenSource Collaboration

Page 5: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Virtualization Benefits

Improve UtilizationConsolidation increases hardware utilizationScales on MP/multi-core systems

Lower Operational CostsManagement tools reduce costsWorkloads can be hardware agnostic

Increase AvailabilityFor planned and unplanned downtimeBuilding block for business continuity

Increase ResponsivenessRapid and self provisioning of services

Page 6: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Virtualization Roadmap

Microsoft Virtual Server 2005 R2 Virtual Server MOM Management Pack

System Center Virtual Machine Manager Virtual Server 2005 R2 SP1

2005

Microsoft Virtual Server 2005 R2 SP1 BetaVirtual Server MOM Management Pack R2System Center: Virtual Machine Manager Beta

2006

Windows ServerVirtualization

Within 6 monthsof Windows Server 2008

2007

Page 7: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Virtual Server 2005 R2

Improved performance and scalability100% improvement on transactional workloads64-bit (x64) host support for greater scalability

High availabilityHost clustering for both planned and unplanned downtime

Linux guest supportFree

Page 8: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Virtual Server 2005 R2 SP1

Intel Virtualization Technology / AMDV support

Increased reliability and performanceMuch better experience when consolidating Linux

VSS supportImproved Backup and DR scenarios

VHD Mounting on host

Page 9: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Windows Server Virtualization

Hypervisor based solution for WindowsIntegrated virtualization “role”New IO sharing model for better performanceStandards based management APIWindows virtualization platform for partners

Page 10: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Windows Virtualization Scenarios

Production Server ConsolidationBusiness Continuity ManagementTest and Development

Page 11: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Production Server Consolidation

Physical consolidationImprove and maximize hardware utilizationConsolidate workloads onto fewer highly scalableand reliable enterprise class servers

Reduce TCOPhysical plant

Reduce electrical costs for cooling and serverpower consumptionReduce datacenter physical footprint

Server managementEase management and reduce operational costsby moving to a standardized platformIncrease business agility by moving to dynamic platform

Server consolidation is the fundamental drivingforce behind the virtualization of servers

Page 12: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Business Continuity Management

Business continuity is a comprehensiveprocess that includes

Disaster and business recoveryBusiness resumption and contingency planningFor a global organization, this is particularly difficultas they provide “follow the sun” services

Ensure continuity or uninterrupted provisionof operations and services

Reduce service interruptionsProvide scalable, high-availability solutionsImprove disaster and business recoveryProvide robust enterprise management

Business Continuity Management is the ability to minimize scheduled and unscheduled downtime

Page 13: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Test And DevelopmentPhysical consolidation

Improve and maximize hardware utilizationConsolidate workloads onto fewer servers

Reduce TCOPhysical plant

Reduce electrical costs for cooling and server power consumptionReduce physical footprint

Lifecycle managementReduce time to migrate new software from Dev to Test to ProductionIncrease business agility by moving to a dynamic platform

Streamline test and development effortsReduce time provisioning test/development environmentsRapid duplication of a production environment

Maximizing test hardware, reducing costs, improvinglifecycle management, and improving test coverage

Page 14: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Why Windows Server Virtualization?

Building a new platform for virtualization in Windows

Designed to be flexible and extensibleDesigned for long term developmentDesigned for use outside of pure virtualization scenarios

Page 15: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Architectures

Virtualization poses many problemsCPU, Memory, Devices, etc…

Each problem has multiple potential solutionsPros and cons not always obvious

Nor are they necessarily significant

Page 16: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

VMM Arrangements

Host OS

VMM

Guest 1 Guest 2

VMM

Guest 1 Guest 2

Host OS VMM

Guest 1 Guest 2

Type-2 VMM Type-1 VMM(Hypervisor)

Hybrid VMM

Examples: JVMCLR

Examples: Virtual PCVirtual Server

Examples: Windows Virtualization

Hardware Hardware Hardware

Page 17: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Monolithic vs. Microkernelized

Monolithic hypervisorSimpler than a modern kernel, but still complexContains its own drivers model

Microkernelized hypervisor

Simple partitioning functionalityNo third-party codeDrivers run within guests

VM 1(Admin)

VM 3

Hardware

Hypervisor

VM 2(“Child”)

VM 3(“Child”)

Virtual-ization Stack

VM 1(Parent)

DriversDriversDrivers DriversDriversDrivers DriversDriversDriversHypervisor

VM 2

Hardware

DriversDriversDrivers

Page 18: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

The Hypervisor

Very thin layer of softwareHighly reliableMuch smaller Trusted Computing Base (TCB)

No built-in driver modelLeverage the large base of Windows driversDrivers run in a partition

Will have a well-defined, published interfaceAllow others to create support for their OS’s as guests

Hardware virtualization assists are requiredIntel Virtualization TechnologyAMDv

Page 19: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Physical Hardware

The hypervisor restricts itself to managing a minimum set of hardware

ProcessorsLocal APICsConstant-ratesystem counterSystem physicaladdress space

Focus is on scheduling and isolation

Hardware

Windows hypervisor

Parent Partition

ServerCore

Apps

OS 1 OS 2

Apps Apps

Child Partition

Child Partition

Page 20: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Hardware

Windows hypervisor

Parent Partition

ServerCore

Apps

OS 1 OS 2

Apps Apps

Child Partition

Child Partition

Physical Hardware

In Windows virtualization, the parent partition manages the rest

IHV driversProcessor power managementDevice hot add and removal

New drivers are not required

Page 21: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

HypercallsLow level API

Guests communicate with the hypervisor via hypercalls

Hypervisor equivalent of a syscallDetected via CPUIDConfigured via MSR

Simple formatOne input page, one output pageSpecify pages by physical address,then jump to known address

Page 22: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

HypercallsHigh level APIs

Higher level abstractions are available in Windowspartitions

WinHv.sys providesa C language wrapper

WindowsServer Core

VirtualizationStack

WMI Provider

WinHv.sys

Hardware

Windows hypervisor

VmBus.sys

Windows

WinHv.sys

VmBus.sys

Page 23: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

CPU Virtualization

User mode code on x86 / x64 processors can be natively virtualizedKernel mode code is more problematic

Emulation / Binary TranslationRing compression

This is not possible on x64 due to lack of ring 1 and 2

Hardware virtualization support

Page 24: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Virtual Server 2005: Software

Windows Server 2003 or XP

Kernel VMM

Kernel ModeUser Mode

Virtual ServerService

IIS

Virtual ServerWebApp

Provided by:

Microsoft

ISV

OEM

Virtual Server

“Designed for Windows” Server Hardware

Guest Kernel

VMM

GuestApplications

Host OS Guest OS

Page 25: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Virtual Server 2005: Additions

Windows Server 2003 or XP

Kernel VMM

Kernel ModeUser Mode

Virtual ServerService

IIS

Virtual ServerWebApp

Provided by:

Microsoft

ISV

OEM

Virtual Server

“Designed for Windows” Server Hardware

Ring 1: Guest Kernel

Windows (NT4, 2000, 2003)

VM Additions

Ring 0: Kernel Mode VMM

Ring 3: User Mode

GuestApplications

Host OS Guest OS

Page 26: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Virtual Server 2005: Hardware

Windows Server 2003 or XP

Kernel VMM

Kernel ModeUser Mode

Virtual ServerService

IIS

Virtual ServerWebApp

Provided by:

Microsoft

ISV

OEM

Virtual Server

“Designed for Windows” Server Hardware

GuestApplications

Host OS Guest OS

GuestKernel

Page 27: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Windows Virtualization: ArchitectureParent Partition Child Partitions

Kernel Mode

User Mode

VirtualizationService

Providers(VSPs)

WindowsKernel

Server Core

IHVDrivers

VirtualizationServiceClients(VSCs)

WindowsKernel

EnlightenmentsVMBus

Windows hypervisor

Virtualization Stack

VM WorkerProcessesVM

Service

WMI ProviderApplications

“Designed for Windows” Server Hardware

Provided by:

Windows

ISV

OEM

Windows Virtualization

Page 28: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Memory Virtualization

Relatively easy due to MMUMemory block allocated by virtualization software and access to memory is then ‘swizzled’ through the MMUMMU operations inside virtualized environment now become very costly

Page 29: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Device Virtualization

Access to I/O is the performance ‘Achilles heel’ of virtual machines todaySome approaches are:

Device EmulationDevice AbstractionDevice Assignment

Page 30: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Device Emulation

Virtual machine “sees” real hardware devicesEach access to the “device” involves an intercept, sent to the parent virtual machine

Performance is sub-optimal

Compatibility with existing software can be perfectMicrosoft provides emulations

The hardware that is emulated is from ~1997, providingin-box compatibility with old OSes

Requires a “monitor” partition that contains software for emulating the devicesPhysical devices can be shared amongmultiple guests

Page 31: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Virtual Server 2005

Windows Server 2003 or XP

Kernel VMM

Kernel ModeUser Mode

Virtual ServerService

IIS

Virtual ServerWebApp

Provided by:

Microsoft

ISV

OEM

Virtual Server

“Designed for Windows” Server Hardware

Ring 1: Guest Kernel

Windows (NT4, 2000, 2003)

VM Additions

Ring 0: Kernel Mode VMM

Ring 3: User Mode

GuestApplications

Host OS Guest OS

Page 32: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

I/O Enlightenment

Uses abstract protocols to describe I/OUseful protocols already exist

SCSI, iSCSIRNDISRDP

New device stack implementations in thesecondary guests can be written that usethese abstract protocolsProtocol servers exist in a primary guest(parent), which is the partition that controlsthe physical devicesMultiple secondary guests can share the servicesof a single hardware deviceDoesn’t require an emulatorDoesn’t require a monitor partition

Page 33: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Virtualization I/O DefinitionsVirtual Device (VDev)

A software module that provides a point of configuration and control over an I/O path for a partition

Virtualization Service Provider (VSP)A server component (in a parent or other partition) that handlesI/O requests

Can pass I/O requests on to native services like a file systemCan pass I/O requests directly to physical devicesCan be in either kernel- or user-mode

Virtualization Service Consumer (VSC)A client component (in a child partition) which serves as the bottom of an I/O stack within that partition

Sends requests to a VSP

VMBusA system for sending requests and data between virtual machines

Page 34: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

VMBus – What Is It?

A protocol for transferring data through a ring buffer

A means of mapping a ring buffer into multiple partitionsA definition for the format of the ring bufferA means of signaling that a ring buffer has gone non-empty

A protocol for offering/discovering servicesA protocol for managing guest physical addressesA protocol for enumerating WDM device objectsthat represent a data channelA bus driver which implements all of those protocolsA data transfer library which can be linked intoa user-mode service or applicationA data transfer library which can be linked intoa kernel-mode driver

Page 35: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

How Is Data Moved Between Partitions?

Commands are placed in ring buffersSmall data is placed in ring buffersLarger data is placed in pre-arranged pages shared between partitions

Described by commands in ring buffersLargest data is mapped into another partition without copying

Page 36: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Bus Driver

VMBus acts as a bus driverIt can form the bottom of a device stackVSCs can be instantiated on top of VMBus

(Names of components not finalized)

Page 37: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Example VSP/VSC DesignParent Partition Child Partitions

Kernel Mode

User Mode

Windows hypervisor

Applications

Provided by:

Windows

ISV

OEM

Windows Virtualization

VMBus

Windows File System

Volume

Partition

Disk

Fast Path Filter (VSC)

iSCSIprtVirtual StorageMiniport (VSC)

Virtual StorageProvider (VSP)

StorPort

Hardware

StorPortMiniport

VM Worker Process

Disk

Page 38: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Networking

How to get a network packet from the virtual machine to the wire

Virtual Server uses a switched hubSimple, but not common

Windows Server virtualization uses a full switch implementation

Extensible through WMI interface

Page 39: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Kernel Enlightenments

Windows kernel detects and communicates with hypervisor

Avoids expensive calls and uses faster services provided by the hypervisor

E.g. MMU

Not ring compressionNot kernel patching

Windows uses a unified kernelAll Windows kernels have enlightenments in placeWindows Vista shipped with enlightenments

Page 40: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Management

Virtual Server uses a single process space

Virtual machines are separate threadsManaged through COM API

Windows Server virtualization uses a process per virtual machine

Managed by a central serviceUse a WMI API

Page 41: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Virtualization StackComponent View

ConfigComponent

VMMS

WMI

Worker process

StateMachine

IC Proxy

RDPEncoder

VDev

VirtualMotherboard

VID VSPKernel Mode

User Mode

Page 42: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

VMMS

WMI

VMMSVirtual Machine Management Service

ResponsibilitiesControls all virtual machines

WMI provider receives control commands from Management Console

Creates one Worker Process for each VM instance

Collaborates withConfig component to configure VMs and VNSs – Virtual Network SwitchesWorker process to control VM

Virtualization stack

Page 43: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Config Component

ResponsibilitiesPersistent configurationstore for VMs and VNSs Key/value pairs

Hierarchical organization

Collaborates withVMMS

Receives commands/send results

Worker ProcessCommunicates configuration changes

ConfigComponent

Virtualization stack

Page 44: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

VIDVirtualization Infrastructure Driver

ResponsibilitiesMediates communicationwith hypervisorProvides basic and advanced guest memory virtualization

MMIO emulation, ROM emulation

Provides instruction completion

Collaborates withHypervisor

Makes requests to hypervisorby using the hypercall protocol

VID

Virtualization stack

Page 45: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Worker process

StateMachine

IC Proxy

RDPEncoder

VDev

VirtualMotherboard

Worker Process

Instantiated for running or configuring one instance of a VMContains

VMB VDevsState MachineIC ProxyRDP Encoder

Virtualization stack

Worker process

StateMachine

IC Proxy

RDPEncoder

VDev

VirtualMotherboard

Page 46: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Microsoft and XenSource Collaboration

Microsoft and XenSource to develop Interoperable Virtualization Solutions

Microsoft and XenSource will cooperate on the development of technology that will provide interoperability between Xen-enabled Linux and Microsoft’s hypervisor-based Windows Server virtualizationBy supporting heterogeneous environments, Microsoft is continuing its commitment to make Windows Server the most flexible virtualization solution

Page 47: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

ArchitectureParent Partition

Kernel Mode

User Mode

VirtualizationService

Providers(VSPs)

WindowsKernel

Longhorn ServerXen-enabledLinux Kernel

VMBus

Windows hypervisor

“Designed for Windows” Server Hardware

Xen-enabled Linux Guest Partition

Applications

LinuxVirtualizationServiceClients(VSCs)VMBus

Virtualization Stack

VMService

WMI ProviderVM WorkerProcesses

Hypercall Adapter

Provided by:

OS

MS/XenSource

ISV/IHV/OEM

Windows virtualization

Page 48: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Resources

Windows virtualization information

http://www.microsoft.com/windowsserversystem/virtualization/default.mspx

Microsoft Virtualization Blogshttp://blogs.msdn.com/Virtual_PC_Guyhttp://blogs.technet.com/virtualization/http://blogs.technet.com/jhoward

BookProfessional Microsoft Virtual Server 2005 http://tinyurl.com/3y33v9

Page 49: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Related Sessions, HOLs, Certifications etc.

SVR310 - Up-close and personal with Virtual Machines and SCVMMSVR314 - High Availability for physical and virtual environments with Windows Server 2008SVR301 - How Windows Server 2008 Impacts IT InfrastructureCLI319 - Pulling Microsoft Virtualization Products Together to Create a Virtualized DataCenter

Page 50: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Evaluation Forms

Page 51: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

Questions?

Page 52: Benjamin Armstrong Program Manager Microsoft Corporation SVR318.

© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.