Differences between revisions 1 and 29 (spanning 28 versions)
Revision 1 as of 2005-11-26 22:54:20
Size: 1551
Editor: PeMac
Comment:
Revision 29 as of 2007-03-16 11:41:12
Size: 5338
Editor: ?BartCortooms
Comment: update package versions: s/2.6.18-3/2.6.18-4/g
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Overview =
Line 3: Line 5:
Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of performance and resource isolation. Xen is Open Source software, released under the terms of the GNU General Public License. We have a fully functional ports of Linux 2.4 and 2.6 running over Xen, and regularly use it for running demanding applications like MySQL, Apache and PostgreSQL. Any Linux distribution (RedHat, SuSE, Debian, Mandrake) should run unmodified over the ported OS. Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of performance and resource isolation. Xen is Open Source software, released under the terms of the GNU General Public License. We have a fully functional ports of Linux 2.6 running over Xen, and regularly use it for running demanding applications like MySQL, Apache and PostgreSQL. Any Linux distribution (RedHat, SuSE, Debian, Mandrake) should run unmodified over the ported OS.
Line 7: Line 9:
 * http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
 * http://wiki.xensource.com/xenwiki/ : Xen Wiki.
 * http://wiki.xensource.com/xenwiki/Debian
Line 8: Line 13:
 * http://www.cl.cam.ac.uk/Research/SRG/netos/xen/ It is also possible to run some other, not ported, operating systems if your CPU has hardware virtualization support (VT or Pacifica).

= Installation on etch/sid =

Upstream documentation can be found in the `xen-docs-3.0` package.

== Dom0 (host) ==

 * Choose and install a `xen-linux-system-KERNELVERSION` package. This installs the kernel, a hypervisor and matching utilities.
 * On i386, install `libc6-xen`. This means that you don't have to delete `/lib/tls` or move it out of the way, as suggested by most Xen guides.
 * You may find the `xen-tools` package helpful. It is a set of scripts to manage guest Xen domains that run Debian/Ubuntu/CentOS. More information and examples at http://xen-tools.org/software/xen-tools/.

You can get a list of all `xen-linux-system` packages with a command such as `apt-cache -n search xen-linux-system`, or by consulting [http://packages.debian.org/cgi-bin/search_packages.pl?keywords=xen-linux-system&searchon=names&subword=1&version=all&release=all packages.debian.org]. The following packages are currently available:

|| xen-linux-system-2.6.18-4-xen-686 || testing (etch), unstable || i386 ||
|| xen-linux-system-2.6.18-4-xen-k7 || testing (etch), unstable || i386 ||
|| xen-linux-system-2.6.18-4-xen-vserver-686 || testing (etch), unstable || i386 ||
|| xen-linux-system-2.6.18-4-xen-amd64 || testing (etch), unstable || amd64 ||
|| xen-linux-system-2.6.18-4-xen-vserver-amd64 || testing (etch), unstable || amd64 ||

Debian 4.0 (etch) will release with the `-2.6.18-4` packages.

== DomU (guests) ==

 * If you want to use pygrub (a grub clone written in python and running on the Dom0): install a Xen kernel. Get a list with `apt-cache -n search linux-image-xen`.
 * If you want to use a kernel image in the Dom0: install the matching modules. Get a list with `apt-cache -n search linux-modules`.
 * On i386, install `libc6-xen`.
 * If you want a not ported operating system (Windows..), you will have to install `xen-ioemu-3.0.3-1`

= Installation on sarge (stable) =

Most of the above packages seem to be present on http://backports.org/, so use them!

`libc6-xen` is not present. [http://saintaardvarkthecarpeted.com/blog/?p=182 Allegedly], creating the file `/etc/ld.so.nohwcap` will cause libraries in `/lib/tls` to be ignored, thus making it unecessary to move the directory out of the way. ''Can anyone confirm this?''

 {i} This is a Debian-specific feature. Other guest operating systems will still require `/lib/tls` to be removed/renamed.

= Package maintenance =

Debian's Xen packages are maintained by the [http://alioth.debian.org/projects/pkg-xen/ pkg-xen] project.

The [http://qa.debian.org/developer.php?login=pkg-xen-devel@lists.alioth.debian.org Debian Developer's Package Overview] page lists source packages that are maintained by the team.

= Old stuff =

I am just about to get started installing xen with Debian as dom0 and Debian, Ubuntu, Redhat as domU. There are multiple Howto's about that, unfortunately I don't see which of them is really useful, still undecided which one I will use. If someone can say something clear about which of these describes a really working, easy, and good way to go, comments would be cool:

 * http://www.howtoforge.com/perfect_xen_setup_debian_ubuntu
 * http://mark.foster.cc/wiki/index.php/Xen_Dom0_on_Debian_Sarge

These are only half of those I found, there are also numerous describing all that for Ubuntu Linux - very confusing. The people at cosi.clarkson.edu seem to do some stuff, also, but their stuff is also very badly documented.
Anybody having any insights on that is really welcome to comment here!

Overview

Modern computers are sufficiently powerful to use virtualization to present the illusion of many smaller virtual machines (VMs), each running a separate operating system instance. Successful partitioning of a machine to support the concurrent execution of multiple operating systems poses several challenges. Firstly, virtual machines must be isolated from one another: it is not acceptable for the execution of one to adversely affect the performance of another. This is particularly true when virtual machines are owned by mutually untrusting users. Secondly, it is necessary to support a variety of different operating systems to accommodate the heterogeneity of popular applications. Thirdly, the performance overhead introduced by virtualization should be small.

Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of performance and resource isolation. Xen is Open Source software, released under the terms of the GNU General Public License. We have a fully functional ports of Linux 2.6 running over Xen, and regularly use it for running demanding applications like MySQL, Apache and PostgreSQL. Any Linux distribution (RedHat, SuSE, Debian, Mandrake) should run unmodified over the ported OS.

In addition to Linux, members of Xen's user community have contributed or are working on ports to other operating systems such as NetBSD (Christian Limpach), FreeBSD (Kip Macy) and Plan 9 (Ron Minnich).

It is also possible to run some other, not ported, operating systems if your CPU has hardware virtualization support (VT or Pacifica).

Installation on etch/sid

Upstream documentation can be found in the xen-docs-3.0 package.

Dom0 (host)

  • Choose and install a xen-linux-system-KERNELVERSION package. This installs the kernel, a hypervisor and matching utilities.

  • On i386, install libc6-xen. This means that you don't have to delete /lib/tls or move it out of the way, as suggested by most Xen guides.

  • You may find the xen-tools package helpful. It is a set of scripts to manage guest Xen domains that run Debian/Ubuntu/CentOS. More information and examples at http://xen-tools.org/software/xen-tools/.

You can get a list of all xen-linux-system packages with a command such as apt-cache -n search xen-linux-system, or by consulting [http://packages.debian.org/cgi-bin/search_packages.pl?keywords=xen-linux-system&searchon=names&subword=1&version=all&release=all packages.debian.org]. The following packages are currently available:

xen-linux-system-2.6.18-4-xen-686

testing (etch), unstable

i386

xen-linux-system-2.6.18-4-xen-k7

testing (etch), unstable

i386

xen-linux-system-2.6.18-4-xen-vserver-686

testing (etch), unstable

i386

xen-linux-system-2.6.18-4-xen-amd64

testing (etch), unstable

amd64

xen-linux-system-2.6.18-4-xen-vserver-amd64

testing (etch), unstable

amd64

Debian 4.0 (etch) will release with the -2.6.18-4 packages.

DomU (guests)

  • If you want to use pygrub (a grub clone written in python and running on the Dom0): install a Xen kernel. Get a list with apt-cache -n search linux-image-xen.

  • If you want to use a kernel image in the Dom0: install the matching modules. Get a list with apt-cache -n search linux-modules.

  • On i386, install libc6-xen.

  • If you want a not ported operating system (Windows..), you will have to install xen-ioemu-3.0.3-1

Installation on sarge (stable)

Most of the above packages seem to be present on http://backports.org/, so use them!

libc6-xen is not present. [http://saintaardvarkthecarpeted.com/blog/?p=182 Allegedly], creating the file /etc/ld.so.nohwcap will cause libraries in /lib/tls to be ignored, thus making it unecessary to move the directory out of the way. Can anyone confirm this?

  • {i} This is a Debian-specific feature. Other guest operating systems will still require /lib/tls to be removed/renamed.

Package maintenance

Debian's Xen packages are maintained by the [http://alioth.debian.org/projects/pkg-xen/ pkg-xen] project.

The [http://qa.debian.org/developer.php?login=pkg-xen-devel@lists.alioth.debian.org Debian Developer's Package Overview] page lists source packages that are maintained by the team.

Old stuff

I am just about to get started installing xen with Debian as dom0 and Debian, Ubuntu, Redhat as domU. There are multiple Howto's about that, unfortunately I don't see which of them is really useful, still undecided which one I will use. If someone can say something clear about which of these describes a really working, easy, and good way to go, comments would be cool:

These are only half of those I found, there are also numerous describing all that for Ubuntu Linux - very confusing. The people at cosi.clarkson.edu seem to do some stuff, also, but their stuff is also very badly documented. Anybody having any insights on that is really welcome to comment here!