Diese Anleitung beschreibt die Konfiguration von KVM-Nodes für das sourceDESK-Plugin für KVM-vServer. Als System wird hier Debian 8 verwendet, dies sollte 64-bit sein, auch wenn 32-bit theoretisch von KVM unterstützt wird.
Software-Installation
Zuerst prüfen wir, ob die verbaute CPU Hardware-Virtualisierung unterstützt.
egrep '(vmx|svm)' --color /proc/cpuinfo
In der Ausgabe muss vmx oder svm auftauchen, ansonsten kann die CPU nicht für KVM verwendet werden.
Nun installieren wir KVM und Tools zur Verwaltung.
apt-get install qemu-kvm libvirt-bin bridge-utils
Konfiguration
Zuerst sollte der Hostname des Nodes konfiguriert werden. Dieser wird in die Datei /etc/hostname eingetragen und über das Kommando hostname gesetzt.
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:
dpkg-reconfigure tzdata
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.
Jetzt kommt der komplizierteste Schritt bei KVM: Die Netzwerkkonfiguration. Wir nutzen hierzu eine Netzwerk-Brücke (Bridge).
Templates
Da die Betriebssystem-Installation bei KVM vom Nutzer via VNC erfolgt, ist eine ISO-Datei notwendig, die dann beim Boot-Vorgang eingebunden wird. Es kann hier also theoretisch jedes Betriebssystem verwendet werden, auch Windows.
Die entsprechenden Distributionen kann man also direkt auf der jeweiligen Seite der Distribution herunterladen.
Der Einfachheit halber nutzt sourceDESK nur ISO-Dateien aus dem Verzeichnis /home/iso, welches Sie anlegen müssen. Dorthin laden Sie bitte sämtliche ISO-Dateien, die Sie mit KVM verwenden möchten.
Zu Testzwecken laden wir einfach eine minimale Debian-Version mit Netinstall:
mkdir -p /home/iso cd /home/iso wget http://cdimage.debian.org/debian-cd/8.5.0/amd64/iso-cd/debian-8.5.0-amd64-netinst.iso
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
Freie IP-Adressen
Damit sourceDESK weiß, welche IP-Adressen für die vServer noch zur Verfügung stehen, muss die Datei /root/free-v4.txt und/oder /root/free-v6.txt angelegt werden. In diese Dateien wird pro Zeile eine freie IPv4-/IPv6-Adresse eingetragen.
Beispiel:
1.2.3.4 5.6.7.8 9.0.1.2
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.