OpenVZ-Node: Unterschied zwischen den Versionen
(20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 7: | Zeile 7: | ||
cd /etc/yum.repos.d | cd /etc/yum.repos.d | ||
wget http://download.openvz.org/openvz.repo | wget http://download.openvz.org/openvz.repo | ||
− | + | wget http://download.openvz.org/RPM-GPG-Key-OpenVZ | |
+ | rpm --import RPM-GPG-Key-OpenVZ | ||
+ | rm -f RPM-GPG-Key-OpenVZ | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 20: | Zeile 22: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
− | yum install vzctl vzquota | + | yum install vzctl vzquota ploop |
</syntaxhighlight> | </syntaxhighlight> | ||
== Konfiguration == | == Konfiguration == | ||
− | + | Zuerst sollte der Hostname des Nodes konfiguriert werden. Dieser wird in die Datei ''/etc/hostname'' eingetragen. Im Normalfall reicht dies aus, eventuell muss noch die ''/etc/sysconfig/network'' angepasst werden. | |
− | Kernel | + | Die System-Zeit und die Zeitzone sollte überprüft werden, diese Einstellungen müssen korrekt sein. Die Zeitzone können wir wie folgt auf die deutsche Zeitzone stellen: |
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | rm -f /etc/localtime | ||
+ | ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Die Zeit können wir recht einfach synchronisieren, sofern das Paket ntp installiert ist: | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | ntpdate pool.ntp.org | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Um den SSH-Login schneller zu machen, bearbeiten wir die Datei ''/etc/ssh/sshd_config'' und fügen folgendes am Ende ein: | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | UseDNS no | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Eine Portänderung von SSH ist möglich, auch wenn wir davon abraten. Wenn der Port geändert wird, auf jeden Fall einen Port kleiner als 1024 wählen! Passwort-Authentifizierung darf nicht deaktiviert werden. | ||
+ | |||
+ | Nach Änderung der Konfiguration müssen Sie den SSH-Server neustarten: | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | service sshd restart | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Danach müssen wir die Datei ''/etc/sysctl.conf'' bearbeiten. Hier wird am Ende folgendes eingefügt: | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | net.ipv4.ip_forward = 1 | ||
+ | net.ipv4.conf.default.proxy_arp = 1 | ||
+ | net.ipv4.conf.all.rp_filter = 1 | ||
+ | kernel.sysrq = 1 | ||
+ | net.ipv4.conf.default.send_redirects = 1 | ||
+ | net.ipv4.conf.all.send_redirects = 0 | ||
+ | net.ipv4.icmp_echo_ignore_broadcasts = 1 | ||
+ | net.ipv4.conf.default.forwarding = 1 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Diese Werte müssen nun noch durch folgendes Kommando übernommen werden: | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | sysctl -p | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | In der Datei ''/etc/vz/vz.conf'' wird folgender Wert am Ende eingefügt: | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | NEIGHBOUR_DEVS=all | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Nun wird noch SELinux deaktiviert, dazu wird die Datei ''/etc/sysconfig/selinux'' bearbeitet. Der Wert der Variable ''SELINUX'' wird auf ''disabled'' gesetzt: | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | SELINUX=disabled | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Damit das System in den richtigen Kernel bootet, prüfen wir noch die Datei ''/etc/grub.conf''. Hier werden die Kernel über das Schlüsselwort ''title'' definiert. Hinter ''title'' folgt dann zum Beispiel ''OpenVZ''. Diese Einträge nummerieren wir im Kopf durch, der erste Eintrag ist Eintrag Nr. 0, der zweite Eintrag ist Nr. 1 usw. Wir merken uns die Nummer des Eintrages für OpenVZ. Nun steht in der gleichen Datei relativ weit am Anfang die Variable ''default'', zum Beispiel: | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | default=0 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Entspricht dieser Wert der Nummer des Eintrages für OpenVZ, sind wir mit der Konfiguration fertig. Wenn nicht, müssen wir die Nummer entsprechend anpassen und die Datei speichern. Danach muss folgender Befehl ausgeführt werden: | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | update-grub | ||
+ | </syntaxhighlight> | ||
== Templates == | == Templates == | ||
− | ... | + | Für OpenVZ müssen Betriebssystem-Templates für die vServer zur Verfügung stehen. Diese werden in das Verzeichnis ''/var/lib/vz/template/cache'' geladen und müssen die Endung ''.tar.gz'' haben. |
+ | |||
+ | Wir laden nun ein erstes Template herunter, um dieses für einen Test-Server zu verwenden: | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | cd /var/lib/vz/template/cache | ||
+ | wget https://download.openvz.org/template/precreated/debian-7.0-x86_64-minimal.tar.gz | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Weitere Templates können später hinzugefügt werden. Unter [https://download.openvz.org/template/precreated/] stehen viele bereits erstellte Templates zur Verfügung, man kann auch selbst Templates mittels ''debootstrap'' erstellen. | ||
== Testen == | == Testen == | ||
+ | Der Node sollte nun neugestartet werden: | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | reboot | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Nachdem der Node wieder verfügbar ist, sollten wir den Kernel überprüfen: | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | uname -r | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Sofern die Ausgabe nun etwas mit ''stab'' zeigt, ist alles korrekt. Andernfalls müssen wir den Bootloader (Grub) noch einmal prüfen. | ||
+ | |||
Wir sollten nun einen Test-vServer erstellen, um das System zu testen. Dafür verwenden wir folgende Kommandos: | Wir sollten nun einen Test-vServer erstellen, um das System zu testen. Dafür verwenden wir folgende Kommandos: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
− | vzctl create 101 --ostemplate debian-7.0- | + | vzctl create 101 --ostemplate debian-7.0-x86_64-minimal |
vzctl set 101 --onboot yes --save | vzctl set 101 --onboot yes --save | ||
vzctl set 101 --ipadd <ip> --save | vzctl set 101 --ipadd <ip> --save | ||
Zeile 54: | Zeile 147: | ||
Nach der Ausführung aller Kommandos sollte der vServer erreichbar sein. Hier sollten ein paar kleine Tests durchgeführt werden, wichtig ist hier insbesondere die Konnektivität (Node -> vServer, vServer -> Node, Internet -> vServer, vServer -> Internet). Sofern IPv6 verwendet werden soll, unbedingt auch IPv6 testen, dies ist häufig ein Problem. | Nach der Ausführung aller Kommandos sollte der vServer erreichbar sein. Hier sollten ein paar kleine Tests durchgeführt werden, wichtig ist hier insbesondere die Konnektivität (Node -> vServer, vServer -> Node, Internet -> vServer, vServer -> Internet). Sofern IPv6 verwendet werden soll, unbedingt auch IPv6 testen, dies ist häufig ein Problem. | ||
+ | |||
+ | Anschließend kann der vServer heruntergefahren und entfernt werden: | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | vzctl stop 101 | ||
+ | vzctl destroy 101 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == IP-Adressen == | ||
+ | Sie müssen die verfügbaren IP-Adressen in der [[IP-Verwaltung]] des Produkts eintragen. | ||
== Hinzufügen == | == Hinzufügen == | ||
− | ... | + | Beim Hinzufügen eines Produktes in sourceDESK muss nur der Hostname (eventuell mit geändertem SSH-Port, zum Beispiel vz01.sourceway.de:923) und das Root-Passwort angegeben werden. |
+ | |||
+ | Sie können sodann die Einstellungen für den vServer vornehmen, hier können Sie die Anzahl der CPU-Kerne, den Arbeitsspeicher und die Festplatte einstellen. |
Aktuelle Version vom 20. November 2018, 10:58 Uhr
Diese Anleitung beschreibt die Konfiguration von OpenVZ-Nodes für das sourceDESK-Plugin für OVZ-Server. Als System wird hier CentOS 6 verwendet, CentOS 7 wird aufgrund teilweise unvollständiger Abhängigkeiten nicht empfohlen.
Inhaltsverzeichnis
Software-Installation
Zur Software-Installation wird das OpenVZ-Repository für CentOS benötigt. Dieses wird hiermit hinzugefügt und der Schlüssel als vertrauenswürdig markiert.
cd /etc/yum.repos.d wget http://download.openvz.org/openvz.repo wget http://download.openvz.org/RPM-GPG-Key-OpenVZ rpm --import RPM-GPG-Key-OpenVZ rm -f RPM-GPG-Key-OpenVZ
Danach kann der OpenVZ-Kernel installiert werden.
yum update yum install vzkernel
Wir benötigen nun noch ein paar User-Tools für OpenVZ, diese installieren wir auch gleich.
yum install vzctl vzquota ploop
Konfiguration
Zuerst sollte der Hostname des Nodes konfiguriert werden. Dieser wird in die Datei /etc/hostname eingetragen. Im Normalfall reicht dies aus, eventuell muss noch die /etc/sysconfig/network angepasst werden.
Die System-Zeit und die Zeitzone sollte überprüft werden, diese Einstellungen müssen korrekt sein. Die Zeitzone können wir wie folgt auf die deutsche Zeitzone stellen:
rm -f /etc/localtime ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime
Die Zeit können wir recht einfach synchronisieren, sofern das Paket ntp installiert ist:
ntpdate pool.ntp.org
Um den SSH-Login schneller zu machen, bearbeiten wir die Datei /etc/ssh/sshd_config und fügen folgendes am Ende ein:
UseDNS no
Eine Portänderung von SSH ist möglich, auch wenn wir davon abraten. Wenn der Port geändert wird, auf jeden Fall einen Port kleiner als 1024 wählen! Passwort-Authentifizierung darf nicht deaktiviert werden.
Nach Änderung der Konfiguration müssen Sie den SSH-Server neustarten:
service sshd restart
Danach müssen wir die Datei /etc/sysctl.conf bearbeiten. Hier wird am Ende folgendes eingefügt:
net.ipv4.ip_forward = 1 net.ipv4.conf.default.proxy_arp = 1 net.ipv4.conf.all.rp_filter = 1 kernel.sysrq = 1 net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0 net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.conf.default.forwarding = 1
Diese Werte müssen nun noch durch folgendes Kommando übernommen werden:
sysctl -p
In der Datei /etc/vz/vz.conf wird folgender Wert am Ende eingefügt:
NEIGHBOUR_DEVS=all
Nun wird noch SELinux deaktiviert, dazu wird die Datei /etc/sysconfig/selinux bearbeitet. Der Wert der Variable SELINUX wird auf disabled gesetzt:
SELINUX=disabled
Damit das System in den richtigen Kernel bootet, prüfen wir noch die Datei /etc/grub.conf. Hier werden die Kernel über das Schlüsselwort title definiert. Hinter title folgt dann zum Beispiel OpenVZ. Diese Einträge nummerieren wir im Kopf durch, der erste Eintrag ist Eintrag Nr. 0, der zweite Eintrag ist Nr. 1 usw. Wir merken uns die Nummer des Eintrages für OpenVZ. Nun steht in der gleichen Datei relativ weit am Anfang die Variable default, zum Beispiel:
default=0
Entspricht dieser Wert der Nummer des Eintrages für OpenVZ, sind wir mit der Konfiguration fertig. Wenn nicht, müssen wir die Nummer entsprechend anpassen und die Datei speichern. Danach muss folgender Befehl ausgeführt werden:
update-grub
Templates
Für OpenVZ müssen Betriebssystem-Templates für die vServer zur Verfügung stehen. Diese werden in das Verzeichnis /var/lib/vz/template/cache geladen und müssen die Endung .tar.gz haben.
Wir laden nun ein erstes Template herunter, um dieses für einen Test-Server zu verwenden:
cd /var/lib/vz/template/cache wget https://download.openvz.org/template/precreated/debian-7.0-x86_64-minimal.tar.gz
Weitere Templates können später hinzugefügt werden. Unter [1] stehen viele bereits erstellte Templates zur Verfügung, man kann auch selbst Templates mittels debootstrap erstellen.
Testen
Der Node sollte nun neugestartet werden:
reboot
Nachdem der Node wieder verfügbar ist, sollten wir den Kernel überprüfen:
uname -r
Sofern die Ausgabe nun etwas mit stab zeigt, ist alles korrekt. Andernfalls müssen wir den Bootloader (Grub) noch einmal prüfen.
Wir sollten nun einen Test-vServer erstellen, um das System zu testen. Dafür verwenden wir folgende Kommandos:
vzctl create 101 --ostemplate debian-7.0-x86_64-minimal vzctl set 101 --onboot yes --save vzctl set 101 --ipadd <ip> --save vzctl set 101 --ipadd <ip6> --save vzctl set 101 --nameserver 8.8.8.8 --save vzctl set 101 --nameserver 8.8.4.4 --save vzctl set 101 --hostname test --save vzctl set 101 --diskspace 10G:10G --save vzctl set 101 --userpasswd root:test1234 vzctl set 101 --vmguarpages 1024M --save vzctl set 101 --oomguarpages 1024M --save vzctl set 101 --privvmpages 1024M:1024M --save vzctl set 101 --cpus 1 --save vzctl start 101
<ip> muss durch eine IPv4-Adresse ersetzt werden. Wenn eine IPv6-Adresse vorhanden ist, bitte <ip6> durch diese ersetzen - ansonsten bitte die ganze Zeile löschen.
Nach der Ausführung aller Kommandos sollte der vServer erreichbar sein. Hier sollten ein paar kleine Tests durchgeführt werden, wichtig ist hier insbesondere die Konnektivität (Node -> vServer, vServer -> Node, Internet -> vServer, vServer -> Internet). Sofern IPv6 verwendet werden soll, unbedingt auch IPv6 testen, dies ist häufig ein Problem.
Anschließend kann der vServer heruntergefahren und entfernt werden:
vzctl stop 101 vzctl destroy 101
IP-Adressen
Sie müssen die verfügbaren IP-Adressen in der IP-Verwaltung des Produkts eintragen.
Hinzufügen
Beim Hinzufügen eines Produktes in sourceDESK muss nur der Hostname (eventuell mit geändertem SSH-Port, zum Beispiel vz01.sourceway.de:923) und das Root-Passwort angegeben werden.
Sie können sodann die Einstellungen für den vServer vornehmen, hier können Sie die Anzahl der CPU-Kerne, den Arbeitsspeicher und die Festplatte einstellen.