develop, consolidate and manage virtual environments entirely

Post on 10-May-2015

794 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

OpenSolaris Virtualization Technologies

Aaron Dailey

Staff EngineerSolaris Storage Software

Agenda• Virtualization Overview• Zones

> BrandZ> lx

• Xen (xVM)• VirtualBox• Demo• Q&A

The Need for Virtualization• Driven by the need to consolidate multiple hosts

and services on a single machine• Leads to...

> Increased hardware utilization (currently average data center utilization is below 15%)

> Greater flexibility in resource allocation> Reduced power requirements> Minimize management costs> Lower the cost of ownership

Use Cases• Server Consolidation• Testing and Development• Fail-over through replication• Provisioning compute resources• Legacy Applications• Secure Execution

Types of Virtualization• Hard Partitions

> Ex: Sun Domains, IBM LPARS, HP nPARS• Virtual Machines

> Para-virtualization> Ex: Xen, User-Mode Linux (UML)

> Full Virtualization> Ex: LDOMS, VMWare, Parallels, Xen (VT or AMDV), Virtual

Box• OS level Virtualization

> Ex: Solaris Zones, Vservers, Jails

Types of VirtualizationHard Partitions Virtual Machines OS Virtualization Resource Mgmt.

Server

OS

App

Multiple OS's Single OS

Dynamic SystemDomains\

Solaris Containers(Zones + SRM)

BrandZ

Solaris ResourceManager (SRM)

Logical DomainsXen

Trend to flexibility Trend to isolation

CrossBow

Trend to observability

●OS level Virtualization

Solaris ZonesSingle OS instance – Many Virtual OSes

• Virtualize OS services to emulate an OS instance• Isolates applications from each other• Improve security by intrusion-isolation• Boot and bring down zones independent of the OS

instance• Compatible with existing applications• Complements existing resource management.• Almost arbitrary granularity in isolating and sharing

resources

Facilities Virtualized for Zones• Processes• File Systems• Networking• Identity• Devices• Packaging

Zones Block Diagram

network device(hme0)

storage complex

global zone (v880-room2-rack5-1; 129.76.1.12)

dns1 zone (dnsserver1)

zoneadmd

mail zone (mailserver)

network services(sendmail, IMAP)

remote admin/monitoring(SNMP, SunMC, WBEM)

platform administration(syseventd, devfsadm, ifconfig, metadb,...)

core services(inetd)

core services(inetd)

core services(inetd, rpcbind, sshd, ...)

zone root: /zone/dns1 zone root: /zone/mail1

network device(ce0)

zone management (zonecfg(1M), zoneadm(1M), zlogin(1), ...)

ce0:

3

ce1:

1

hme0

:1

zcon

s

zcon

s

zoneadmd

/usr

/usr

Appli

catio

nEn

viron

ment

Virtu

alPl

atfor

m

login services(SSH sshd)

network services(named)

zoneadmd

web1 zone (foo.org)

network services(Apache, Tomcat)

core services(inetd)

zone root: /zone/web1

hme0

:2

ce0:

1

zcon

s

/usr

zoneadmd

web2 zone (bar.net)

network services(IWS)

core services(inetd)

zone root: /zone/web2

hme0

:3

ce0:

2

zcon

s

/usr

pool2 (4 CPU)

network device(ce1)

login services(SSH sshd)

login services(SSH sshd)

login services(SSH sshd, telnetd)

10

pool1 (4 CPU), FSS

30 60

BrandZ: Branded Zones• Extends Zones model to support “non-native” zones

on a Solaris system> Only supports user-space environments> If you need a different kernel, see Xen

• Each distinct zone type is called a Brand• Possible uses:

> A Linux zone> A Solaris GNU zone (Nexenta/ShilliX/BeleniX)> Support for Solaris N-1 on Solaris N> A MacOS X zone

The lx Brand• Marketing Name: Solaris Containers for Linux

Applications• Enables Linux Binaries to run unmodified on Solaris • Creates a zone for Linux application execution

> Zone is populated only with Linux software> At boot, it runs the Linux init(1M), configuration scripts, and

applications> It all runs on a Solaris kernel.

• There is no Linux software delivered with BrandZ> This is not a new Linux distro> We install and run standard Linux distributions

Branded Zones Block Diagram

network device(hme0)

storage complex

global zone (v880-room2-rack5-1; 129.76.1.12)

dns1 zone (dnsserver1)

zoneadmd

Linux zone (linux)

remote admin/monitoring(SNMP, SunMC, WBEM)

platform administration(syseventd, devfsadm, ifconfig, metadb,...)

core services(inetd)

Linux core services(NIS, xinetd, autofs)

core services(inetd, rpcbind, sshd, ...)

zone root: /zone/dns1 zone root: /zone/lx

network device(ce0)

zone management (zonecfg(1M), zoneadm(1M), zlogin(1), ...)

ce0:

3

ce1:

1

hme0

:1

zcon

s

zcon

s

zoneadmd

/usr

/usr

Appli

catio

nEn

viron

ment

Virtu

alPl

atfor

m

login services(SSH sshd)

network services(named)

zoneadmd

web1 zone (foo.org)

network services(Apache, Tomcat)

core services(inetd)

zone root: /zone/web1

hme0

:2

ce0:

1

zcon

s

/usr

zoneadmd

web2 zone (bar.net)

network services(IWS)

core services(inetd)

zone root: /zone/web2

hme0

:3

ce0:

2

zcon

s

/usr

pool2 (4 CPU)

network device(ce1)

login services(SSH sshd)

login services(SSH sshd, telnetd)

10

pool1 (4 CPU), FSS

30 60

linux user apps (OpenSSH 3.6, acroread,MATLAB, yum, pandora)

BrandZ Use Cases• As a transition tool, reducing the Linux “barrier to exit”

> Customer would like to move to Solaris, but has legacy Linux applications

• Best of both worlds> Users familiar with Linux environment> Administrators want Solaris' enterprise-class features:

resource management, fault management, DTrace• Developer/ISV workload

> Solaris has strong development tools, let Linux developers leverage them.

> We want Solaris to be a better Linux development platform than Linux.

What BrandZ is Not• Not a full system emulator or virtualization layer

> No non-Solaris kernel code is ever executed.> You can't run any random Linux distribution.

• Doesn't support all Linux kernel functionality.> No support for Linux file systems, kernel modules, or

device drivers.> Not all system calls are fully supported.

• Not simply binary emulation (like lxrun, wine, etc.)> You can't just run the Linux version of acroread from your

Solaris shell prompt.

BrandZ Status• Available in Nevada (SX*) and s10u4• Zones running a Red Hat Enterprise Linux 3.x or

CentOS 3.x operating environment> Support for Linux 2.4.21 system call interface> Basic /proc and /dev support

• DTrace support for Linux applications> Linux syscall provider> PID provider

• Rapid deployment and teardown of Linux zones.> Perfect for building 'throwaway' zones for

development/QA

●Virtual Machines

Para- vs Full Virtualization• Para-virtualization

> Runs OS ported to virtual machine arch> Uses “virtual” device drivers to communicate between

guest and host operating systems> More efficient since it is hypervisor-aware> Xen, Logical Domains

• Full virtualization> Runs binary image of “metal” OS> Must emulate real I/O devices> Can be slow, needs help from hardware> May use trap and emulate or rewriting> VMware, Parallels, Xen, Virtual Box

Xen• Open source hypervisor technology developed at

the University of Cambridge> http://www.cl.cam.ac.uk/Research/SRG/netos/xen/

• Supports both para- and full virtualization• Runs on x86/x64, PowerPC, Itanium• Supports Solaris, Linux, FreeBSD• OpenSolaris on Xen (xVM) community

> http://www.opensolaris.org/os/community/xen

Xen 3.x Architecture

Event Channel Virtual MMUVirtual CPU Control IF

Hardware (SMP, MMU, physical memory, Ethernet, SCSI/IDE)

NativeDeviceDriver

GuestOS(Solaris)

Device Manager & Control s/w

VM0

NativeDeviceDriver

GuestOS(XenLinux )

VM1

Front -EndDevice Drivers

GuestOS(Solaris)

UnmodifiedUser

Software

VM2

Front -EndDevice Drivers

UnmodifiedGuestOS(WinXP ))

UnmodifiedUser

Software

VM3

Safe HW IF

Xen Virtual Machine Monitor

Back -End Back -End

VT-xAMDV

32/64bit

AGPACPIPCI

SMP

dom0 domU1 domU2 domU3

Key Xen Capabilities• Multiple OSes running simultaneously

> Linux, Solaris, Windows XP> No longer a boot-time decision

• Special purpose kernels within DomUs for paravirtualized> Drivers, filesystems

• Checkpoint/Restart and Live Migration> Provisioning> Grid operations

OpenSolaris on Xen Port• Platform rather than arch port

> Able to leverage most of the Solaris x86 code base> Areas of greatest difference from “i86pc”

> Privileged CPU operations turned into hypercalls> Low-level MMU, segmentation, exceptions> Xen “event” model of interrupts

• New virtual device drivers for paravirtualization> net, disk, console

• Dom0 infrastructure and tools• Paravirtualized DomU

Why Solaris Domain 0• Observability, debugging tools• ZFS• FMA• Containers and TX• CrossBow (virtualized network support)• HW support

OpenSolaris on Xen Status• OpenSolaris domU and dom0

> 32/64-bit, UP, MP (virtual 32-way!)> Virtual disks, network, bridge> CPU and Memory Hot plug support

• Currently available:> OpenSolaris build 75 and onwards> Xen 3.1> PV drivers for Solaris and Windows

Sun xVM

Complete Virtualization and Management Solution

