Transforming XenServer into a proper open-source project

Similar documents
Virtualization Introduction

Xen Project 4.4: Features and Futures. Russell Pavlicek Xen Project Evangelist Citrix Systems

Virtualization in the Cloud Lars Kurth Xen Community Manager

Xen. past, present and future. Stefano Stabellini

Virtualization in the Cloud: Featuring Xen Lars Kurth Xen Community Manager

Linux Virtualization Update

Xen Summit Spring 2007

Xen and CloudStack. Ewan Mellor. Director, Engineering, Open-source Cloud Platforms Citrix Systems

The only open-source type-1 hypervisor

Originally prepared by Lehigh graduate Greg Bosch; last modified April 2016 by B. Davison

Xen Project Status Ian Pratt 12/3/07 1

User Guide for XenServer Fuel Plugin

Citrix CloudPlatform (powered by Apache CloudStack) Version Patch D Release Notes. Revised July 02, :15 pm Pacific

Chapter 5 C. Virtual machines

Xen Project Overview and Update. Ian Pratt, Chairman of Xen.org, and Chief Scientist, Citrix Systems Inc.

What is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks

Virtualisation: The KVM Way. Amit Shah

Xen on ARM. Stefano Stabellini

Hostless Xen Deployment

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.

fuel-plugin-xenserver Documentation

Xen Community Update. Ian Pratt, Citrix Systems and Chairman of Xen.org

SteelEye Solutions Extend Citrix XenServer. Bob Williamson

CS370 Operating Systems

Module 1: Virtualization. Types of Interfaces

Optimizing and Enhancing VM for the Cloud Computing Era. 20 November 2009 Jun Nakajima, Sheng Yang, and Eddie Dong

Xen and the Art of Virtualiza2on

Painless switch from proprietary hypervisor to QEMU/KVM. Denis V. Lunev

Implementation and. Oracle VM. Administration Guide. Oracle Press ORACLG. Mc Grauv Hill. Edward Whalen

XenServer Master Class Networking

Virtualization Food Fight. Rik van Riel

Nested Virtualization and Server Consolidation

Overview. Compatibility Requirements and Caveats. XenServer-Nutanix Integration Guide. December 2017

Installation and Reference Guide High Availability iscsi Add-On for HA-Lizard

SCALE 14X. The Bare-Metal Hypervisor as a Platform for Innovation. By Russell Pavlicek Xen Project Evangelist

In-Guest Mechanisms to Strengthen Guest Separation. XenSummit 2013 Philip Tricca

My VM is Lighter (and Safer) than your Container

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Cloud environment with CentOS, OpenNebula and KVM

CHAPTER 16 - VIRTUAL MACHINES

CSCI 8530 Advanced Operating Systems. Part 19 Virtualization

/ Cloud Computing. Recitation 5 February 14th, 2017

/ Cloud Computing. Recitation 5 September 26 th, 2017

Measuring Disk Performance with Bonnie++ Application Benchmarks httperf: A Load Generator for HTTP Servers Another Application Benchmark: POV-Ray

Linuxboot continuous integration

SUSE An introduction...

XenSource s Xen testing infrastructure

What s New in Newton. Emily Hugenbruch, Advisory Software

Scheduling in Xen: Present and Near Future

Directions in Data Centre Virtualization and Management

XenServer Release Notes

OpenXT Project in 2016

Services in the Virtualization Plane. Andrew Warfield Adjunct Professor, UBC Technical Director, Citrix Systems

ANALYSIS OF VIRTUAL NETWORKS IN DATA CENTERS.

Virtualization with colinux

The Architecture of Virtual Machines Lecture for the Embedded Systems Course CSD, University of Crete (April 29, 2014)

LINUX Virtualization. Running other code under LINUX

Red Hat Enterprise Virtualization Hypervisor Roadmap. Bhavna Sarathy Senior Technology Product Manager, Red Hat

ovirt and Docker Integration

Virtual Machines. Part 2: starting 19 years ago. Operating Systems In Depth IX 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.

