Linux Virtualization Kir Kolyshkin OpenVZ project manager.

Slides:



Advertisements
Similar presentations
VCS 5.0 for VMware ESX.
Advertisements

Building Fast, Flexible Virtual Networks on Commodity Hardware Nick Feamster Georgia Tech Trellis: A Platform for Building Flexible, Fast Virtual Networks.
1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster.
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
1 Linux IP Masquerading Brian Vargyas XNet Information Systems.
OPERATING SYSTEMS Lecturer: Szabolcs Mikulas Office: B38B
1 Processes and Threads Creation and Termination States Usage Implementations.
Chapter 1 Introduction Copyright © Operating Systems, by Dhananjay Dhamdhere Copyright © Introduction Abstract Views of an Operating System.
With ovirt & virt manager
Debugging operating systems with time-traveling virtual machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
Chapter 4 Memory Management Basic memory management Swapping
Hardware-assisted Virtualization
Virtual Switching Without a Hypervisor for a More Secure Cloud Xin Jin Princeton University Joint work with Eric Keller(UPenn) and Jennifer Rexford(Princeton)
1 Network Address Translation (NAT) Relates to Lab 7. Module about private networks and NAT.
Operating System Level Virtualization Reza Farivar.
COMP1214 Systems & Platforms: Operating Systems Concepts Dr. Yvonne Howard – Rikki Prince – 1.
Virtual Machine Technology Dr. Gregor von Laszewski Dr. Lizhe Wang.
1 Chapter 11: Data Centre Administration Objectives Data Centre Structure Data Centre Structure Data Centre Administration Data Centre Administration Data.
User-Mode Linux Ken C.K. Lee
PlanetLab Operating System support* *a work in progress.
Virtual Machines What Why How Powerpoint?. What is a Virtual Machine? A Piece of software that emulates hardware.  Might emulate the I/O devices  Might.
VIRTUALIZATION WITH SOLARIS A.V.Bogdanov, PyaeSoneKoKo State Marine Technical University, St.petersburg.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
Xen and the Art of Virtualization A paper from the University of Cambridge, presented by Charlie Schluting For CS533 at Portland State University.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Virtualization for Cloud Computing
Linux Virtualization Kir Kolyshkin OpenVZ project manager.
1 MASTERING (VIRTUAL) NETWORKS A Case Study of Virtualizing Internet Lab Avin Chen Borokhovich Michael Goldfeld Arik.
Virtualization A way To Begin with Virtual Reality… - Rahul Khanwani.
SUNY IT Master's Project Using Open Source Virtualization Technology In Computer Education By: Ronny L. Bull Advised By: Geethapriya Thamilarasu, Ph.D.
Using Virtualization in the Classroom. Using Virtualization in the Classroom Session Objectives Define virtualization Compare major virtualization programs.
Methodologies, strategies and experiences Virtualization.
Linux Basics CS 302. Outline  What is Unix?  What is Linux?  Virtual Machine.
Tanenbaum 8.3 See references
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
An Introduction to Xen Prof. Chih-Hung Wu
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
A Cloud is a type of parallel and distributed system consisting of a collection of inter- connected and virtualized computers that are dynamically provisioned.
OpenVZ Live Migration Jim Owens. Overview Review of OpenVZ Features Resource management Installation VM creation VM management Checkpointing Migration.
Linux Virtualization Technology Alternatives Kir Kolyshkin OpenVZ project manager Rencontres Mondiales du Logiciel Libre 13 July 2007.
An overview of OpenVZ virtualization technology Kir Kolyshkin OpenVZ project manager Gelato ICE 17 Apr 2007.
Using Virtualization in the Classroom. Using Virtualization in the Classroom Session Objectives Define virtualization Compare major virtualization programs.
Section 3.1: Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random.
VMware vSphere Configuration and Management v6
Introduction to virtualization
Hands-On Virtual Computing
VM vs Container Xen, KVM, VMware, etc. Hardware emulation / paravirtualization Can run different OSs on the same box Dozens of instances OS sprawl problem.
IBM Software Group © 2008 IBM Corporation IBM Tivoli Provisioning Manager 7.1 Virtualization.
Intro To Virtualization Mohammed Morsi
Linux Virtualization Kir Kolyshkin OpenVZ project manager.
Open Source Virtualization Andrey Meganov RHCA, RHCX Consultant / VDEL
Linux Virtualization Kir Kolyshkin OpenVZ project manager.
9/30/2016 OpenVZ: Linux Containers Kir Kolyshkin LinuxCon 2009, Portland.
An overview of OpenVZ virtualization technology Kir Kolyshkin OpenVZ project manager Gelato ICE 17 Apr 2007.
XEN – The Art of Virtualisation. So what is Virtualisation? ● Makes use of spare capacity ● Run multiple instances of OSes simultaneously ● Multitasking.
Seven Problems of Linux Containers
Using Virtualization in the Classroom
Computer System Structures
Virtualization for Cloud Computing
Containers as a Service with Docker to Extend an Open Platform
Current Generation Hypervisor Type 1 Type 2.
Container-based Operating System Virtualization: A scalable, High-performance Alternative to Hypervisors Stephen Soltesz, Herbert Potzl, Marc E. Fiuczynski,
Linux Virtualization Kir Kolyshkin OpenVZ project manager.
Operating System Structure
Virtualization overview
Oracle Solaris Zones Study Purpose Only
CIT 480: Securing Computer Systems
Chapter 2. Malware Analysis in VMs
OS Virtualization.
Presentation transcript:

