xenserver highload frank kohler

76
Virtualization 2008 Citrix XenServer 5.0 Frank Kohler, October 2008 Manager System Engineers Server Virtualization

Upload: ontico

Post on 10-Jun-2015

1.210 views

Category:

Technology


2 download

TRANSCRIPT

Virtualization 2008

Citrix XenServer 5.0

Frank Kohler, October 2008

Manager System Engineers Server Virtualization

Agenda

• Introduction• Big Picture• XenServer• Competitive

– Vs. Other Xen Virtualization– Vs. VMware– vs. Microsoft

Virtualization Aspects

Partitioning: Presenting physical resources to individual users --> XEN, VMware, VirtualIron

Aggregation: Combining multiple resources to a single unit --> PVM, OpenSSI, ScaleMP

Virtualization Big Picture

physical partition into virtual instances. each partition w/resources

Virtualization Big PictureSoftware Virtualization

CSS / OSS

z/VM -- KVM

bringing virtualization to x86, IA64, ... platformscoexistence of Linux and Windows

Server Virtualization

[left] type II VMM: Application w/virtual extension

[center] OS w/virtual extension

[right] type I VMM: hardware w/virtual extension: Vanderpool (IVT/VT-x), Pacifica (AMD-V) x86, Power, Sparc, Itanium

Virtualization Aspects

Virtualization Challenges/Limitations

Virtualization technology limited by hardware platform

Do you want to get locked?

Step Back for the Full Picture

Case for Server Virtualization

• Servers are costly to maintain

– Costs encompass provisioning, housing, power, cooling, management, etc.

– Complex, expensive management

• Servers are poorly utilized

– Yet, they proliferate as apps are added

• Physical servers are static

– Locked to one workload per server

What problems are we solving

Data Centers are static

Data Centers should be dynamic

Citrix Virtualization Division - History

• XenSource founded in 2005

• Creators of Xen and leaders of Xen project

• Acquired by Citrix Systems –Oct 2007

• Home of the Xen Hypervisor

• Open source, next generation architecture

• High performance bare metal virtualization engine

• Deliver Commercial Virtualization Platform

• Citrix XenServer Express, Standard, Enterprise Editions

Xen - the Industry Standard Hypervisor

Small Performance Overhead

• Native 64 Bit Hypervisor• Code base ~50.000 lines of code

• Approx 3180 C functions

• Small Overhead

• Guests Linux/Win: ½ – 8%

• Supports large workloads

• Up to 8 virtual CPUs per guest

• Up to 128 GB RAM

• Up to 32 GB per VM

•Supports large machines

Industry develops Xen Hypervisor -- xen.org

ArchitectureXenServer‘Orlando’

Xen Control

Interface Virtualized Hardware

Hardware

VT/AMD-V

Drivers

Storage

OpenSource

ControlInterface

Xen Architecture

UserApps

UserApps

Hardware

HALTHYPERCALL

HALT

XenServer

VT/AMD-V

Paravirtualized guests makes high-speed calls

directly to the hypervisor

Paravirtualization

• Relies on “modified” operating systems

• Kernel and I/O paths know they are being virtualized

• Cooperation provides best performance

Hardware-Assisted Virtualization

UserApps

UserApps

Hardware

HALTHYPERCALL

HALT

XenServer

VT/AMD-V

Other guests benefit from hardware-accelerated call

translation

• Hardware-assist allows high performance without emulation

From Xen to XenSource to Citrix Xenserver

From Open Source to Enterprise Product

xm xe

>xe help -all

host-backup, host-bugreport-upload, host-call-pluginhost-compute-free-memory, host-cpu-list, host-cpu-param-gethost-cpu-param-list, host-crashdump-destroy, host-crashdump-listhost-crashdump-param-get, host-crashdump-param-listhost-crashdump-upload, host-data-source-forget, host-data-source-listhost-data-source-query, host-data-source-record, host-disablehost-dmesg, host-emergency-ha-disablehost-emergency-management-reconfigure, host-enable, host-evacuatehost-forget, host-get-system-status, host-get-system-status-capabilitieshost-get-vms-which-prevent-evacuation, host-is-in-emergency-modehost-license-add, host-license-view, host-list, host-logs-downloadhost-management-disable, host-management-reconfigure, host-param-addhost-param-clear, host-param-get, host-param-list, host-param-removehost-param-set, host-power-on, host-reboot, host-restorehost-send-debug-keys, host-set-hostname-live, host-shutdownhost-shutdown-agent, host-sync-data, host-syslog-reconfigure