The Convergence of Storage and Server Virtualization Solarflare Communications, Inc.

Xen on ARM ARMv7 with virtualization extensions

Virtualization. join, aggregation, concatenation, array, N 1 ühendamine, agregeerimine, konkateneerimine, massiiv

Zdeněk Kubala Senior QA

DELIVERING HIGH-PERFORMANCE REMOTE GRAPHICS WITH NVIDIA GRID VIRTUAL GPU. Andy Currid NVIDIA

Five reasons to choose Citrix XenServer

Multiprocessor Scheduling. Multiprocessor Scheduling

OS PMM - More space: if you give an OS more memory

Transparent Service Migration to the Cloud Clone existing VMs to CloudStack/OpenStack templates without user downtime. CloudOpen Seattle 2015

Software Engineering at VMware Dan Scales May 2008

Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018

CSE 120 Principles of Operating Systems

Unit 2. VMMs and hypervisors 2966-Network and Services Virtualisation First semester Assistant professor: Katja Gilly Departament: Physics

RHEV in the weeds - special sauce! Marc Skinner

Oracle-Regular Oracle-Regular

Intel Cache Acceleration Software (Intel CAS) for Linux* v2.9 (GA)

Tooling Linux for the Future of Embedded Systems. Patrick Quairoli Director of Alliance and Embedded Technology SUSE /

DOUG GOLDSTEIN STAR LAB XEN SUMMIT AUG 2016 ATTACK SURFACE REDUCTION

Secure Server Project. Xen Project Developer Summit 2013 Adven9um Labs Jason Sonnek

Citrix XenServer 6.5 Virtual Machine User's Guide. Published Thursday, 15 January Edition

64-bit ARM Unikernels on ukvm

vnetwork Future Direction Howie Xu, VMware R&D November 4, 2008

Reducing CPU usage of a Toro Appliance

CSC 5930/9010 Cloud S & P: Virtualization

DPDK Roadmap. Tim O Driscoll & Chris Wright Open Networking Summit 2017

Virtualization. Virtualization

Towards Massive Server Consolidation

How to abstract hardware acceleration device in cloud environment. Maciej Grochowski Intel DCG Ireland

Investigating Containers for Future Services and User Application Support

Traditional Desktop Deployment. Desktop Delivery Vision. End to End desktop virtualization. virtualization. virtualization

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy

ENTERPRISE HYPERVISOR COMPARISON

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS

XenServer System Recovery Guide

Citrix XenServer 7.0 Virtual Machine User's Guide. Published October Edition

COSC6376 Cloud Computing Lecture 14: CPU and I/O Virtualization

Hypervisor security. Evgeny Yakovlev, DEFCON NN, 2017

Performance Evaluation of Live Migration based on Xen ARM PVH for Energy-efficient ARM Server

[Docker] Containerization

CS 550 Operating Systems Spring Introduction to Virtual Machines

Transcription:

Transforming XenServer into a proper open-source project James Bulpin CTO, XenServer, Citrix

About the speaker James Bulpin Head of technology for XenServer group in Citrix; member of the Citrix CTO office Oversees XenServer architecture and evolution Joined XenSource, the original Xen start-up, in 2005 Completed a PhD in the Systems Research Group at the University of Cambridge

Talk overview XenServer s transition from proprietary product to open-source project What we re trying to achieve by moving to a more open model What we ve done so far What we ve yet to do Architectural and packaging changes being made to XenServer Some of the challenges we ve encountered

A quick XenServer primer

Anatomy of a Xen system Control domain (dom0) I/O Toolstack Dom0 Kernel Console Scheduler MMU XSM Memory CPUs VM 0 VM 1 VM n Guest OS and Apps Hypervisor Host HW Xen is a hypervisor that virtualizes memory and processors, and polices access to devices Control Domain, aka Dom0, is a Linux environment ᵒ Dom0 kernel with drivers ᵒ Xen Management Toolstack ᵒ Qemu for emulating non-virtualized bits ᵒ Virtual device backends

Anatomy of a Xen system Control domain (dom0) I/O Toolstack Dom0 Kernel Console Scheduler MMU XSM Memory CPUs VM 0 VM 1 VM n Guest OS and Apps Hypervisor Host HW Xen is a hypervisor that virtualizes memory and processors, and polices access to devices When we talk about Xen we generally mean the hypervisor and toolstack Control Domain, aka Dom0, is a Linux environment ᵒ Dom0 kernel with drivers ᵒ Xen Management Toolstack ᵒ Qemu for emulating non-virtualized bits ᵒ Virtual device backends

What is XenServer? A distribution of Xen, the XAPI toolstack, Linux and other components A shrink-wrapped, ready to run, virtualization platform A CLI and Windows management user interface Builds on basic Xen virtualization to provide high level management: Networking Storage User accounts High availability Cluster management Performance monitoring

Anatomy of a XenServer system Console UI Control domain (dom0) XAPI Toolstack Lots of other stuff Dom0 Kernel Scheduler MMU XSM VM 0 VM 1 VM n Guest OS and Apps Hypervisor I/O Memory CPUs Host HW

A quick plug for the Xen Project User Summit Co-located here with LinuxCon Wednesday 9:00am - 5:00pm 11 great talks including: Xen: This Is Not Your Dad s Hypervisor! (Demetrious Coulis, CA AppLogic) Free yourself from the tyranny of your cloud provider! (Greg Kroah- Hartman, The Linux Foundation) Xen, XenServer, and XAPI: What s the Difference? (James Bulpin and Russell Pavlicek, Citrix Systems)

XenServer history

XenServer s history the early days First generally available product from XenSource, the start-up formed by the creators of the Xen hypervisor Initially released in 2006 as XenEnterprise 3.0.0 (based on Xen 3.0.0) Initial product was a single-host, Linux guest only (paravirtualized) server virtualization platform with very limited capabilities Management stack was a proprietary C daemon talking to the open-source Xen low level tool stack Evolved through 2006 and 2007 to add support for fully-virtualized Windows VMs (using Intel VT) and additional storage and network management

XenServer s history - XAPI Introduced a new toolstack architecture and API (XAPI/Xen-API) in version 4.0 in late 2007 Written in OCaml, a statically typed, object-oriented language which allows both functional and imperative programming styles Hosts can be clustered to create resource pools Initially proprietary code Interfaced directly to low level library ᵒ Bypassing official Xen toolstack xe CLI xapi libxenctrl xm CLI xend libxenctrl Xen XenServer Xen open-source Xen

XenServer s history XCP and open-source XAPI XAPI toolstack and related components made open-source in 2009 ᵒ Under the xen.org (now Xen Project) umbrella ᵒ Code hosted on github A binary distribution was created to act as a container for open-source XAPI ᵒ Called Xen Cloud Platform ᵒ Very similar to XenServer but without (most of the) non-foss pieces

XenServer s history Project Kronos Getting XAPI packaged for Debian and Ubuntu Divergent work from XAPI in XenServer $ apt-get install xcp-xapi

XenServer s history open-sourcing the rest

Moving to a more open model

Why do it? Remove barriers to collaboration, particularly for partners integrating with XenServer Better communication with the user community, not just a product launch time but all the time Empower users to share experience and knowledge to help make XenServer the best it can be

Non-goals Getting the world to do unpaid coding for Citrix Build a Linux- or Apache-like development community

90+% of XenServer was based on open-source code before, so what s really changed?

XenServer previously Key: Proprietary OSS, public dev OSS, non-public dev Qemu Transfer VM XenServer Tools (PV drivers) CentOS 5.x Linux Kernel CIM Server AD Integration XAPI HA Storage Manager XenCenter Xen

XenServer after open sourcing Key: Proprietary OSS Qemu Transfer VM XenServer Tools (PV drivers) CentOS 5.x Linux Kernel CIM Server AD Integration XAPI HA Storage Manager XenCenter Xen

Not just about the code.. Open roadmap Open test harnesses Open defect tracking Open build

