Virtualization technologies have to converge to be included in Linux kernel

What emerged since the very first day of this year Linux Symposium is that various virtualization approaches have to reach a common standard before being considered for Linux kernel inclusion. In other words it’s unlikely one technology will be chosen over others.

SWsoft is reporting different positions about the specific virtualization approach called OS partitioning, implemented by mentioned solution like its products Virtuozzo (commercial) and OpenVZ (open source), Sun Solaris Containers, UML, Linux-VServer and others:

Eric Biederman wants to have so-called namespaces in kernel. Namespaces are basically a building blocks of containers, for example, with user namespace we have an ability to have the same root user in different containers; network namespace gives an ability to have a separate network interface; process namespace is when you have an isolated set of processes. All the namespaces combined together creates a container. But, as Eric states, an ability to use not all but only selected namespaces gives endless possibilities to a user.

IBM people want application containers, and for them the main purpose of such containers is live migration of those. The difference between app. container and the ?full? (system) container is a set of features: for example, an application container might lack /proc virtualization, devices, pseudo-terminals (needed to run ssh, for example) etc. So, an application container might be seen as a subset of a system container.

OpenVZ wants system containers that resemble the real system as much as possible. In other words, we want to preserve existing kernel APIs as much as possible inside a container, so all of the existing Linux distributions and applictions should run fine inside a container without any modifications. Of course, the goal is not 100% achievable, for example we do not want the container to be able to set the system time.

Linux-VServer wants just about the same as OpenVZ, it?s only that their implementations of various components are different, and their level of a container resembling a real system is a bit lower (for example, in networking).

Read the whole article at source.

Solution convergence is a huge problem here like in Xen / VMware server virtualization approaches. And an agreement seems too far at the moment.