Sun xVM Server• Hypervisor family• Consolidates Windows,

Linux and Solaris• Implementations for x86

and SPARC

Sun xVM Ops Center• Physical and virtual

resource management• Manage thousands

of hardware andsoftware entities

VirtualBox• Full x86 PC virtualization• Free and open source• Easy to Use• Host OS: Solaris, Windows, Linux, Mac (beta)• Guest OS: Solaris, Windows, Most Linux, *BSD,

DOS, OS/2, others• Develop on VirtualBox, deploy on xVM Server• http://virtualbox.org

Join Us...• Our communities and projects are open on

OpenSolaris.org:> Zones: http://opensolaris.org/os/community/zones> BrandZ: http://opensolaris.org/os/community/brandz> Xen: http://opensolaris.org/os/community/xen> CrossBow: http://opensolaris.org/os/project/crossbow

• Where you will find:> Lively discussions, design docs, FAQs, source code

drops, preliminary binary releases, etc...

OpenSolaris Virtualization Technologies

aaron.dailey@sun.com

●Backup Slides

Solaris Zones vs Hypervisors• Zones

> Scalable, fast, virtual platform, platform agnostic> Emphasis on sharing, simpler administration> Improved fault isolation over “single system.”> Alternate brands

• Hardware Virtualization> Emphasis on separation> Fault isolation, (Xen: SPOFs remain)> Live Migration> Foreign OSes

Zones and Resource Management• RM configured within zonecfg

> New 'dedicated-cpu' and 'capped-memory' resources> All RM configuration performed when zone boots> RM configuration migrates with the zone

• Temporary Pools• rcapd can run in global zone and cap zones

> Improved RSS accounting• New zone.max-swap rctl• Simplified rctl syntax within zonecfg• Persistent RM configuration for global zone

●Network Virtualization

The Need for Network Virtualization• ISP offering web and e-mail services

> Consolidate multiple hosts on a single machine> Users expect minimal performance level per virtual host

• Financial services> Consolidate multiple services on a single machine> Some services have minimum performance

requirements, or higher priority

Crossbow• Building blocks for network virtualization and

resource control• Virtualizes: stack, services, protocols or virtual

machine.• Each virtual stack can be assigned its own priority

and bandwidth.• Built into the architecture• Better defense against denial-of-service attacks

Functional Components

• Virtual Network Interface Cards (VNICs)• Flow Management• Hardware Support of flow processing• Adminstration model

> dladm(1M)> flowadm(1M)

CrossBow Virtual NICs

• Carve up 1Gb/s and 10Gb/s hardware NIC into multiple virtual NICs

• Implemented as a Nemo/GLDv3 MAC driver.• Assign NIC hardware resources (interrupts, rings,

etc) to virtual NICs• Rely on hardware-based flow classification to steer

traffic to VNICs and maximize performance• Assign VNICs to Zones or Xen domains

CrossBow Virtual NICs Example

Zone 1VirtualSqueue

Zone 'n'VirtualSqueue

Zone 2VirtualSqueue . . .

Zone 2 Virtual SQUEUE

All Traffic

Compute Resources

NIC

Zone 1HTTPRing

Zone 2All TrafficRing

Zone 1HTTPSRing

Flow Classifier.. .

Zone 1Default Ring .. . .

Zone 1 Virtual SQUEUE

HTTPSqueue

HTTPSSqueue

Default Squeue.. .

VNIC1 VNIC2

CrossBow Virtual NICs for XenSolaris Guest OS 2

Guest OS 2 Virtual SQUEUE

All Traffic

Guest OS 2 VNIC

Solaris Guest OS 1

Guest 1 Virtual SQUEUE

HTTPSqueue

HTTPSSqueue

Default Squeue.. .

Solaris Guest OS 2 VNIC

NIC

HOST OSAll traffic

Ring

Guest OS 2All Traffic

Ring

Guest OS 1HTTPSRing

Flow Classifier.. .

Guest OS 1Default

Ring .. . .Guest OS 1

HTTPRing.. . . .

Solaris Host OS

Host OS Virtual SQUEUE

All Traffic

Host OS VNIC

NICVirtualization

Engine

NICVirtualization

Engine

NICVirtualization

Engine

Stack Instances for Zones and VNICs

Specific To

Containers

Common To AllZones

Zone 1GlobalZone

SharedStack with

Global Zone

GlobalZone

Squeue

.. .VirtualNIC

VirtualNIC

NIC

Global ZoneRing

Zone 1Ring

Flow Classifier.. .

Zone nRing

VirtualNIC

SharedNetwork

Stack

Zone 1Squeue

Zone 2

Exclusive Network

Stack

Zone 2Squeue

NetworkStack

CrossBow Status• Available on OpenSolaris:

> Core VNIC functionality> Bandwidth Control for TCP

• Available in Nevada (SX*) and s10u?:> Stack Instances

top related