vm-cd-add, vm-cd-eject, vm-cd-insert, vm-cd-list, vm-cd-remove, vm-clonevm-compute-maximum-memory, vm-copy, vm-crashdump-listvm-data-source-forget, vm-data-source-list, vm-data-source-queryvm-data-source-record, vm-destroy, vm-disk-add, vm-disk-listvm-disk-remove, vm-export, vm-import, vm-install, vm-listvm-memory-shadow-multiplier-set, vm-migrate, vm-param-addvm-param-clear, vm-param-get, vm-param-list, vm-param-removevm-param-set, vm-pause, vm-reboot, vm-reset-powerstate, vm-resumevm-shutdown, vm-snapshot, vm-snapshot-with-quiesce, vm-start, vm-suspendvm-uninstall, vm-unpause, vm-vcpu-hotplug, vm-vif-list

blob-create, blob-get, blob-list, blob-param-clear, blob-param-getblob-param-list, blob-param-set, blob-put, bond-create, bond-destroybond-list, bond-param-get, bond-param-list, cd-list, console-listconsole-param-add, console-param-clear, console-param-getconsole-param-list, console-param-remove, console-param-setdiagnostic-compact, diagnostic-db-log, diagnostic-db-statsdiagnostic-gc-stats, diagnostic-timing-stats, diagnostic-vdi-statusdiagnostic-vm-status, event-wait, log-get, log-get-keys, log-reopen

log-set-output, message-create, message-list, message-param-getmessage-param-list, network-create, network-destroy, network-listnetwork-param-add, network-param-clear, network-param-getnetwork-param-list, network-param-remove, network-param-set, patch-applypatch-clean, patch-destroy, patch-list, patch-param-clearpatch-param-get, patch-param-list, patch-pool-apply, patch-precheckpatch-upload, pbd-create, pbd-destroy, pbd-list, pbd-param-addpbd-param-clear, pbd-param-get, pbd-param-list, pbd-param-remove

pbd-param-set, pbd-plug, pbd-unplug, pif-forget, pif-introduce, pif-listpif-param-add, pif-param-clear, pif-param-get, pif-param-listpif-param-remove, pif-param-set, pif-plug, pif-reconfigure-ip, pif-scanpif-unplug, pool-designate-new-master, pool-dump-database, pool-ejectpool-emergency-reset-master, pool-emergency-transition-to-masterpool-ha-compute-hypothetical-max-host-failures-to-toleratepool-ha-compute-max-host-failures-to-tolerate, pool-ha-disablepool-ha-compute-hypothetical-max-host-failures-to-toleratepool-ha-compute-max-host-failures-to-tolerate, pool-ha-disablepool-ha-enable, pool-join, pool-list, pool-param-add, pool-param-clearpool-param-get, pool-param-list, pool-param-remove, pool-param-setpool-recover-slaves, pool-restore-database, pool-sync-databasepool-vlan-create, sm-list, sm-param-get, sm-param-list, sr-createsr-destroy, sr-forget, sr-introduce, sr-list, sr-param-addsr-param-clear, sr-param-get, sr-param-list, sr-param-removesr-param-set, sr-probe, sr-scan, sr-update, task-cancel, task-listtask-param-get, task-param-list, template-export, template-listtemplate-param-add, template-param-clear, template-param-gettemplate-param-list, template-param-remove, template-param-setupdate-upload, user-password-change, vbd-create, vbd-destroy, vbd-ejectvbd-insert, vbd-list, vbd-param-add, vbd-param-clear, vbd-param-getvbd-param-list, vbd-param-remove, vbd-param-set, vbd-plug, vbd-unplugvdi-clone, vdi-copy, vdi-create, vdi-destroy, vdi-forget, vdi-importvdi-introduce, vdi-list, vdi-param-add, vdi-param-clear, vdi-param-getvdi-param-list, vdi-param-remove, vdi-param-set, vdi-resizevdi-snapshot, vdi-unlock, vdi-update, vif-create, vif-destroy, vif-listvif-param-add, vif-param-clear, vif-param-get, vif-param-listvif-param-remove, vif-param-set, vif-plug, vif-unplug, vlan-createvlan-destroy, vlan-list, vlan-param-get, vlan-param-list

