Open main menu

OpenVZ Virtuozzo Containers Wiki β

Installation on Debian 8

Revision as of 12:22, 9 July 2017 by Narcisgarcia (talk | contribs) (Change Systemd to SystemV)

This document briefly describes the steps needed to install OpenVZ on your Debian 8 "Jessie" machine. For RHEL/Centos 6 based systems, please see Quick installation.

A commercial version of OpenVZ is available, which simplifies installation with a single disk as well as supports networked installation using PXE boot. To learn more about Parallels Cloud Server and request a free trial, please see http://www.parallels.com/products/pcs/

Contents

Requirements

This guide assumes you are running Debian 8 "Jessie" for AMD64 or i686.

Partitions and /vz file system

It is recommended to use a separate partition for containers (by default /var/lib/vz) and format it to ext4.

Change Systemd to SystemV

  Note: As of OpenVZ 042stab123.9 is not booting with Systemd.
  Note: Warning! This operation can make some software to stop working, such as desktop environments.
sudo apt-get install sysvinit-core sysvinit-utils
sudo apt-get remove systemd

Register OVZ updated repository

RepoFile=/etc/apt/sources.list.d/openvz.list
RepoUrl=http://download.openvz.org/debian
echo "deb $RepoUrl jessie main" | sudo tee "$RepoFile"
echo "#deb $RepoUrl jessie-test main" | sudo tee "$RepoFile"
echo "deb $RepoUrl wheezy main" | sudo tee -a "$RepoFile"
wget -qO - http://ftp.openvz.org/debian/archive.key | sudo apt-key add -
sudo apt-get update
  Note: The second line with jessie-test is commented out. This is a testing repo with newer kernels and possibly tools. Enable it if you want to stay on a bleeding edge of technology.
  Note: For more info about Debian repositories, see http://download.openvz.org/debian.

Install packages

KPackage="linux-image-openvz-$(dpkg --print-architecture)"
sudo apt-get --install-recommends install $KPackage vzdump ploop initramfs-tools
if [ ! -d /vz ] ; then sudo ln -s /var/lib/vz/ /vz ; fi
  • Create file /etc/vz/vznet.conf with the following line:
EXTERNAL_SCRIPT="/usr/sbin/vznetaddbr"
  • Optionally you can set containers completely stop when service stops at /etc/vz/vz.conf
VE_STOP_MODE=stop

sysctl

There are a number of kernel parameters that should be set for OpenVZ to work correctly. These parameters are stored in /etc/sysctl.conf file. Here are the relevant portions of the file; please edit accordingly.

# On Hardware Node we generally need
# packet forwarding enabled and proxy arp disabled
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.default.proxy_arp = 0

# Enables source route verification
net.ipv4.conf.all.rp_filter = 1

# Enables the magic-sysrq key
kernel.sysrq = 1

# We do not want all our interfaces to send redirects
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0

Help the project

This is an OpenVZ component you can install to gather OpenVZ usage and hardware statistics, in order to improve the project.

sudo apt-get install vzstats

Reboot into OpenVZ kernel

sudo reboot
  Note: If you don't see a boot manager entry with word "openvz", you must choose "Advanced options" to select there first openvz listed kernel.

Check that the OpenVZ processes are running:

sudo ps ax | grep -v 'grep' | grep 'vzmond'

Set OpenVZ as default to boot

Because of GRUB2 default criteria, default kernel to boot can still be the one from Debian's repository (non OVZ). If you want to change this behaviour, once you've booted fine into OpenVZ kernel, you can remove other unuseful kernels:

Packages="$(aptitude search ~i~nlinux-image- --display-format '%p' | grep -ve 'openvz')"
sudo apt-get remove $Packages
sudo apt-get autoremove

Download OS templates

This step is optional, vzctl is able to download templates on demand.

An OS template is a Linux distribution installed into a container and then packed into a gzipped tarball. Using such a cache, a new container can be created in a minute.

OpenvzKey="$(echo $(sudo gpg --batch --search-keys security@openvz.org 2>&1 | grep -ie ' key.*created' | sed -e 's|key|@|g' | cut -f 2 -d '@') | cut -f 1 -d ' ' | cut -f 1 -d ',')"
sudo gpg --recv-keys $OpenvzKey
sudo vztmpl-dl --gpg-check --list-remote
# Example:
sudo vztmpl-dl --gpg-check debian-8.0-x86_64-minimal

Alternatively, you can also download precreated template caches from Downloads » Templates » Precreated, or from one of the mirrors. Put those tarballs as-is (no unpacking needed) to the /vz/template/cache/ directory.

Next steps

OpenVZ is now set up on your machine. Follow on to basic operations in OpenVZ environment document.

See also