public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Kirill Korotaev <dev@sw.ru>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>,
	haveblue@us.ibm.com, linux-kernel@vger.kernel.org,
	herbert@13thfloor.at, devel@openvz.org, serue@us.ibm.com,
	akpm@osdl.org, sam@vilain.net,
	Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>,
	Pavel Emelianov <xemul@sw.ru>, Stanislav Protassov <st@sw.ru>
Subject: Re: [RFC] Virtualization steps
Date: Tue, 28 Mar 2006 13:02:08 +0400	[thread overview]
Message-ID: <4428FB90.5000601@sw.ru> (raw)
In-Reply-To: <44242D4D.40702@yahoo.com.au>

> Oh, after you come to an agreement and start posting patches, can you
> also outline why we want this in the kernel (what it does that low
> level virtualization doesn't, etc, etc), and how and why you've agreed
> to implement it. Basically, some background and a summary of your
> discussions for those who can't follow everything. Or is that a faq
> item?
Nick, will be glad to shed some light on it.

First of all, what it does which low level virtualization can't:
- it allows to run 100 containers on 1GB RAM
   (it is called containers, VE - Virtual Environments,
    VPS - Virtual Private Servers).
- it has no much overhead (<1-2%), which is unavoidable with hardware
   virtualization. For example, Xen has >20% overhead on disk I/O.
- it allows to create/deploy VE in less than a minute, VE start/stop
   takes ~1-2 seconds.
- it allows to dynamically change all resource limits/configurations.
   In OpenVZ it is even possible to add/remove virtual CPUs to/from VE.
   It is possible to increase/descrease memory limits on the fly etc.
- it has much more efficient memory usage with single template file
   in a cache if COW-like filesystem is used for VE templates.
- it allows you to access VE files from host easily if needed.
   This helps to make management much more flexible, e.g. you can
   upgrade/repair/fix all you VEs from host, i.e. easy mass management.


OS kernel virtualization
~~~~~~~~~~~~~~~~~~~~~~~~
OS virtualization is a kernel solution, which replaces the usage
of many global variables with context-dependant counterparts. This
allows to have isolated private resources in different contexts.

So VE means essentially context and a set of it's variables/settings,
which include but not limited to, own process tree, files, IPC
resources, IP routing, network devices and such.

Full virtualization solution consists of:
- virtualization of resources, i.e. private contexts
- resource controls, for limiting contexts
- management tools

Such kind of virtualization solution is implemented in OpenVZ
(http://openvz.org) and Linux-Vserver (http://linux-vserver.org) projects.

Summary of previous discussions on LKML
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- we agreed upon doing virtualization of each kernel subsystem
   separately, not as a single virtual environment.
- we almost agreed upon calling virtualization of subsystems
   "namespaces".
- we were discussing whether we should have global namespace context,
   like 'current' or bypass context as an argument to all functions
   which require it.
- we didn't agreed on whether we need a config option and ability to
   compile kernel w/o virtual namespaces.

Thansk,
Kirill



  parent reply	other threads:[~2006-03-28  9:02 UTC|newest]

Thread overview: 125+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-24 17:19 [RFC] Virtualization steps Kirill Korotaev
2006-03-24 17:33 ` Nick Piggin
2006-03-24 19:25   ` Dave Hansen
2006-03-24 19:53     ` Eric W. Biederman
2006-03-28  4:28     ` Bill Davidsen
2006-03-28  5:31       ` Sam Vilain
2006-03-28  6:45       ` [Devel] " Kir Kolyshkin
2006-03-28 21:59         ` Sam Vilain
2006-03-28 22:24           ` Kir Kolyshkin
2006-03-28 23:28             ` Sam Vilain
2006-03-29  9:13               ` Kirill Korotaev
2006-03-29 11:08                 ` Sam Vilain
2006-03-29 13:45                 ` Herbert Poetzl
2006-03-29 14:47                   ` Kirill Korotaev
2006-03-29 17:29                     ` Herbert Poetzl
2006-03-29 21:37                     ` Sam Vilain
2006-04-12  8:28                       ` Kirill Korotaev
2006-04-13  1:05                         ` Herbert Poetzl
2006-04-13  6:52                           ` Kirill Korotaev
2006-04-13 13:42                             ` Herbert Poetzl
2006-04-13 21:33                               ` Cedric Le Goater
2006-04-13 22:45                                 ` Herbert Poetzl
2006-04-14  7:41                                   ` Kirill Korotaev
2006-04-14  9:56                                   ` Cedric Le Goater
2006-04-15 19:29                                     ` Herbert Poetzl
2006-04-13 22:51                                 ` Kir Kolyshkin
2006-04-14 10:08                                   ` Cedric Le Goater
2006-04-15 19:31                                     ` Herbert Poetzl
2006-03-28  8:52       ` Herbert Poetzl
2006-03-28  9:00         ` Nick Piggin
2006-03-28 14:26           ` Herbert Poetzl
2006-03-28 14:44             ` Nick Piggin
2006-03-29  6:05               ` Eric W. Biederman
2006-03-29  6:19                 ` Sam Vilain
2006-03-29 18:20                   ` Chris Wright
2006-03-29 22:36                     ` Sam Vilain
2006-03-29 22:52                       ` Chris Wright
2006-03-29 23:01                         ` Sam Vilain
2006-03-29 23:13                           ` Chris Wright
2006-03-29 23:18                             ` Sam Vilain
2006-03-29 23:28                               ` Chris Wright
2006-03-30  1:02                         ` Eric W. Biederman
2006-03-30  1:36                           ` Chris Wright
2006-03-30  1:41                             ` David Lang
2006-03-30  2:04                               ` Chris Wright
2006-03-30 14:32                                 ` Serge E. Hallyn
2006-03-30 15:30                                   ` Herbert Poetzl
2006-03-30 16:43                                     ` Serge E. Hallyn
2006-03-30 18:00                                     ` Eric W. Biederman
2006-03-31 13:40                                       ` Serge E. Hallyn
2006-03-30 16:07                                   ` Stephen Smalley
2006-03-30 16:15                                     ` Serge E. Hallyn
2006-03-30 18:55                                     ` Chris Wright
2006-03-30 18:44                                   ` Eric W. Biederman
2006-03-30 19:07                                     ` Chris Wright
2006-03-31  5:36                                       ` Eric W. Biederman
2006-03-31  5:51                                         ` Chris Wright
2006-03-31  6:52                                           ` Eric W. Biederman
2006-03-30 18:53                                   ` Chris Wright
2006-03-30  2:48                             ` Eric W. Biederman
2006-03-30 19:23                               ` Chris Wright
2006-03-31  6:00                                 ` Eric W. Biederman
2006-03-31 14:52                                   ` Stephen Smalley
2006-03-31 16:39                                     ` Eric W. Biederman
2006-03-30 13:29                             ` Serge E. Hallyn
2006-03-30 13:37                               ` Eric W. Biederman
2006-03-30 14:55                                 ` Serge E. Hallyn
2006-03-30  2:24                           ` Sam Vilain
2006-03-30  3:01                             ` Eric W. Biederman
2006-03-30  3:26                 ` Nick Piggin
2006-03-30 10:30                   ` Eric W. Biederman
2006-04-11 10:32                   ` Kirill Korotaev
2006-04-11 11:14                     ` Nick Piggin
2006-04-11 14:44                       ` Kirill Korotaev
2006-03-28  9:00       ` Kirill Korotaev
2006-03-28 14:41         ` Bill Davidsen
2006-03-28 15:03           ` Eric W. Biederman
2006-03-28 17:48             ` Jeff Dike
2006-03-28 23:07           ` Sam Vilain
2006-03-29 20:56             ` Bill Davidsen
2006-03-28 20:29     ` [Devel] " Jun OKAJIMA
2006-03-28 20:50       ` Kir Kolyshkin
2006-03-28 21:38         ` Jun OKAJIMA
2006-03-28 21:51           ` Eric W. Biederman
2006-03-28 23:18             ` Sam Vilain
2006-04-03 16:47         ` Bill Davidsen
2006-04-11 10:38           ` Kirill Korotaev
2006-04-11 16:20             ` Herbert Poetzl
2006-04-11 18:12               ` Kir Kolyshkin
2006-04-12  5:12             ` Andi Kleen
2006-04-12  6:55               ` Kirill Korotaev
2006-04-12  6:53                 ` Andi Kleen
2006-04-12  7:51                   ` Kirill Korotaev
2006-04-12 17:03                     ` Andi Kleen
2006-04-12 17:20                       ` Eric W. Biederman
2006-04-13 16:54               ` Alexey Kuznetsov
2006-04-30 13:22             ` Bill Davidsen
2006-04-30 21:34               ` Sam Vilain
2006-05-01 12:27               ` Kirill Korotaev
2006-05-03 20:32                 ` Bill Davidsen
2006-03-28  9:02   ` Kirill Korotaev [this message]
2006-03-28  9:15     ` Nick Piggin
2006-03-28 15:35       ` Herbert Poetzl
2006-03-28 15:53         ` Nick Piggin
2006-03-28 16:31         ` Eric W. Biederman
2006-03-29 21:37         ` Bill Davidsen
2006-03-28 16:15       ` Eric W. Biederman
2006-03-28 23:04       ` Sam Vilain
2006-03-29  1:39       ` Kirill Korotaev
2006-03-29 13:47         ` Herbert Poetzl
2006-03-28 15:48     ` [Devel] " Matt Ayres
2006-03-28 16:42       ` Eric W. Biederman
2006-03-28 17:04         ` Matt Ayres
2006-03-29  0:55       ` Kirill Korotaev
2006-03-24 18:36 ` Eric W. Biederman
2006-03-24 21:19 ` Herbert Poetzl
2006-03-27 18:45   ` Eric W. Biederman
2006-03-28  8:51     ` Kirill Korotaev
2006-03-28 12:53       ` Serge E. Hallyn
2006-03-28 22:51       ` Sam Vilain
2006-03-29 20:30       ` Dave Hansen
2006-03-29 20:47         ` Eric W. Biederman
2006-03-29 22:44         ` Sam Vilain
2006-03-30 13:51         ` Kirill Korotaev
2006-03-28 21:58   ` Eric W. Biederman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4428FB90.5000601@sw.ru \
    --to=dev@sw.ru \
    --cc=akpm@osdl.org \
    --cc=devel@openvz.org \
    --cc=ebiederm@xmission.com \
    --cc=haveblue@us.ibm.com \
    --cc=herbert@13thfloor.at \
    --cc=kuznet@ms2.inr.ac.ru \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nickpiggin@yahoo.com.au \
    --cc=sam@vilain.net \
    --cc=serue@us.ibm.com \
    --cc=st@sw.ru \
    --cc=xemul@sw.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox