Installing And Using OpenVZ On Debian Lenny (AMD64)

Version 1.1
Author: Falko Timme
Last edited 03/08/2009

In this HowTo I will describe how to prepare a Debian Lenny server for OpenVZ. With OpenVZ you can create multiple Virtual Private Servers (VPS) on the same hardware, similar to Xen and the Linux Vserver project. OpenVZ is the open-source branch of Virtuozzo, a commercial virtualization solution used by many providers that offer virtual servers. The OpenVZ kernel patch is licensed under the GPL license, and the user-level tools are under the QPL license.

This howto is meant as a practical guide; it does not cover the theoretical backgrounds. They are treated in a lot of other documents in the web.

This document comes without warranty of any kind! I want to say that this is not the only way of setting up such a system. There are many ways of achieving this goal but this is the way I take. I do not issue any guarantee that this will work for you!

 

1 Preliminary Note

I'm using an x86_64 (amd64) system here. If you are on an i386 system, a few commands will be slightly different - I have added annotations to that parts.

 

2 Installing OpenVZ

An OpenVZ kernel and the vzctl and vzquota packages are available in the Debian Lenny repositories, so we can install them as follows:

apt-get install linux-image-openvz-amd64 vzctl vzquota

(If you are on a i386 system, the kernel package is named linux-image-openvz-686.)

Create a symlink from /var/lib/vz to /vz to provide backward compatibility:

ln -s /var/lib/vz /vz

Open /etc/sysctl.conf and make sure that you have the following settings in it:

vi /etc/sysctl.conf

[...]
net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.ip_forward=1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.eth0.proxy_arp=1
[...]

If you need to modify /etc/sysctl.conf, run

sysctl -p

afterwards.

The following step is important if the IP addresses of your virtual machines are from a different subnet than the host system's IP address. If you don't do this, networking will not work in the virtual machines!

Open /etc/vz/vz.conf and set NEIGHBOUR_DEVS to all:

vi /etc/vz/vz.conf

[...]
# Controls which interfaces to send ARP requests and modify APR tables on.
NEIGHBOUR_DEVS=all
[...]

I also want to install the package vzdump which is not available in the Debian Lenny repositories - fortunately there's a .deb package available on http://www.proxmox.com/cms_proxmox/en/virtualization/openvz/vzdump/. First we install the package cstream on which vzdump is depending:

apt-get install cstream

Then we install vzdump as follows:

wget http://www.proxmox.com/cms_proxmox/cms/upload/vzdump/vzdump_1.1-1_all.deb
dpkg -i vzdump_1.1-1_all.deb

Finally, reboot the system:

reboot

If your system reboots without problems, then everything is fine!

Run

uname -r

and your new OpenVZ kernel should show up:

server1:~# uname -r
2.6.26-1-openvz-amd64
server1:~#

Share this page:

4 Comment(s)

Add comment

Comments

From: tmu at: 2010-07-06 08:40:57

The link for vzdump is broken

wget http://download.openvz.org/contrib/utils/vzdump/vzdump_1.2-4_all.deb

dpkg -i vzdump_1.2-4_all.deb

for me need to install also:

aptitude install liblockfile-simple-perl

From: Anonymous at: 2009-04-26 18:31:06

Instead of editing the /etc/apt/source.list file, it would be better to create a file openvz-lenny.list in /etc/apt/sources.list.d/

The content of openvz-lenny.list could then be this:

# Add repository for Open VZ for Lenny

deb http://download.openvz.org/debian-systs lenny openvz

# eof

You might even create the file and then just ask the user to do a

wget URL/openvz-lenny.list

and then let them copy it to /etc/apt/sources.list.d/ instead.

From: Quasimodo's clone at: 2009-04-04 03:42:10

Using the host part of the IP address in the VEID is a good idea, but it isn't mentioned in this tutorial, that the range from 0 to 100 is reserved for OpenVZ internal purposes. Actually theres only the VEID 0 in use, representing the hardware node itself, however, in future versions the use of reserved IDs could result in colisions.
See man vzctl and documentation.

You should use for IP address 78.90.12.34 the VEID 1034 and for 192.168.0.101 1101 instead of only 3 digits since there are host part numbers below 101 or you just count from 101 upward independent of the IP. Also you can NOT use IDs starting with 0, since the values are reduced to integers. So it wouldn't be a good idea to use 0034 and 0101.

 

From: Daniel Vazart at: 2009-08-27 14:59:35

*** Pay attention ! ***

The pakage linux-image-openvz-amd64 it's a meta package that will install linux-image-2.6.26-2-openvz-amd64 kernel, this version it's an unstable branch of OpenVZ that not includes some parametres like --cpus and --cpulimit for more information take a look at : http://bugzilla.openvz.org/show_bug.cgi?id=909