Solaris Virtualization and the Xen Hypervisor Frank Hofmann



Similar documents
Virtualization. Types of Interfaces

OS Virtualization Frank Hofmann

The Art of Virtualization with Free Software

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

Virtualizare sub Linux: avantaje si pericole. Dragos Manac

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:

Date: December 2009 Version: 1.0. How Does Xen Work?

IOS110. Virtualization 5/27/2014 1

Full and Para Virtualization

Satish Mohan. Head Engineering. AMD Developer Conference, Bangalore

Virtualization. Michael Tsai 2015/06/08

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines

Enterprise-Class Virtualization with Open Source Technologies

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Cloud Computing CS

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition

Basics of Virtualisation

2972 Linux Options and Best Practices for Scaleup Virtualization

Models For Modeling and Measuring the Performance of a Xen Virtual Server

Best Practices on monitoring Solaris Global/Local Zones using IBM Tivoli Monitoring

Virtualization Technologies

Virtualization. Jia Rao Assistant Professor in CS

Parallels Virtuozzo Containers

OPEN SOURCE VIRTUALIZATION TRENDS. SYAMSUL ANUAR ABD NASIR Warix Technologies / Fedora Community Malaysia

Virtual Machine Security

VMware Server 2.0 Essentials. Virtualization Deployment and Management

CSE 501 Monday, September 09, 2013 Kevin Cleary

Practical Applications of Virtualization. Mike Phillips IAP 2008 SIPB IAP Series

Virtualization benefits Introduction to XenSource How Xen is changing virtualization The Xen hypervisor architecture Xen paravirtualization

Virtualization. Jukka K. Nurminen

Virtualization for Cloud Computing

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

VMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D

Virtualization. Pradipta De

Server Virtualization: The Essentials

Outline. Outline. Why virtualization? Why not virtualize? Today s data center. Cloud computing. Virtual resource pool

Hypervisors and Virtual Machines

A cure for Virtual Insanity: A vendor-neutral introduction to virtualization without the hype

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

COS 318: Operating Systems. Virtual Machine Monitors

KVM Security Comparison

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

Enabling Technologies for Distributed Computing

Virtualization and the U2 Databases

Operating Systems Virtualization mechanisms

Virtualization Technology

Enabling Technologies for Distributed and Cloud Computing

Virtualization: Concepts, Applications, and Performance Modeling

Virtualization. Dr. Yingwu Zhu

Anh Quach, Matthew Rajman, Bienvenido Rodriguez, Brian Rodriguez, Michael Roefs, Ahmed Shaikh

The XenServer Product Family:

Open Source Virtualization

Chapter 5 Cloud Resource Virtualization

How To Create A Cloud Based System For Aaas (Networking)

9/26/2011. What is Virtualization? What are the different types of virtualization.

Servervirualisierung mit Citrix XenServer

CS 695 Topics in Virtualization and Cloud Computing and Storage Systems. Introduction

Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors

Pete s All Things Sun: Comparing Solaris to RedHat Enterprise and AIX Virtualization Features

Introduction to Virtual Machines

Distributed Systems. Virtualization. Paul Krzyzanowski

Intro to Virtualization

Performance tuning Xen

Introduction to Virtual Machines

Developing a dynamic, real-time IT infrastructure with Red Hat integrated virtualization

12. Introduction to Virtual Machines

SCSI support on Xen. MATSUMOTO Hitoshi Fujitsu Ltd.

Comparing Free Virtualization Products

CS 695 Topics in Virtualization and Cloud Computing. Introduction

<Insert Picture Here> Oracle Database Support for Server Virtualization Updated December 7, 2009

SUSE Linux Enterprise 10 SP2: Virtualization Technology Support

Distributed and Cloud Computing

Virtualization is set to become a key requirement

Cloud^H^H^H^H^H Virtualization Technology. Andrew Jones May 2011

Virtual Machines.

What is virtualization

Virtualization and Performance NSRC

Virtual machines and operating systems

A quantitative comparison between xen and kvm

Xen and the Art of Distributed Virtual Machine Management

Virtualizing a Virtual Machine

Virtualization Technology. Zhiming Shen

VIRTUALIZATION 101. Brainstorm Conference 2013 PRESENTER INTRODUCTIONS

Virtual Hosting & Virtual Machines

Virtualization with Windows

KVM KERNEL BASED VIRTUAL MACHINE

Virtualization Overview

APPLICATION OF SERVER VIRTUALIZATION IN PLATFORM TESTING

kvm: Kernel-based Virtual Machine for Linux

Understanding Full Virtualization, Paravirtualization, and Hardware Assist. Introduction...1 Overview of x86 Virtualization...2 CPU Virtualization...

Chapter 14 Virtual Machines

Transcription:

Solaris Virtualization and the Xen Hypervisor Frank Hofmann Solaris Released Products Engineering Sun Microsystems UK

All things in the world come from being. And being comes from non-being. Lao Tzu

Overview Virtualization techniques by Sun Microsystems > Hardware partitions/domains > Virtual Servers > System Emulation > Hypervisors Logical partitions/domains A little bit on sun4v and quite a lot on i86xen Solaris Xen dom0 / domu interfaces Peeking at Xen in action

Telescope view at Virtualization Virtual Environment A Virtual Environment B... Virtual Environment X Upcalls The black box of The System

Virtualization by Service Java Virtual Machine write once run everywhere Application servers automatic service discovery Webserver farms load balancing NFS server failover high availability Very high level approach at virtualization beyond scope today...