Linux Virtualization Kir Kolyshkin OpenVZ project manager

2 What is virtualization? Virtualization is a technique for deploying technologies. Virtualization creates a level of indirection or an abstraction layer between a physical object and the managing or using application. Virtualization is a framework or methodology of dividing the resources of a computer into multiple execution environments... A key benefit of the virtualization is the ability to run multiple operating systems on a single physical server and share the underlying hardware resources – known as partitioning.

3 Ways to Virtualize Hardware Emulation Para-Virtualization Virtualization on the OS level Multi-server virtualization

4 Hardware Emulation a.k.a. VM (Virtual Machine)  VMware  QEmu  Bochs Pros: Can run arbitrary OS, unmodified Cons: Low density/scalability Slow/complex management Low performance

5 Para-virtualization  Xen  UML (User Mode Linux) Pros: Better performance Cons: Needs modified guest OS Static resource allocation, bad scalability, bad manageability

6 OS Level Virtualization  OpenVZ  FreeBSD jails  Linux-VServer  Solaris Zones Pros: Native performance Dynamic resource allocation, best scalability Cons: Single (same) kernel per physical server

7 OSs evolution Multitask many processes Multiuser many users Multiple execution environments many virtual environments (VEs, VPSs, containers, guests, partitions, zones...)

8 OpenVZ design approach

9 OpenVZ: components  Kernel  Virtualization and Isolation  Resource Management  Checkpointing  Tools  vzctl: Virtual Environment (VE) control utility  vzpkg: VE software package management  Templates  precreated VE images for fast VE creation

10 Kernel: Virtualization & Isolation Each virtual environment has its own Files System libraries, applications, virtualized /proc and /sys, virtualized locks etc. Process tree Featuring virtualized PIDs, so that the init PID is 1 Network Virtual network device, its own IP addresses, set of netfilter and routing rules Devices Plus if needed, any VE can be granted access to real devices like network interfaces, serial ports, disk partitions, etc. IPC objects shared memory, semaphores, messages …

11 Kernel: Resource Management Managed resource sharing and limiting. Two-level disk quota (first-level: per-VE quota; second-level: ordinary user/group quota inside a VE) Fair CPU scheduler (SFQ with shares and hard limits) User Beancounters is a set of per-VE resource counters, limits, and guarantees (kernel memory, network buffers, phys pages, etc.)

Kernel: Checkpointing/Migration Checkpoint: VE state can be saved in a file  running processes, CPU registers,...  opened files, signals, IPC,...  network connections, buffers, backlogs, etc.  private/shared memory Restore: VE state can be restored later Live migration: VE can be restored on a different physical server

Kernel: Security Security in virtualization solutions What makes OpenVZ secure?  Security model (deny by default)  Tracking mainstream security fixes  Stable kernel 2.6.8, code freeze, no new bugs  Security review by Solar Designer  Activity monitors Practice (400,000 public VEs)

14 Tools: VE control # vzctl create ostemplate fedora-core-5 # vzctl set ipadd save # vzctl start 101 # vzctl exec 101 ps ax PID TTY STAT TIME COMMAND 1 ? Ss 0:00 init ? Ss 0:00 syslogd -m ? Ss 0:00 /usr/sbin/sshd ? Ss 0:00 xinetd -stayalive -pidfile ? Ss 0:00 sendmail: accepting connections ? Ss 0:00 sendmail: Queue ? Ss 0:00 /usr/sbin/httpd ? S 0:00 \_ /usr/sbin/httpd ? S 0:00 \_ /usr/sbin/httpd 6416 ? Rs 0:00 ps axf # vzctl enter 101 bash# logout # vzctl stop 101 # vzctl destroy 101

15 Tools: Templates # vzpkgls fedora-core-5-i386-default centos-4-x86_64-minimal # vzpkgcache (creates templates from metadata/updates existing templates) # vzyum 101 install gcc (installs gcc and its deps to VE 101)

16 Scalability 768 (¾) MB RAM - up to 120 VEs 2GB RAM - up to 320 VEs

17 Usage Scenarios Server Consolidation Hosting Development and Testing Security Educational

18 Server Consolidation A bunch of servers: harder to manage upgrade is a pain eats up rack space high electricity bills A bunch of VEs: uniform management easily upgradeable and scalable fast migration

19 Hosting Web server serving hundreds of virtual hosts Users see each other processes etc DoS attacks Unable to change/upgrade hardware Users are isolated from each other VE is like a real server, just cheap Much easier to admin

20 Development & Testing A lot of hardware Zoo: many different Linux distros Frequent reinstalls take much time Fast provisioning Different distros can co-exist on one box Cloning, snapshots, rollbacks VE is a sandbox – work and play, no fear

21 Security Several network services are running One of them has a hole Cracker gets through Whoops...”all your base are belong to us” Put each service into a separate VE OpenVZ creates walls between applications Added benefit: dynamic resource management

22 Educational No root access Frequent reinstalls DoS attacks Everybody and his dog can have a root access Different Linux distros No need for a lot of hardware

23 Future plans Stable kernel I/O scheduling based on CFQ Continue to maintain kernels from various distributions (SUSE10, FC5, RHEL4, Mandriva) Work on mainstream kernel virtualization Support for more platforms (PPC, more?)

24 Your role Use OpenVZ Contribute, be a part of the community:  Programmer fixes enhancements new functionality  Non-programmer bug reports documentation, HOWTOs answer support questions

25 Project Links Main site: Downloads: Sources: Forum: Bug Tracking: Blog: Mailing lists: