Nachdem ich vieles immer gerne „von Hand“ mache um zu verstehen wie es funktioniert gibt es hier mal eine Anleitung wie man auf einem Hetzner Root-Server (mit zusätzlicher IP) eine virtuelle Maschine (in dem Fall Ubuntu Linux) betreibt.
Natürlich muss die Maschine nicht Linux sein und auch der Hoster muss nicht Hetzner sein 🙂
Wenn man sich die Arbeit sparen möchte und einfach nur unkompliziert virtuelle Maschinen laufen lassen will empfehle ich die Linux-Distribution Proxmox VE (auf Debian passierend).
Damit kann man virtuelle Maschinen einfach per Klick verwalten und auch ein User-Control Panel anlegen wenn man einem Bekannten eine virtuelle Maschine einrichten will auf die dieser (in bestimmten Rahmen) Vollzugriff hat (er sie also rauf-, und runterfahren kann, nicht aber die Plattenkapazität beliebig erhöhen!).
Nachteil der Lösung ist natürlich dass man nun als Hostsystem nicht das geliebte Ubuntu hat sondern ein Hostsystem was eigentlich nur fürs hosten von virtuellen Maschinen gedacht ist.
In meinem Fall aber ist das Hostsystem ein Ubuntu. Damit bin ich quasi aufgewachsen 🙂
Jetzt aber los, zuerst installieren wir mal ein paar Pakete die natürlich direkt in den Paketquellen von Ubuntu beinhaltet sind:
apt-get install qemu-system-x86 qemu-system kvm screen bridge-utils uml-utilities
Nun konfigurieren wir (per Symbolic Link) die Standardarchitektur von QEMU auf 64Bit. Unser Host ist schließlich ein 64Bit System und deswegen kann er VMs mit gleicher Architektur am besten virtualisieren.
ln -s /usr/bin/qemu-system-x86_64 /usr/bin/qemu
Nun erzeugen wir uns ein paar Ordner wo unsere Daten rein sollen (ich hab hier der Einfachheit halber mal alles mit dem User ‚root‘ durchgeführt. Das ist natürlich nicht ratsam für den Dauerbetrieb, macht uns aber erstmal am wenigsten Probleme!):
mkdir /root/qemu mkdir /root/qemu/VM mkdir /root/qemu/ISO mkdir /root/qemu/Snapshots
Nun laden wir uns ein Ubuntu-Server System unserer Wahl runter:
cd /root/qemu/ISO wget http://releases.ubuntu.com/14.04.1/ubuntu-14.04.1-server-amd64.iso
Für dieses System brauchen wir auch noch eine Platte. Diese erzeugt QEMU mit folgendem Kommando (in dem Fall: 50 GB):
qemu-img create /root/qemu/VM/tcv1_ubuntu_14_04.img 50G
Jetzt kommt eine Hetzner-Spezialität, wir müssen für unsere IP (5.9.93.48) eine Netzwerkbrücke eintragen, denn alle Pakete für unsere extra IPs (die wir bei Hetzner gebucht haben) kommen dort an und sollten von dort aus abhängig von der MAC-Adresse (man muss für die extra gebuchten IPs eine eigene MAC-Adresse einstellen bei Hetzner) an die einzelnen VMs geroutet werden.
Die Netzwerkbrücke definieren wir in der Datei /etc/network/interfaces – hier der komplette nötige Inhalt:
# /etc/network/interfaces # Loopback device: auto lo iface lo inet loopback # Haupt-IP als Netzwerkbruecke auto vmbr0 iface vmbr0 inet static address 5.9.93.48 netmask 255.255.255.255 gateway 5.9.93.33 pointopoint 5.9.93.33 bridge_ports eth0 bridge_stp off bridge_fd 1 bridge_hello 2 bridge_maxage 12
So, und bevor wir nun unsere VM starten, starten wir eine screen-Session in der die VM laufen soll:
screen
Jetzt aber los., wir starten eine Maschine ohne Grafikausgabe mit 512 MB Ram. Die Konsole ist über VNC auf Port 5901 (Standardport ist 5900 und wir haben ‚:1‘ angegeben) zu erreichen. Außerdem stecken wir unsere CD ins Laufwerk, booten von der CD und geben die feste MAC-Adresse an. (5.9.93.33 ist die IP unseres Hosts für die VNC-Verbindung, 00:50:56:00:67:C3 ist die MAC-Adresse unserer extra IP).
Achja und das Tastaturlayout ist deutsch:
qemu -enable-kvm -hda /root/qemu/VM/tcv1_ubuntu_14_04.img -device e1000,netdev=net0,mac=00:50:56:00:67:C3 -netdev tap,id=net0 -cdrom /root/qemu/ISO/ubuntu-14.04.1-server-amd64.iso -boot d -m 512 -nographic -vnc 5.9.93.33:1,password -monitor stdio -k de
Wir sind nun in der QEMU-Konsole. Hier müssen wir dem VNC-Server noch ein Passwort geben:
change vnc password
Und schon kann man sich über VNC (IP 5.9.93.33 Port 5901) verbinden und den Server über VNC bequem installieren.
Wenn die virtuelle Maschine mal fertig installiert ist kann man die CD aus dem Laufwerk nehmen und VNC nicht aktivieren:
qemu -enable-kvm -hda /root/qemu/VM/tcv1_ubuntu_14_04.img -device e1000,netdev=net0,mac=00:50:56:00:67:C3 -netdev tap,id=net0 -boot d -m 512 -nographic -vnc none -monitor stdio -k de
Man kann VNC jederzeit nachträglich in der Konsole über folgendes Kommando aktivieren:
change vnc 5.9.93.33:1 change vnc password
Und deaktiveren:
change vnc none
Mittels dem folgenden Kommado kann man der Maschine übrigens mehr Prozessoren geben:
-cpu host -smp 4
QEMU erlaubt auch das simulieren jeglicher Prozessorarchitekturen (diese muss dann statt ‚host‘ angegeben werden). Das ist aber natürlich aus Performancegründen nicht ratsam.
Ich selbst betreibe mehrere virtuelle Maschinen damit. Unter anderem Windows10, Ubuntu und CentOS und hatte bislang keinerlei Probleme.
Klar, es ist alles handgestrickt und selber gemacht und es gibt wahrscheinlich viel bessere Lösungen, aber mal eben so schnell auf einem x-beliebigen Linux-Rechner ne VM zu starten geht mit diesen Befehlen schon recht einfach, ohne dass man groß etwas installieren müsste.
Weitere Hintergrundinfos zu QEMU: Ubuntuusers.de
Hier gibts noch Infos aus dem Hetzner WIKI zu extra IPs und deren Routing: Proxmox VE
Schreibe einen Kommentar