Virtualization by Interface Filesystem Hierarchy: Virtual Servers / Zones System calls: dosemu, Wine, BrandZ Instruction set: JVM, MacOS Rosetta, FX!32 Hardware: Simics, VMware, Parallels, QEmu,... Paravirtualization: Hypervisors Most real products are hybrids.

@Sun: Hardware Domains / Partitioning Requires Support on-board for things like: > Complete CPU/Memory/IO board hotplugging > Full hardware redundancy First available on SPARC hardware by CS6400, E10k Hardware fault isolation high cost in hardware and adminstration Number of Hardware domains (severely) limited Not Virtualization, just Consolidation (more than one system in a box)

@Sun: Zones (Virtual Servers) Multiple administrative domains Number of Zones not limited to hardware capabilities Zone creation/bringup/deletion is very cheap Software/Application fault isolation Single OS instance, single hardware Per-Zone Resource Management: > CPU share reservation > Memory reservation (not yet shipping in Solaris 10) > Storage reservation > Virtual Network interfaces

@Sun: Branded Zones Multiple administrative domains System call interface interposition Currently provides Linux Zones Possible future extensions: > Wine Zone > *BSD Zone > old Solaris Zone > Add instruction emulator and create SPARC Zone?

@Sun: System Emulation SPARC CPUs instruction emulation > full software SPARC possible by specification > For example: UltraSPARC-T1 has no VIS unit: http://cvs.opensolaris.org/source/xref/on/usr/src/uts/sun4/os/visinstr.c > No SPARC CPU implements full sparcv9 instruction set VMware ESX Server certified on Sun Galaxy

@Sun: System Emulation SPARC CPUs instruction emulation > full software SPARC possible by specification > For example: UltraSPARC-T1 has no VIS unit: http://cvs.opensolaris.org/source/xref/on/usr/src/uts/sun4/os/visinstr.c > No SPARC CPU implements full sparcv9 instruction set VMware ESX Server certified on Sun Galaxy BAD ATTEMPT AT MARKETING BY AN ENGINEER...

Paravirtualization and Hypervisors App A... App X App... App Zone Y Zone X Logical Domain A Operating System Logical Domain B Operating System System Calls... Logical Domain X Operating System Hypercalls Virtual Machine Monitor / Hypervisor Direct Hardware Access The black box of The Hardware

@Sun: sun4v Logical Domains UltraSPARC-T1 (Niagara) Firmware has Hypervisor Solaris on sun4v architecture: LDoms Virtual Network / Disk devices on T1000/T2000 Sourcecode: http://cvs.opensolaris.org/source/xref/on/usr/src/uts/sun4v/ Interface Specifications: http://www.opensparc.net/publications/presentations/your-os-on-the-t1-hyperv http://opensparc-t1.sunsource.net/

@Sun: Solaris/Xen, domu and dom0 Why do we do it? > Because it's cool! > Because it's cool! > Because it's really cool! > For boring talk, ask your Sun Sales Representative What do we provide? > Solaris as Hypervisor Solaris dom0 in Xen terms > Solaris as Guest Solaris domu (new architecture: i86xen) Project Codename: No idea... really...

Xen Components Overview Virtual Network Driver Virtual Disk Driver Xen Guest (domu) HAT Layer Code Xen Event Channels Xen Hypercalls Virtual Network Backend Virtual Disk Backend Xen Host (Dom0) Direct Hardware Access The black box of The Hardware

Solaris/Xen: Dom0 Hypervisor code Solaris/Xen dom0 code: > communication between domu/dom0 via: > interrupt handler (hypercalls) > shared memory ringbuffers (xenstore) > Xen interdomain communication abstraction layer: Event Channels > key functions/sourcefiles in server side (dom0): usr/src/uts/i86xen/os/evtchn.c, xen_callback_handler() usr/src/uts/common/xen/io/xenbus*.c usr/src/uts/common/xen/io/xendev.c usr/src/uts/common/xen/os/xvdi.c > Caveat: very complex code structure. Hypervisor host/guest code not in separate sourcefiles!

Solaris/Xen: virtual network Solaris/Xen virtual network driver: > Both frontend and backend are network drivers > Frontend domu: usr/src/uts/common/xen/io/xnf.c > Backend dom0: usr/src/uts/common/xen/io/xnb.c

Solaris/Xen: virtual disks Solaris/Xen virtual disk driver: > Virtual Block Device, VBD: > Frontend domu: usr/src/uts/common/xen/io/xvbd.c > Backend dom0: usr/src/uts/common/xen/io/xvbdb.c

Solaris/Xen: DomU hypervisor interface Solaris/Xen hypercall consumers, domu code: > I've run out of time... > This is a workshop so why not look while playing? > We've got a whole day to find out > Use the source, luke! > Self-study starts with: find. -type f -exec grep hypercall '{}' /dev/null \; <131 files> find. -type f -exec grep HYPERVISOR '{}' /dev/null \; <459 files>

References Xen Project: http://xen.sf.net/ http://www.cl.cam.ac.uk/research/srg/netos/xen/ http://www.xensource.com/ OpenSolaris Xen Community: http://www.opensolaris.org/os/community/xen/ http://www.opensolaris.org/os/community/xen/how-to-8-15-06/ OpenSPARC, sun4v hypervisor: http://opensparc-t1.sunsource.net/ Intel VT and AMD Pacifica (lots more...): http://www.intel.com/technology/itj/2006/v10i3/3-xen/ 5-performance-tuning-vt-x.htm http://developer.amd.com/articles.jsp?id=14&num=1

When I let go of what I am, I become what I might be. Lao Tzu

Solaris Virtualization and the Xen Hhypervisor Frank Hofmann Frank.Hofmann@sun.com