Automating Xen Virtual Machine Deployment Kris Buytaert

Slides:



Advertisements
Similar presentations
Status Report Ian Pratt University of Cambridge and Founder of XenSource Inc. Computer Laboratory.
Advertisements

Virtualisation From the Bottom Up From storage to application.
Windows Deployment Services WDS for Large Scale Enterprises and Small IT Shops Presented By: Ryan Drown Systems Administrator for Krannert.
Bart Miller. Outline Definition and goals Paravirtualization System Architecture The Virtual Machine Interface Memory Management CPU Device I/O Network,
NWCLUG 01/05/2010 Jared Moore Xen Open Source Virtualization.
Xen Virtualization Andrew Hamilton
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 11 Managing and Monitoring a Windows Server 2008 Network.
Xen and the Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield.
Xen and the Art of Virtualization. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 14: Problem Recovery.
E Virtual Machines Lecture 4 Device Virtualization
Methodologies, strategies and experiences Virtualization.
Tanenbaum 8.3 See references
Installing and maintaining clusters of FreeBSD servers using PXE and Rsync Cor Bosman XS4ALL
SAIGONTECH COPPERATIVE EDUCATION NETWORKING Spring 2010 Seminar #1 VIRTUALIZATION EVERYWHERE.
A Cloud is a type of parallel and distributed system consisting of a collection of inter- connected and virtualized computers that are dynamically provisioned.
Benefits: Increased server utilization Reduced IT TCO Improved IT agility.
Xen Overview for Campus Grids Andrew Warfield University of Cambridge Computer Laboratory.
Xen Virtualization Last Update Copyright 2011 Kenneth M. Chipps Ph.D.
Virtual Machine Monitors: Technology and Trends Jonathan Kaldor CS614 / F07.
Guide to Linux Installation and Administration, 2e1 Chapter 2 Planning Your System.
Outline for Today Announcements –1 st programming assignment coming soon. Objective of the lecture –OS and Virtual Machines.
Microsoft Management Seminar Series SMS 2003 Change Management.
Introduction to virtualization
Microsoft Windows XP Professional MCSE Exam
Full and Para Virtualization
Plesk 8 for Linux/UNIX Server Automation SWSOFT GLOBAL HOSTING SUMMIT 2006 Todd L. Crumpler May 30-June 1, 2006.
Using Virtualization in the Real world. 2 Whoami ? Kris Senior Linux and Open Source Consultant „Infrastructure Architect“ Linux since.
Managing Xen VirtualMachines with openQRM by Kris Buytaert.
Xen and the art of.. Open Source Virtualisation & Consolidation Kris Buytaert CTO, X-Tend
Deploying Xen in a Large Infrastructure. Who Am I – Linux and Open Source Consultant – „Infrastructure Architect“ – Linux since 0.98 – IANAKH – Senior.
System Installation Suite. Who Am I – Linux and Open Source Consultant –„Infrastructure Architect“ –Linux since 0.98 –IANAKH –Senior
Building (Virtual) Appliances
Open Source Virtualization Andrey Meganov RHCA, RHCX Consultant / VDEL
OpenQRM is not Dead the lightning version Building a cloud in 5 mnutes by Kris Buytaert.
Automating Xen Virtual Machine Deployment Kris Buytaert
Open Source Virtualisation and Consolidation. Whoami ● Senior Linux and Open Source Consultant/ X-Tend ● „Infrastructure Architect“ ● Linux since.
Devops Kris Buytaert. ● I used to be a Dev, ● Then Became an Op ● Senior Linux and Open Source ● „Infrastructure Architect“ ● Building.
Open Source Virtualisation and Consolidation. Whoami ● Linux and Open Source Consultant ● „Infrastructure Architect“ ● Linux since 0.98 ● IANAKH ● Senior.
Open Source Virtualization An overview Kris Buytaert
XEN – The Art of Virtualisation. So what is Virtualisation? ● Makes use of spare capacity ● Run multiple instances of OSes simultaneously ● Multitasking.
April 1st, 2009 Cobbler Provisioning Made Easy Jasper Capel.
Automating Xen Virtual Machine Deployment Kris Buytaert
Virtualization With:. Virtualization With: What Kind of Virtualization? Full virtualization Platform Resource.
BY: SALMAN 1.
Introduction to Virtualization
Virtualization.
Getting & Running EdgeX Docker Containers
Let's talk about Linux and Virtualization in 'vLAMP'
Agenda Hardware Virtualization Concepts
BY: SALMAN.
System Center 2012 Configuration Manager
Current Generation Hypervisor Type 1 Type 2.
Virtualization Dr. Michael L. Collard
CompTIA Server+ Certification (Exam SK0-004)
Building a Virtual Infrastructure
Virtualization overview
3.2 Virtualisation.
Xen: The Art of Virtualization
Xen Summit Spring 2007 Platform Virtualization with XenEnterprise
OS Virtualization.
Virtualization Techniques
OPS235: Lab 2 Virtual Machines – Part I
Microsoft Virtual Academy
SUSE Linux Enterprise Desktop Administration
Virtualization Dr. S. R. Ahmed.
Xen and the Art of Virtualization
Bending Ironic for Big Iron
IT Management, Simplified
Presentation transcript:

Automating Xen Virtual Machine Deployment Kris Buytaert

Whoami ? ● X-Tend.be ● Linux and Open Source Consultant ● „Infrastructure Architect“ ● Linux since 0.98 ● IANAKH

Agenda ● Large Scale System Installation theory ● Hybrid Automated Installs ● Xen ● Automated Xen Installations

Why Virtualisation Matters ? ● Consolidation ● Security ● Testing Large Scale Rollouts ● Separating Development/Staging/Production platforms ●...

Our specific reasons for this work ● Testing Large Scale System Deployment – How to you test bootstrapping a large environment ? – Buy machines for your test platform ? – Interrupt regular services – Take down a chain ? – How do you test upgrade and rollback procedures ?

Our specific reasons for this work(2) ● Actually deploying Virtual machines in a large environment – Consolidation of previously deployed machines – Repeated work is boring and error prone – We automated the physical machine deployment already so...

Goals ● Hands off Virtual Machine Deployment ● Minimal impact on the current infrastructure ● Fast deployments ● Easy to redeploy / reproducable ● I hate vendor Lock In‘s ● I hate doing the same stuff for different distros

The 10 th Floor Test ● Grab a random machine (don’t take a backup before) ● Throw it out a 10 th floor window ● Can you recover it in <10 minutes ? ● Even for Virtual Machines ?

Imaging vs Installing Imaging Speed Identical machines Multicasting Installing “slower” Finegrained

● Disclaimer : – Tools are examples, – alternatives exist ● Automated – Fai – Autoyast – Kickstart – System Imager

Systemimager Suite ● SystemImager ● Fast deployment ● Golden client based ● Multicast features ● Centrally Stored Images ● Boel framework

SystemImager Suite (2) ● SystemInstaller ● Evolved from LUI ● Generates Images based on ● Packagelist ● Distro type ● Partition Definition

SystemImager Suite (3) ● SystemConfigurator ● Post install configuration ● Hardware detection / bootloader config ● Distro integration

Beyond Installing ● Package management ● Central Repository – Updates of relevant packages ● Yum ● Apt ● current.tigris.net

Beyond Installing(2) ● Configuration Management – Isconf – Cfengine – Puppet

Hybrid Deployment Keep everything in CVS Image a basic image Generate that image Then install the delta's on a per host basis via packages Use a repository to update systems Keep everything in CVS Use a configuration management tool.

Our Environment ● A SystemImager based framework ● System Imager Suite is platform independent, we can use it with Suse/Redhat/Debian etc ● Config data an installation scripts are being stored in CVS ● Base Image of the basic Linux tools and common applications is generated with SystemInstaller ● apt-repository for host specific applications (rpm v3 compliant)

Overriding „standard“ configs ● SystemImager Concept ● Over-rides an image per host ● Used for „non packagable“ files ● Contains machine specific information e.g. Package lists

Autoinstall, the script / the cd ● Create a dhcp config file ● PXE Boot and downloads the initial kernel and initrd ● Creates an initial ramdisk and asks ip addres, hostinfo, and installserver information. ● download boel image and setup a minimal environment (rsync) ● Based on the hostinfo downloads the host specific script (autoinstallscript)

Let‘s talk about Xen ● ParaVirtualisation ● You‘ve already seen Xen enough internals stuff these days ;) ● Going Mainstream real fast ! ● Stable and performant platform ● Scriptable

Xen “ParaVirtualization” Provides some exposure to the actual hardware – Performance increase – OS Needs to be modified – Multiplexes resources at OS granularity (vs Process level granularity) ● 100 virtual OS's per machine

Xen ● X86 supports 4 levels of privileges – 0 for OS, and 3 for applications – Xen downgrades the privilege of Oses ● Xen exposes a set of simple device abstractions

Porting an OS to Xen ● X86 Like ● Priviledged instructions – are replaced with Xen hypercalls – for Linux 2.6 only arch-dep files were modified ● Network Device Driver ● Block Device Driver ● Source code availaiblity ! ● <2% of code-base

Porting an OS to Xen ● X86 Like ● Priviledged instructions – are replaced with Xen hypercalls – for Linux 2.6 only arch-dep files were modified ● Network Device Driver ● Block Device Driver ● Source code availaiblity ! ● <2% of code-base

Xen & Disk Access ● Only Domain0 has direct access to disks ● Other domains need to use virtual block devices – Use the I/O ring – Reorder requests prior to enqueuing them on the ring – If permitted, Xen will also reorder requests to improve performance

Xen 3.0 Arch Event Channel Virtual MMUVirtual CPU Control IF Hardware (SMP, MMU, physical memory, Ethernet, SCSI/IDE) Native Device Driver GuestOS (XenLinux) Device Manager & Control s/w Native Device Driver GuestOS (XenLinux) Unmodified User Software Front-End Device Drivers GuestOS (XenLinux) Unmodified User Software Front-End Device Drivers Unmodified GuestOS (WinXP)) Unmodified User Software Safe HW IF Xen Virtual Machine Monitor Back-End VT-x AGP ACPI PCI SMP

Why Typical Linux Installs don‘t work ● No Xen enabled Distribution CD‘s (yet) ● No „install“ tool (anaconda etc) ● No booting from device X and copying data – Network – Cd – Disk

Typical Xen DomainU installations ● „Copy“ an existing image ● Yum –installroot=/path/ -y groupinstall Base ● Debootstrap ● Urpmi –root=/path basesystem urpmi ssh-server ● Yast ● rpmstrap

Existing Alternatives ● The alternatives – Preseeding d-i – OLS Paper (snapshotting + containers) ● Issues with them : – Distro Specific – Valid in Isolated environments

Building your own ? What do we need ? ● Installing a basic image in a chroot ● Creating „partitions“ ● Creating/Updating configurations ● Booting

„Modifying“ an Autoinstall Script create_vhost : { ● Create LVM partitions ● Chroot ● Rsync ● Configure }

Generation of scripts ● mksiimage based template ● Creates – lvm create script – xen config – fstab

The full monty Install hostX reboot into non xen, lvm enabled kernel if (xen=enabled) then add xen packages from repository overrides include /etc/xen/auto files for $vhost in /etc/xen/auto/* ; create_vhost done reboot into xen enabled / lvm enabled kernel

From here to.. ● Management of virtual machine is identical to physical machine ● Deploy new virtual machine is as easy as running create_vhost $hostname ● Cfengine and repositories are being used as within physical machines

Future Work ● Eliminate 2 phase bootstrap DONE! ● Integrate with mksiimage ● Look at COW enhancements

Conclusions: ● Pass the 10 th floor test ● Hybrid deployments enable best of breed deploying techniques ● Not „Yet Another Systeminstallation Tool“ :), but tools you already use for a physical purpose !

Thank you Contact: Kris Buytaert Further Reading

? ! ● Questions ?