Open Source XEN

stable, tested

not tested

unstable

Quality Assuranceand Testing on Enterprise Level

Automated Regression

Optimization

BETA releases

XenServer

stable, tested

Proprietary software

Fixes

Fixes

Enterprise Virtualization Software

Manual Regression

From Open Source to Enterprise Product

Platinum Edition

OtherArchitectures

Architectures

Monolithic & Microkernelized

• Monolithic hypervisor– Simpler than a modern kernel,

but still complex

– Contains its own drivers model

• Microkernelized hypervisor– Simple partitioning functionality– Increase reliability and minimize TCB– No third-party code– Drivers run within guests

VM 1(“Admin”)

VM 3

Hardware

Hypervisor

VM 2(“Child”)

VM 3(“Child”)

Virtual-ization Stack

VM 1(“Parent”)

DriversDriversDriversDriversDriversDrivers

DriversDriversDriversHypervisor

VM 2

Hardware

DriversDriversDrivers

VMware ESX ApproachWindows Server Virtualization

Approach

“Our view is that virtualization

is something that should be

built into the operating system.”Steve Ballmer

KVM Arch

XenServerConcepts

Xen and XenServer

XenInterrupts, CPU, memory

Management StackXAPI

Control DomainHardware, management

XenCenter GUIWindows / C#

HP ProLiant ConsolePython

StorageVHD, iSCSI, Fibre Channel

OS SupportWindows PV, Linux Kernels

Dom0: stripped Centos5, smaller footprint, linux

drivers

Resource Pools

XenServer XenServer XenServer

Local Storage Shared Storage

Anchored VM Agile VM Agile VM

service api {start | stop | restart}

Citrix XenCenter

CitrixWorkflow Studio

Windows Powershell

EgeneraPAN Manager

CIMbridge

ProLiantVirtual Console

Citrix XenServerpools

All these clients are using the same API

StorageManagement

Storage Management

Storage API

Leverage the capabilities of

enterprise storage systems

Leave storage to the storage

experts. Open up an API for

command and control.

The XenServer way

Intelligent storage reduced to

commodity disk

Storage operations controlled

by virtualization software

File System

The Old Way

XenServer APIs

Citrix XenCenter

CitrixWorkflow Studio

Windows Powershell

EgeneraPAN Manager

CIMbridge

ProLiantVirtual Console

Citrix XenServerpools

All storage is accessed through the same API

• fdisk –l

• fdisk /dev/sdb

• mkfs -t ext3

/dev/sdb

• xe sr-create

– content-type= device-config: host-uuid= name-label= physical-size= shared= sm-config: type=lvm

• vgdisplay

• pvcreate /dev/sdb

• vgextend VG_Name /dev/sdb

• vgdisplay

NetApp: ONTAP API: snapshotting und recovery

XenServer Resource Pools

Ability to join multiple physical servers into one logical pool of resources.

Allows VM agility• Automatic Initial Placement

• Live Migration

Shared configurations• Networking

• Remote Storage

Resiliency to single system failures• Clustered management layer

• No backend management server

• Built-in replicated database on each node

xe pool-join master-address=a

master-username=root

master

password=password

Example 1: To import multiple metadata files into a pool:# importscript.sh

# Imports multiple numbered VM Metadata files## Usage: ./importscript.sh filenameecho Importing $1xe vm-import filename=$1 metadata=truei=2

while [ -f $1$i ]doecho Importing $1$ixe vm-import filename=$1$i metadata=truei=`expr $i + 1`

done

Active-active NIC Bonding Architecture

Physical NIC 1

Physical NIC 2

Control Domain VM

eth 0

Virtual NIC

Virtual SwitchBond 0

eth 1

Xen Hypervisor

Virtual Interface

Linux Device Drivers

• New NIC• lspci

• ifconfig -a

• xe pif-scan host-uuid=UUID

• Announce new hardware:xe pif-introduce device=eth0

mac= 00:16:D3:C4:B9:BB host-

uuid=

Snapshotting VMs (CLI)

New commands:

• Perform a regular snapshotxe vm-snapshot vm=vm_name

new-name-label=vm_snapshot_name

• Perform a quiesced snapshotxe vm-snapshot-with-quiesce

vm=vm_name

new-name-label=vm_snapshot_name

HighAvailability

