Server Installation/vhost-admin
Inhaltsverzeichnis |
Überblick
Wir verwenden auf Opennet-Virtualisierungsserver (siehe Opennet Server) ein (selbsterstelltes) Skript zur vereinfachten Verwaltung von virtuellen Hosts. Dies erlaubt uns die Erzeugung und Löschung von VMs via Komandozeile.
Das Skript geht von folgenden Voraussetzungen aus:
- KVM-basierte Virtualisierung (via libvirt)
- Ablage der Host-Dateisysteme: LVM oder einfache Datei-Images
Einrichtung
Die ansible-Rolle virtualization-server sorgt für die Installation der notwendigen Pakete, die Übertragung des vhost-admin-Skripts, sowie (einmalig) die Übertragung eines libvirt-Templates für neue Hosts. Beachte eventuell die Dokumentation der ansible-Rolle für eventuell erforderliche ansible-Host-Variablen (z.B. die Auswahl der VM-Image-Verwaltung: LVM oder Datei).
Folgende nachträgliche Anpassungen auf dem Virtualisierungsserver sind wahrscheinlich empfehlenswert:
- Bridge für das Mesh-Interface konfigurieren:
auto br-mesh iface br-mesh inet static address 192.168.10.6 netmask 255.255.0.0 bridge_ports none
- Bridge für das WAN-Interface konfigurieren, falls die VMs direkt mit diesem Netz verbunden werden sollen:
auto br-wan iface br-wan inet static address 139.30.241.XXX netmask 255.255.255.0 gateway 139.30.241.1 bridge_ports eth0 iface br-wan inet6 auto
- Bridge für virtuelle WAN-Interfaces konfigurieren, falls die VMs über den Virtualisierungsserver ins Internet routen sollen:
auto br-virt-wan iface br-virt-wan inet static address 172.16.1.1 netmask 255.255.255.0 bridge_ports none iface br-virt-wan inet6 auto
- eventuell in der Datei /etc/libvirt/qemu/_template.xml Anpassungen vornehmen (z.B. Anpassung der Bridge-Namen oder Hinzufügen der optionalen WAN-Bridge)
Anlegen oder Löschen von Hosts
Das Skript vhost-admin.sh ermöglicht die vereinfachte Erzeugung und Löschung virtueller Hosts.
Debian-Host anlegen
vhost-admin.sh create-debian <hostname> <opennet-mesh-ip>
- ein Debian-basiertes System wird via debootstrap auf einem LVM-Volume vorbereitet
- Netzwerk wird vorkonfiguriert:
- eth0: oben angegebene IP-Adresse (Bridge ins Opennet Mesh Bridge)
- die IP muss zuvor unter Server reserviert werden
- eth1: DHCP-Client (nur wirksam, falls eine WAN Bridge vorhanden ist)
- olsrd: automatischer Start für eth0
- eth0: oben angegebene IP-Adresse (Bridge ins Opennet Mesh Bridge)
- root-Schlüssel des Virtualisierungsservers wird importiert
- der Hostname wird für die Namen der LVM-Volumes und des libvirt-Hosts verwendet
OpenWrt-Host anlegen
vhost-admin.sh create-ap ap1-23 192.168.1.23 latest
- ein openwrt-basiertes System wird mittels eines herunterzuladenden Images vorbereitet
- das Image kann auch als Firmware-Release-Version angegeben werden (z.B. 0.5.x - siehe
vhost-admin.sh list-ap-firmware-versions
)
- das Image kann auch als Firmware-Release-Version angegeben werden (z.B. 0.5.x - siehe
- ein LVM-Image wird als Datenträger erzeugt
- mit openwrt-Images vom Typ x86-combined-squashfs (z.B. [[1]]) funktioniert die Firmware-Aktualisierung aus dem laufenden System heraus (eventuell gilt das auch für anderen Firmware-Formate)
- lokale Dateien können via
file://DATEINAME
referenziert werden (sieheman curl
)
- lokale Dateien können via
- das Skript konfiguriert die Netzwerk-Interfaces des AP entsprechend der eingebundenen Hausnetze (eth0: olsr-Mesh, kein LAN)
- nach dem Starten des virtuellen Hosts (
virsh start ap1-23
) ist er unter der gewählten IP in der gesamten OLSR-Wolke erreichbar- die IP muss zuvor unter Opennet_Nodes reserviert werden
Host löschen
vhost-admin.sh remove ap1-23
- das virtuelle System (debian- oder openwrt-basiert) wird gestoppt und inklusive der LVM-Images ohne Nachfrage gelöscht