OpenVZ Installation (Debian 9)

Vorwort

Diesen Abschnitt müssen Sie nur befolgen, wenn Sie den Lizenzschlüssel für das TekRWI Modul haben. Bei allen anderen Modulen können Sie diesen Schritt überspringen. Wir haben für Sie die Installationsanleitung von wiki.openvz.org zusammengefasst. Sie können auch die Anleitung dort befolgen. Hier beschreiben wir nun die Installation von OpenVZ auf einem Server mit Debian 9. Zudem wird empfohlen, für /var/lib/vz eine eigene Ext4 kompatiblen Partition anzulegen.

1. Partitionen mit Ext4 anpassen

Zeitaufwand: 5-10 Minuten

Diesen Schritt können überspringen, wenn Sie von Debian 8 auf Debian 9 Upgraden. Da der OpenVZ6 Kernel mit dem in Debian 9 enthaltenen Feature metadata_csum für Ext4 inkompatibel ist.

1.1 Eingebundene Partitionen

Prüfen Sie zunächst per Konsole, ob die Partition betroffen ist. Als Beispiel verwenden wir /dev/sda1.

Volume=/dev/sda1
dumpe2fs -h $Volume 2>/dev/null | grep -e metadata_csum

Wenn der letzte Befehl keine Zeile mit metadata_csum zurückgibt, sind keien Änderungen notwendig und Sie können die Schritte überspringen. Ansonsten folgendes ausführen.

echo copy_exec /sbin/e2fsck | tee -a /usr/share/initramfs-tools/hooks/fsck
echo copy_exec /sbin/tune2fs | tee -a /usr/share/initramfs-tools/hooks/fsck
Script=/etc/initramfs-tools/scripts/local-premount/tune
echo '#!/bin/sh' | tee $Script
echo 'if [ "$1" = "prereqs" ] ; then exit 0 ; fi' | tee -a $Script
echo e2fsck -f $Volume | tee -a $Script
echo tune2fs -O -metadata_csum $Volume | tee -a $Script
echo e2fsck -f $Volume | tee -a $Script
chmod a+x $Script
update-initramfs -u -k all

Starten Sie den Server anschließend neu

reboot

Prüfen Sie jetzt noch einmal, ob metadata_csum aktiv ist hier sollte nun keine Ausgabe mit metadata_csum erfolgen.

Volume=/dev/sda1
dumpe2fs -h $Volume 2>/dev/null | grep -e metadata_csum

Nun stellen Sie initrd wieder her.

rm /etc/initramfs-tools/scripts/local-premount/tune
apt --reinstall install initramfs-tools-core
update-initramfs -u -k all

1.2 Nicht eingebundene Partitionen

Diese Vorgehensweise kann angewendet werden, wenn die Partition nur readonly gemountet werden kann. Als Beispiel verwenden wir /dev/sda2.

e2fsck -f /dev/sda2
tune2fs -O -metadata_csum /dev/sda2
e2fsck -f /dev/sda2

1.3 Ext4 kompatibel formatieren

Sie können auch eine Partition ohne metadata_csum neu formatieren. Als Beispiel verwenden wir /dev/sda2.

mkfs -t ext4 -O -metadata_csum /dev/sda2

2. SystemD zu SystemV wechseln

Zeitaufwand: 1-5 Minuten

Dazu installieren wir als erstes die SystemV Komponenten und starten anschließend den Server neu.

apt install sysvinit-core sysvinit-utils
reboot

Als nächstes entfernen Sie SystemD mit folgenden Befehlen:

apt --auto-remove remove systemd
echo -e 'Package: *systemd*
Pin: release *
Pin-Priority: -1
' | tee /etc/apt/preferences.d/avoid-systemd

3. Repository aktualisieren

Zeitaufwand: 1-5 Minuten

Fügen Sie den OpenVZ Repositories Ihrem Server hinzu und updaten Sie die Liste. Dazu führen Sie einfach folgende Befehle aus. Bitte beachten Sie, dass die Keys von openvz.org abgelaufen sind. Sie können diese jedoch bestätigen.

RepoFile=/etc/apt/sources.list.d/openvz.list
RepoUrl=http://download.openvz.org/debian
echo "deb $RepoUrl jessie main" | tee "$RepoFile"
echo "deb $RepoUrl wheezy main" | tee -a "$RepoFile"
wget -qO - http://ftp.openvz.org/debian/archive.key | apt-key add -
apt-get --allow-unauthenticated update

4. OpenVZ Pakete installieren

Zeitaufwand: 1-5 Minuten

Jetzt können Sie die benötigten Pakete für OpenVZ mit nachfolgenden Befehlen installieren.

KPackage="linux-image-openvz-$(dpkg --print-architecture)"
apt --allow-unauthenticated --install-recommends install $KPackage vzdump ploop initramfs-tools dirmngr
if [ ! -d /vz ] ; then ln -s /var/lib/vz/ /vz ; fi

Erstellen Sie in /etc/vz die Datei vznet.conf mit folgendem Inhalt:

EXTERNAL_SCRIPT="/usr/sbin/vznetaddbr"
VE_STOP_MODE=stop

5. Boot Loader anpassen

Zeitaufwand: 1-5 Minuten

Der Grub Boot Loader wurde schon automatisch eingerichtet aber Sie können zur Sicherheit noch einmal folgenden Befehl ausführen:

update-grub

Der neue Kernel wurde automatisch in die /boot/grub/menu.lst eingetragen und hat den Namen 2.6.32-openvz. Sie müssen nun die menu.lst bearbeiten und die anderen Kernel mit # auskommentieren. Anschließend starten Sie den Server neu und kontrollieren ob OpenVZ aktiv ist.

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

5. Zugriff für SSH User freigeben

Zeitaufwand: 1-5 Minuten
Damit der SSH User (user-webi) auch auf die Dateien von OpenVZ zugreifen kann, müssten diese in der /etc/sudoers freigegeben werden oder für Tests von /usr/sbin nach /usr/bin kopiert werden. Tippen Sie dazu folgende Befehle ab:
ln -s /usr/sbin/vzctl /usr/bin/vzctl
ln -s /usr/sbin/vzquota /usr/bin/vzquota
ln -s /usr/sbin/iptables /usr/bin/iptables

6. OpenVZ Images

Zeitaufwand: 1-5 Minuten

Die Images für OpenVZ sind .tar.gz Dateien und können direkt auf den Server in /vz/template/cache oder auf Ihrem Imageserver im Ordner OpenVZ hinterlegt werden. Damit der Cache Modus für den Imageserver aktiv ist, denken Sie daran einen md5 Hash der Dateien anzufertigen. Dazu finden Sie auf unserem Imageserver ein kleines Skript mit dem Namen md5.sh. Dieses kopieren Sie auf Ihren Imageserver in den Ordner OpenVZ, geben der Datei chmod 755 und rufen diese anschließend auf.

chmod 0755 md5.sh
./md5.sh

Wenn Sie ein neues Image hinzufügen oder eines updaten, so führen Sie die md5.sh erneut aus.