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 MinutenDiesen 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 MinutenDazu 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 MinutenFü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 MinutenJetzt 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 MinutenDer 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 MinutenDie 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.