Änderungen

Wechseln zu: Navigation, Suche

KVM-Node

147 Byte hinzugefügt, 15:46, 31. Aug. 2016
Diese Anleitung beschreibt die Konfiguration von KVM-Nodes für das sourceDESK-Plugin für KVM-vServer. Als System wird hier '''CentOS 7Debian 8''' verwendet, dies sollte 64-bit sein, auch wenn 32-bit theoretisch von KVM unterstützt wird.
== Software-Installation ==
<syntaxhighlight lang="bash">
yum apt-y get install @virt* dejavuqemu-lgckvm libvirt-* xorg-x11-xauth tigervnc libguestfs-tools policycoreutils-python bin bridge-utils uuid
</syntaxhighlight>
<syntaxhighlight lang="bash">
rm dpkg-f /etc/localtimeln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtimereconfigure tzdata
</syntaxhighlight>
Die Zeit können wir recht einfach synchronisierenWir müssen nun sicherstellen, sofern das Paket ntp installiert dass der Netzwerk-Manager von Debian deaktiviert ist:
<syntaxhighlight lang="bash">
ntpdate poolsystemctl stop NetworkManager.ntpservicesystemctl disable NetworkManager.orgservice
</syntaxhighlight>
Um den Eine Portänderung von SSH-Login schneller zu machenist möglich, bearbeiten auch wenn wir die Datei ''/etc/ssh/sshd_config'' und fügen folgendes am Ende ein:davon abraten. Wenn der Port geändert wird, auf jeden Fall einen Port kleiner als 1024 wählen! Passwort-Authentifizierung darf nicht deaktiviert werden.
<syntaxhighlight lang="bash">UseDNS no</syntaxhighlight>Jetzt kommt der komplizierteste Schritt bei KVM: Die Netzwerkkonfiguration. Wir nutzen hierzu eine Netzwerk-Brücke (Bridge).
Eine Portänderung Wir erstellen die Bridge ''br0'' mit folgendem Kommando 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''bridge-Authentifizierung darf nicht deaktiviert werden. Wir müssen nun sicherstellen, dass Packet Forwarding aktiviert ist. Gleichzeitig konfigurieren wir den Autostart für den Daemonutils'':
<syntaxhighlight lang="bash">
sed -i 's/^\(net.ipv4.ip_forward =\).*/\1 1/' /etc/sysctl.confsysctl -p chkconfig libvirtd onbrctl addbr br0
</syntaxhighlight>
Jetzt Als nächstes müssen wir einen Autostart der Bridge beim Server-Start einrichten. Wir gehen mit dieser Konfiguration davon aus, dass ''eth0'' zum Zugriff auf das Netzwerk durch den Server genutzt wird noch . Andernfalls muss das Interface entsprechend geändert werden. Wir müssen nun die Netzwerkkonfiguration durchgeführtDatei ''/etc/network/interfaces'' bearbeiten. Am Ende der Datei fügen wir folgende Konfiguration für die Bridge ein:
<syntaxhighlight lang="bash">
chkconfig network onauto br0yum -y erase NetworkManagercp -p /etc/sysconfig/network-scripts/ifcfg-{eth0,iface br0}inet dhcpsed -i -e'/HWADDR/d' -e'/UUID/d' -e's/ bridge_ports eth0/br0/' -e's/Ethernet/Bridge/' /etc/sysconfig/network-scripts/ifcfg-br0echo DELAY= bridge_stp off bridge_fd 0 >> /etc/sysconfig/network-scripts/ifcfg-br0echo 'BOOTPROTO="none"' >> /etc/sysconfig/network-scripts/ifcfg-eth0echo BRIDGE=br0 >> /etc/sysconfig/network-scripts/ifcfg-eth0 bridge_maxwait 0
</syntaxhighlight>
Zum Schluss starten wir den Server neu:Diese Konfiguration geht davon aus, dass DHCP für die IP-Adresse verwendet ist. Ist dies nicht der Fall, übernehmen Sie bitte die IP-Konfiguration von ''eth0''. ''eth0'' taucht später nicht mehr in der Konfigurations-Datei aus, das komplette Netzwerk läuft über die Bridge.
<syntaxhighlight lang="bash">shutdown Wir starten den Server nun neu. Nach dem Neustart muss ''ifconfig'' zeigen, dass die Bridge ''br0'' eine IP-r now</syntaxhighlight>Adresse hat und ''eth0'' keine IP-Adresse mehr zugeordnet ist. Damit ist die Netzwerk-Konfiguration abgeschlossen.
== Templates ==
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 ''/var/lib/libvirthome/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:
<syntaxhighlight lang="bash">
cd mkdir -p /varhome/libisocd /libvirthome/iso
wget http://cdimage.debian.org/debian-cd/8.5.0/amd64/iso-cd/debian-8.5.0-amd64-netinst.iso
</syntaxhighlight>
</controller>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='5900-1' autoport="yes" listen='0.0.0.0' passwd='test1234'/>
<console type='pty'>
<target port='0'/>
</syntaxhighlight>
Nun Nach der Ausführung aller Kommandos sollte die VM ein virtuelles Interface ''vnet0'' bei der Bridge ''br0'' bekommen habenvServer erreichbar sein. Hier sollten ein paar kleine Tests durchgeführt werden, das überprüfen wir: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.
<syntaxhighlight lang="bash">brctl show</syntaxhighlight> Es sollte nun auch ein VNC-Server auf Port 5900 gestartet wurden sein, dies können wir auch prüfenAnschließend kann der vServer heruntergefahren und entfernt werden:
<syntaxhighlight lang="bash">
netstat -nap | egrep '(kvm|qemu)'vzctl stop 101vzctl destroy 101
</syntaxhighlight>
 
Als nächstes verbinden wir uns mit einem VNC-Client auf den Host-Server auf Port 5900, hier hört der VNC-Server der VM. Das Passwort lautet ''test1234''.
== 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, sowie getrennt durch ein Semikolon das Gateway.
Beispiel:
<syntaxhighlight lang="bash">
1.2.3.4;5.6.7.85.6.7.8;5.6.7.89.0.1.2;5.6.7.8
</syntaxhighlight>