KVM: Einrichtung auf Ubuntu 16.04

November 20, 2017 in hypervisor, linux ‐ 2 min read

Dieser Artikel ist eine Anleitung wie man auf einem Ubuntu Server:

  • KVM installiert
  • Einen virtuellen Ubuntu Server erstellt
  • Eine Portweiterleitung an die Viruelle Maschine einrichtet

Dieses Vorgehen ist sinnvoll um:

  • Den Host-Server (und die Gast-Server gegeneinander) abzusichern
  • Dienste (Webserver, Datenbank etc.) mehrach laufen zu lassen ohne, dass ungewollte Synergieeffekte auftreten

Komfortabler Weise entwickelt Canonical ein sogenanntes Ubuntu “Cloud Image”. Dieses Image ist eine für diese Verwendung optimierte und abgespeckte Version des Ubuntu Servers.

Des weiteren werden uns mit Libvirt und ukv-kvm sehr mächtige Werkzeuge an die Hand gegeben um das Virtualisieren mit KVM zu vereinfachen.

 

KVM installieren

Verbindet euch per ssh zu dem Ubuntu Server mit einem Benutzer der sudo Rechte hat. Bevor wir irgendwelche Arbeiten an dem Server beginnen, aktualisieren wir die Paketquellen und installieren ausstehende Updates.

sudo apt-get update && sudo apt-get upgrade

Nicht jede CPU unterstützt Virtualisierung. Um zu prüfen, ob der Prozessor in eurem Server geeignet installieren wir den “cpu-checker”.

sudo apt-get install cpu-checker

Mit kvm-ok könnt ihr jetzt prüfen, ob die CPU den Anforderungen entspricht.

image

Anschließend installieren wir das sogenannte uvtool.

sudo apt-get install uvtool

Es bringt dazu folgende Werkzuge mit diversen Parametern mit:

  • uvt-simplestreams-libvirt → Images herunterladen und aktualisieren (synchronisieren)
  • uvt-kvm → Verwalten der VMs

Nun laden wir ein Ubuntu 16.04 (xenial) 64-bit image herunter. Auch wenn die Cloud Images im vergleich zu orginalen Server Images relativ klein sind, kann dies je nach Internetleitung einige Minuten dauern.

uvt-simplestreams-libvirt sync release=xenial arch=amd64

 

Virtuelle Maschine erstellen

Um uns mit der zu erstellenden VM verbinden zu können, müssen wir einen öffentlichen ssh Schlüssel in der VM hinterlegen. In unserem beispiel erstellen wir einen neuen, ihr könnt aber auch euren eigenen verwenden.

Gebt dem key einen anderen namen als “id_rsa”, um euren eigenen nicht zu überschreiben.

ssh-keygen

image

Jetzt nutzen wir uvt-kvm um eine VM mit dem Namen „vm_xenial“ zu erstellen und hinterlegen den öffentlichen SSH-Schlüssel. (Dieser wird den default user “Ubuntu” in die Datei /home/ubuntu/.ssh/Authorized_keys geschrieben)

uvt-kvm create vm_xenial release=xenial --ssh-public-key-file ~/.ssh/vm_xenial_id_rsa.pub

Mit virsh lassen wir uns nun einmal unsere laufenden VMs anzeigen.

virsh list

image
Anschließend finden wir die IP Adresse der neu erstellten VM fest und verbinden uns per ssh.

uvt-kvm ip xenial

image

ssh -i ./vm_xenial_id_rsa ubuntu@<ip>

image

Cheers, Ori

Vielen Dank an Fl@ und beegeees, die maßgeblich bei der Erstellung dieses Artikels mitgewirkt haben.