XenServer.org Interactive Community Portal for engaging with Citrix and other users Source Code Road Maps License Data Live QA Partner Directory Forums (migrating soon) Developer Resources Mailing Lists

What does this mean for XCP users? XCP (the ISO) and XenServer will merge XCP ISO users of XCP v1.6 will be able to upgrade to XenServer (which is now equivalent) xapi development will be done within auspices of the Xen Project in the Linux Foundation XCP users will be getting a better deal than they had before : ᵒ No more delays to XCP releases ᵒ Timely hotfixes that can be easily installed, ᵒ A product that's even more open than it was before.

Progress done so far Key proprietary components open-sourced on github: ᵒ XenCenter UI, Windows PV drivers, HA daemon Some patch queues against upstream components published: ᵒ qemu-xen traditional, openvswitch XenRT automated test harness published xenserver.org portal created xs-devel@lists.xenserver.org mailing list created and seeing some use

Progress still to do Get all Citrix-internal technical discussions onto xs-devel list Get an external wiki and populate with current architectural plans, designs, roadmaps etc. Get the roadmap published Get the remaining patch queues published Define a release model for the project Produce a new build system that s usable outside of Citrix Up the level of community engagement

Architectural and packaging changes

Problems with the current architecture XenServer predates the existence of decent virtualization toolstacks so did its own thing XenServer has its own management stack ᵒ Requires reimplementation of functionality present in other stacks (libvirt, libxl) XenServer has its own storage data plane (blktap2ish) ᵒ Requires reimplementation of storage datapaths in other stacks (primarily qemu) Innovation around XenServer doesn t benefit the wider community Innovation in the wider community doesn t benefit XenServer

Remove toolstack divergence vs. Xen Project

Problems with the current architecture XenServer predates the existence of decent virtualization toolstacks so did its own thing xe CLI xm CLI XenServer has its own xapi management stack xend ᵒ Requires reimplementation of functionality present in other stacks (libvirt, libxl) libxenctrl libxenctrl XenServer has its own storage data plane (blktap2ish) ᵒ Requires reimplementation of storage datapaths in other stacks (primarily qemu) Xen Xen Innovation around XenServer doesn t benefit the wider community Innovation in the XenServer wider community open-source doesn t benefit Xen XenServer

Problems with the current architecture XenServer predates the existence of decent virtualization toolstacks so did its own thing xe CLI xl CLI XenServer has its own xapi management stack libxl ᵒ Requires reimplementation of functionality present in other stacks (libvirt, libxl) libxenctrl libxenctrl XenServer has its own storage data plane (blktap2ish) ᵒ Requires reimplementation of storage datapaths in other stacks (primarily qemu) Xen Xen Innovation around XenServer doesn t benefit the wider community Innovation in the XenServer wider community open-source doesn t benefit Xen XenServer

Port xapi stack to libxl xe CLI xapi libxenctrl Xen xl CLI libxl libxenctrl Xen XenServer open-source Xen

XenServer xe CLI Port xapi stack to libxl xapi libxl xl CLI libxenctrl Xen open-source Xen

Move to upstream qemu and leverage stuff developed within it

Problems with the current architecture XenServer is its own Linux distribution loosely based on packages from CentOS 5.x ᵒ High cost to maintain this distribution ᵒ Incompatible with tools used to manage distribution installation etc. ᵒ Providing packages for any other distribution is a side show so costs more ᵒ On a very old base newer package versions often needed Lack of build and packaging modularity and hygiene ᵒ Builds take a very long time ᵒ Makes it hard to rebuild just one piece (not community friendly) ᵒ Easy to make mistakes, especially related package uninstall and upgrade

XenServer = base Linux distribution + set of packages

Remove OSS divergence and package properly

XenServer packages buildable by all MyBuildBox:~ $./configure && make && make install

XenServer packages integrated in distros mydebianbox:~ $ apt-get install xenserver-core mycentosbox: ~ $ yum-install xenserver-core etc. ap

www.xenserver.org Join the community! - Create a XenServer.org login - Share your knowledge Tell the world!