Management Architectures

The Other Guys XenServer

Traditional ManagementArchitecture

• Single backend management server

Next Generation Management Architecture

• Clustered management layer

HighAvailability

Features

Dynamic Failure Planning

Adaptive Heuristics

E-mail Alerting

“Invisible”

High Availability

XenServer 1

XenAppWorkload 1

XenAppWorkload 2

XenAppWorkload 3

XenServer 2

Shared Storage

XenAppWorkload 1

XenAppWorkload 2

XenAppWorkload 3

Standard HA everRun VM

everRun VM + Lockstep

Option (Q4 ‘08)

Level 2 –Component-LevelFault Tolerance

Zero downtime – I/O failures

Automated setup & configuration

Automated fault management

Guaranteed recovery

Geographic protection

Dynamic upgrades

Level 3 –System-LevelFault Tolerance

Zero downtime – Any failure

Maintains application state

Maintains memory state

Level 1 –Basic Failover

Best-effort failover

Linux & Windows guest support

No secondary resource allocation

Shared-LUN support

Marathon – HA Level

Automated High Availability to protect against host failures

I/O multi-path support

Multi-site Disaster Recovery enablement

IncreasednumberofsupportedhostphysicalNICs

Increasednumberofsupportedhosts per pool

Latest Xen 3.x hypervisor

SLES 10 x64 support

SLES 9 SP4 support

Full 32 and 64-bit RHEL support

Windows Server 2008 support 32 & 64-bit (incl. streaming)

New Guest /HV Support

Automated High Availability to protect against host failures

Business Continuity

Windows PV drivers for max performance

MSFT certified hypervisor

Search and Tag Virtual MachinesPersistent performance data / trending

Near bare-metal performance

Sorting, searching, grouping, tagging in XenCenter

XenConvert P2V

Alerting for key runtime events

Bulletproof Reliability

Role-based admin for streaming

Host networking config via XenCenter

QLogic / Emulex 8Gb FC HBA support

Dell EqualLogic SR driver

Snapshots for advanced storage arrays

FC SR creation via XenCenterFC + iSCSI SAN Support

enterprise features…

Increasednumberofsupportedhosts per pool

XenConvert P2VOracle DB certified hypervisor

Oracle Apps certified hypervisor

NIC bonding

NetApp SR driver

10 to Xen installation

Workflow templates

FT upgradable

Auto VM placement and load balancingXenAPIXen SDK

Auto backup of VM metadata

Workflow Studio-enabled

Intuitive XenCenter UI

Performance Comparisons

Performance comparisons

Moore’s Law:doubling transistors 2yrs

3.7 TFlops25 racks512 Servers1000 sq ft128 kW

3.7 TFlops1 rack53 Blades40 sq ft21 kW

XEN: build W2K3 DDK build

XEN & ApplicationSAP scalability on XEN

Reducing XenApp Server Count

Issue: 32-bit Windows can only address 4 GB RAM

Underutilizes modern multi-core processors

4 GB RAM exhausted

Plenty of processor cycles still available

Test Results – Performance Comparison

Physical Server RAM exhausted at <90 users

Test Results – Performance Comparison

Optimized for XenApp

XenServer

Other Guys

73%moreusers

Pool Scalability

1400 VMs, 28 hosts, 1 pool

Citrix XenServer OEM Edition

Enterprise Ready!

WindowsCertification

DisasterRecovery

ImprovedHardwareSupport

UserExperience

Beyond Citrix XenServer 5

Future of Xen, e.g. Client Initiative

• Power Management

• S3 suspend to RAM, Rapid Boot

• GPU passthru w/IOMMU

• USB passthru

• WiFi / WiMax

• Native UEFI support

• Security

• TPM, emulated TPM

• OVF specs

Decision points for XenServer?

• Stability, Performance

• Ease of use: „10 minutes to Xen“; real :-)

• High performance workloads

• Best price/performance ratio

• Provisioning Server

• Close Partnership w/Microsoft

“Citrix is a great partner! They know how to partner

best with Microsoft. They are the best example

for ISV partnership.”

—Steve Ballmer (Photo from Microsoft CIO Summit, Mar 1, 2007)

New Landing Pages

http://www.xenserver5.com

Backup Slides

That’s all for Orlando folks!

Engineering willreturn in 2009 in“Midnight Ride”

Happy Selling!