Open main menu

OpenVZ Virtuozzo Containers Wiki β

Changes

Installation on Debian 9

3,031 bytes added, 16:41, 12 July 2017
no edit summary
This document briefly describes the steps needed to install OpenVZ 6 (legacy) on your Debian 9 "Stretch" (amd64 or i386) machine.
{{Note|The best and latest Debian version for OpenVZ 6 is [[Installation on Debian 8|Devuan 1.0]], but Debian 9 makes really easy the coexistence of OVZ and unprivileged LXC containers.}}
{{Out|Current commercial version of OpenVZ ([[Virtuozzo]] 7) is not installable on Debian GNU/Linux because is developed as an independent GNU/Linux distribution}}
== Requirements =Volumes and file systems =
Debian GNUIt is recommended to use a separate partition for containers (by default '''/Linux without "64bit" feature at Ext4 filesystemvar/lib/vz''') and format it to '''compatible ext4'''.
== Filesystem and defaults Ext4 ==Debian 9 installer (and tools by default) formats Ext4 with new features, and concrete "metadata_csum" is incompatible with OpenVZ6 kernel. Then it's necessary to boot without requiring the mount of volumes with "metadata_csum". Ordered alternatives:# After a fresh Debian 9 install, remove metadata_csum feature from filesystems.# Upgrade from Debian 8 to Debian 9 (metadata_csum not inherited)# Root volume (/ and others) as Ext3 and deploy /var/lib/vz in a later created Ext4 volume, without metadata_csum.# Use Ext3
Debian 9 installer formats Ext4 with new features (64bit === How to remove metadata_csum) from a mounted partition ===If your host altready mounts r/w volumes on boot and you can't tune2fs+e2fsck because volumes are in use, this is incompatible with OpenVZ6 kernel the solution (initrd cannot mount rootexample for /dev/sda1):* First check if the partition is affected. Then it Volume=/dev/sda1 sudo dumpe2fs -h $Volume 2>/dev/null | grep -e metadata_csum* If last command didn's necessary t return a line with metadata_csum, nothing to boot without requiring the mount of this advanced formatdo. OptionsOtherwise, continue: echo copy_exec /sbin/e2fsck | sudo tee -a /usr/share/initramfs-tools/hooks/fsck echo copy_exec /sbin/tune2fs | sudo tee -a /usr/share/initramfs-tools/hooks/fsck Script=/etc/initramfs-tools/scripts/local-premount/tune echo '#!/bin/sh' | sudo tee $Script echo 'if [ "$readonly" != "y" ] ; then exit 0 ; fi' | sudo tee -a $Script echo e2fsck -f $Volume | sudo tee -a $Script echo tune2fs -O -metadata_csum $Volume | sudo tee -a $Script echo e2fsck -f $Volume | sudo tee -a $Script sudo chmod a+x $Script sudo update-initramfs -u -k all* Root volume Reboot and check that metadata_csum disappeared: sudo reboot (/...) as Ext3 and Volume=/vardev/libsda1 sudo dumpe2fs -h $Volume 2>/vz separated in an Ext4dev/null | grep -e metadata_csum* Install Debian 8 (will format without "64bit") and upgrade Restore initrd behaviour sudo rm /etc/initramfs-tools/scripts/local-premount/tune sudo apt --reinstall install initramfs-tools-coreThis recipe is useful for any volume that can't be neither unmounted nor remounted readonly. === How to Debian 9remove metadata_csum from a not mounted partition ===This procedure can be applied when partition can be mounted readonly* Install Debian 9 Example for /dev/sda9 sudo e2fsck -f /dev/sda9 sudo tune2fs -O -metadata_csum /dev/sda9 sudo e2fsck -f /dev/sda9 === How to format a volume to be a previously formatted compatible Ext4 without "64bit".===* Example for /dev/sda9 sudo mkfs -t ext4 -O -metadata_csum /dev/sda9
== Partitions and btrfs ==You might want btrfs to use per-directory (subvolume) quotas for other simfs/dir containers, such as LXC. Only vzquota doesn't work on a btrfs volume; for OVZ containers it's better to mount /var/lib/vz file system ==to an Ext4 volume.
It is recommended to use a separate partition for containers Debian 9 installer (and tools by default '''/var/lib/vz''') and format formats btrfs with modern features as: mixed-bg, extref, skinny-metadata, no-holes. All of these are incompatible with OpenVZ6 kernel. Then it 's necessary to '''ext4'''boot without requiring the mount of volumes with these attributes.Ordered alternatives:
# Pre-format '''compatible btrfs''' for a fresh Debian 9 install on root volume (/ and others) and deploy /var/lib/vz in a later created Ext4 volume. Debian 9 installer must not format btrfs but "keep existing data" as allowed in manual partitioning stage.# Use '''compatible Ext4''' volumes and deploy later the secondary btrfs partitions. === How to format a volume to be a compatible btrfs ===* Example for /dev/sda1 sudo mkfs -t btrfs -O ^mixed-bg,^extref,^skinny-metadata,^no-holes /dev/sda1You must not format btrfs with Debian installer because features cannot be disabled after. = Change Systemd to SystemV ==
{{Note|Warning! This operation can make some software to stop working, such as desktop environments.}}
echo -e 'Package: *systemd*\nPin: release *\nPin-Priority: -1\n' | sudo tee /etc/apt/preferences.d/systemd
* Other More recipes at [http://without-systemd.org/wiki/index.php/Debian_Stretch without-systemd.org]
== Register OVZ updated repository ==
RepoFile=/etc/apt/sources.list.d/openvz.list
{{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-toolsdirmngr
if [ ! -d /vz ] ; then sudo ln -s /var/lib/vz/ /vz ; fi
VE_STOP_MODE=stop
== Reboot into OpenVZ kernel == {{Note|At boot manager, in "Advanced options for Debian GNU/Linux", you will find kernels named "openvz". Select the first listed.}}
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 Probably you don't 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.
Alternatively, you can also download precreated template caches from [http://openvz.org/download/template/cache Downloads » Templates » Precreated], or from one of the [https://mirrors.openvz.org/ mirrors]. Put those tarballs '''as-is (no unpacking needed)''' to the <tt>/vz/template/cache/</tt> directory.
== Next steps ==
OpenVZ is now set up on your machine. Follow on to [[basic operations in OpenVZ environment]] document.
== See also ==* [[Installation on Debian 8]] (oldstable) or Devuan 1.0 (Jessie)
[[Category: Installation]]
[[Category: HOWTO]]
[[Category: Debian]]
92
edits