An overview of OpenVZ virtualization technology Kir Kolyshkin OpenVZ project manager Gelato ICE 17 Apr 2007.

Slides:



Advertisements
Similar presentations
Virtual Machine Technology Dr. Gregor von Laszewski Dr. Lizhe Wang.
Advertisements

Linux Virtualization Kir Kolyshkin OpenVZ project manager.
Profit from the cloud TM Parallels Dynamic Infrastructure AndOpenStack.
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.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Xen and the Art of Virtualization A paper from the University of Cambridge, presented by Charlie Schluting For CS533 at Portland State University.
Virtualization for Cloud Computing
The Origin of the VM/370 Time-sharing system Presented by Niranjan Soundararajan.
A Brief Introduction To Virtualization Technologies Yin Yunqiao HP.
LINUX Virtualization Running other code under LINUX.
Linux Virtualization Kir Kolyshkin OpenVZ project manager.
Virtualization A way To Begin with Virtual Reality… - Rahul Khanwani.
Methodologies, strategies and experiences Virtualization.
Tanenbaum 8.3 See references
Chapter 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 access.
Operating System Virtualization
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
Hosting Virtual Networks on Commodity Hardware VINI Summer Camp.
Virtualization Lab 3 – Virtualization Fall 2012 CSCI 6303 Principles of I.T.
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.
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.
Virtual Machine Security Systems Presented by Long Song 08/01/2013 Xin Zhao, Kevin Borders, Atul Prakash.
Recent advances in the Linux kernel resource management Kir Kolyshkin, OpenVZ
Containers are the future of Cloud Pavel Odintsov CTO, FastVPS Eesti OU
Introduction to virtualization
Full and Para Virtualization
Operating-System Structures
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.
Course 03 Basic Concepts assist. eng. Jánó Rajmond, PhD
Unit 2 VIRTUALISATION. Unit 2 - Syllabus Basics of Virtualization Types of Virtualization Implementation Levels of Virtualization Virtualization Structures.
Intro To Virtualization Mohammed Morsi
Linux Virtualization Kir Kolyshkin OpenVZ project manager.
Open Source Virtualization Andrey Meganov RHCA, RHCX Consultant / VDEL
Virtualization Neependra Khare
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Solaris containers (Zones) Server virtualization What zones are and how they are used in ECE/CIS at the University of Delaware Ben Miller.
Linux Virtualization Kir Kolyshkin OpenVZ project manager.
9/30/2016 OpenVZ: Linux Containers Kir Kolyshkin LinuxCon 2009, Portland.
Containers vs Others Xen, VMware, etc. ● Emulation/paravirtualization ● Can run different OSs on the same box ● Lower density/scalability ● OS sprawl problem.
XEN – The Art of Virtualisation. So what is Virtualisation? ● Makes use of spare capacity ● Run multiple instances of OSes simultaneously ● Multitasking.
VM vs Container Xen, KVM, VMware, etc. ● Hardware emulation / paravirtualization ● Can run different OSs on the same box ● Dozens of instances ● OS sprawl.
Seven Problems of Linux Containers
Virtualization for Cloud Computing
A move towards Greener Planet
Virtualization in Grid Rock
Fundamentals Sunny Sharma Microsoft
CSC 482/582: Computer Security
Current Generation Hypervisor Type 1 Type 2.
Linux Containers Overview & Roadmap
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
Containers and Virtualisation
Virtualization overview
Oracle Solaris Zones Study Purpose Only
Running other code under LINUX
CIT 480: Securing Computer Systems
OS Virtualization.
A Survey on Virtualization Technologies
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Chapter 2 Operating System Overview
Presentation transcript:

An overview of OpenVZ virtualization technology Kir Kolyshkin OpenVZ project manager Gelato ICE 17 Apr 2007

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 Emulation/Paravirtualization ● VMware ● Parallels ● QEmu ● Bochs ● Xen ● UML (User Mode Linux) ● KVM

5 OS Level Virtualization ● OpenVZ/Virtuozzo ● FreeBSD jails ● Linux-VServer ● Solaris Zones

Comparison ● Can run different OSs on the same box ● Low density/scalability ● Slow/complex management – OS sprawl problem ● Low/moderate performance ● Native performance: no overhead ● Dynamic resource allocation, best scalability ● Single OS per box: easier to manage

7 Evolution of Operating Systems ● Multitask many processes ● Multiuser many users ● Multiple execution environments many virtual environments (VEs, VPSs, containers, guests, partitions...)

8 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

9 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 ● …

10 Kernel: Resource Management Managed resource sharing and limiting. ● User Beancounters is a set of per-VE resource counters, limits, and guarantees (kernel memory, network buffers, phys pages, etc.) ● Fair CPU scheduler (SFQ with shares and hard limits) ● Two-level disk quota (first-level: per-VE quota; second-level: ordinary user/group quota inside a VE) Resource management is what makes OpenVZ different from other OS virtualization solutions.

Kernel: Checkpointing/Migration ● Complete VE state can be saved in a file – running processes – opened files – network connections, buffers, backlogs, etc. – memory segments ● VE state can be restored later ● VE can be restored on a different server

12 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

13 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)

14 Density 768 (¾) MB RAM - up to 120 VEs 2GB RAM - up to 320 VEs

15 Users Feedback

16 Usage Scenarios ● Server Consolidation ● Hosting ● Development and Testing ● Security ● Educational

17 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

18 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

19 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

20 Security ● Several network services are running ● One of them has a hole ● Cracker gets through ● Put each service into a separate VE ● OpenVZ creates walls between applications ● Added benefit: dynamic resource management

21 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

22 Recent achievments ● NFS and FUSE in VE ● VE I/O accounting and scheduling ● Checkpointing/live migration for IA64 ● Port to RHEL5 kernel ● Port to vanilla

Mainstream kernel integration ● Collaborative community effort: – OpenVZ – IBM (Metacluster) – Linux-VServer – Eric Biederman (namespaces) – Google (Paul Menage, containers) ● Current progress (as of linux ): – IPC namespaces/virtualization – utsname() virtualization – preliminary support for PID namespaces ● More to come soon (networking, beancounters)

24 How can you help? ● Use OpenVZ ● Contribute to OpenVZ, be a part of community: – Programmer ● fixes ● enhancements ● new functionality – Non-programmer ● bug reports ● work with wiki ● answer support questions

What about Itanium? ● OpenVZ is platform-independent – as long as Linux support it, we support it ● The only arch-dependent piece is CPT – recently added checkpointing for IA64 ● We support and care for Itanium for years – production quality, first released in Mar 2003 ● No problems with scalability or disk IO – lots of memory, lots of CPUs no prob – native I/O speed

26 Project Links ● Main site: ● Downloads: ● Wiki: ● Sources: ● Forum: ● Bug Tracking: ● Blog: ● Mailing lists: