Open main menu

OpenVZ Virtuozzo Containers Wiki β

Installation on Debian 9

Revision as of 14:37, 11 July 2017 by Narcisgarcia (talk | contribs) (Created page with "This document briefly describes the steps needed to install OpenVZ 6 (legacy) on your Debian 9 "Stretch" machine. {{Out|Current commercial version of OpenVZ (Virtuozzo 7)...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This document briefly describes the steps needed to install OpenVZ 6 (legacy) on your Debian 9 "Stretch" machine.

Current commercial version of OpenVZ (Virtuozzo 7) is not installable on Debian GNU/Linux because is developed as an independent GNU/Linux distribution

Contents

Requirements

Debian GNU/Linux without "64bit" feature at Ext4 filesystem.

Filesystem and defaults

Debian 9 installer formats Ext4 with new features (64bit metadata_csum) and this is incompatible with OpenVZ6 kernel (initrd cannot mount root). Then it's necessary to boot without requiring the mount of this advanced format. Options:

  • Root volume (/) as Ext3 and /var/lib/vz separated in an Ext4
  • Install Debian 8 (will format without "64bit") and upgrade to Debian 9
  • Install Debian 9 to a previously formatted Ext4 without "64bit".

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: Warning! This operation can make some software to stop working, such as desktop environments.
sudo apt install sysvinit-core sysvinit-utils
# Must boot with SystemV to release Systemd
sudo reboot
sudo apt --auto-remove remove systemd
echo -e 'Package: *systemd*\nPin: release *\nPin-Priority: -1\n' | sudo tee /etc/apt/preferences.d/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 wheezy main" | sudo tee -a "$RepoFile"
wget -qO - http://ftp.openvz.org/debian/archive.key | sudo apt-key add -
sudo apt-get --allow-unauthenticated update

As of July 2017, release key at openvz.org site is invalid, and last command will complain:

W: GPG error: http://download.openvz.org/debian jessie Release: The following signatures were invalid: DA2458173935F9DE9B76BA7547B5DBAB0FCA9BAC
W: The repository 'http://download.openvz.org/debian jessie Release' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: GPG error: http://download.openvz.org/debian wheezy Release: The following signatures were invalid: DA2458173935F9DE9B76BA7547B5DBAB0FCA9BAC
W: The repository 'http://download.openvz.org/debian wheezy Release' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.

You can continue.

  Note: For more info about Debian repositories, see http://download.openvz.org/debian.

Install packages

KPackage="linux-image-openvz-$(dpkg --print-architecture)"
sudo apt --allow-unauthenticated --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

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="$(apt list --installed 'linux-image-*' 2>/dev/null | grep -e '^linux-image-' | grep -ve 'openvz' | cut -f 1 -d '/')"
sudo apt --autoremove remove $Packages

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.

# Register official container templates:
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