HINWEIS: Eine Aktualisierte Version dieses Beitrages für Ubuntu 20.04 ist >hier< verfügbar
In diesem Beitrag beschreibe ich wie eine neue KVM Virtuelle Maschine unter Ubuntu Linux 16.04 erstellt werden kann. Ich gehe davon aus, dass KVM bereits installiert ist. Im Beitrag KVM unter Ubuntu Linux 16.04 installieren und Bridged networking konfigurieren habe ich beschrieben wie KVM installiert werden kann.
Eine neue KVM Virtuelle Maschine kann ganz einfach mit nachfolgendem Befehl erstellt sowie direkt die Installation gestartet werden.
Die einzelnen Parameter bedeuten folgendes:
- name definiert den Namen der neuen VM – im Beispiel vm1.
- ram setzt den Arbeitsspeicher der VM in Megabyte – im Beispiel 4096 MB.
- vcpus gibt die Anzahl der CPUs, welche der VM zugewiesen werden sollen an – im Beispiel 2.
- cpu spezifiziert die zu verwendende CPU – im Beispiel wird host verwendet, was die gleiche Konfiguration wie auf dem Host Rechner bedeutet und somit Performancevorteile hat.
- hvm sagt aus, dass das System komplett virtualisiert werden soll.
- virt-type definiert den zu verwendenden Hypervisor – Im Beispiel kvm.
- disk setzt verschiedene Parameter für den zu verwendenden Speicher
- path legt den Speicherort des Speichers fest – im Beispiel wird im Standardverzeichnis /var/lib/libvirt/images/ eine Datei mit Namen vm1 erzeugt.
- size setzt die Größe des Speichers in Gigabyte – im Beispiel 100 GB.
- bus gibt den zu verwendenden Bustyp des Speichers an – im Beispiel virtio.
- format definiert das Format des Speichers – im Beispiel qcow2.
- os-variant optimiert die Konfiguration der VM für ein bestimmtes Betriebssystem – im Beispiel ubuntu16.04. Eine Liste aller Betriebssysteme kann mit dem Befehl osinfo-query os ausgegeben werden. Das Programm osinfo-query wird in Ubuntu Linux 16.04 vom Paket libosinfo-bin bereitgestellt.
- location definiert die Quelle der Installationsdateien – im Beispiel http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/.
- network legt die Netzwerkoptionen fest.
- bridge spezifiziert das zu verwendende Bridge Gerät – im Beispiel br0.
- model setzt den Typ des verwendeten Netzwerkgerätes – im Beispiel virtio.
- graphics legt die Konfiguration der grafischen Ausgabe fest. Das im Beispiel verwendete none sagt, dass keine grafische Ausgabe verwendet werden soll.
- console erstellt eine Textkonsole zwischen der VM und dem Host. Die im Beispiel verwendete Konfiguration pty,target_type=serial sagt aus, dass eine serielle Konsole erstellt werden soll, welche an ein PTY auf dem Host weitergeleitet werden soll.
- extra-args definiert zusätzliche Kernel Parameter, welche bei der Installation mit aufgerufen werden. Die im Beispiel verwendeten Parameter console=ttyS0,115200n8 serial öffnen eine Konsole von der VM zum host.
$ sudo virt-install --name vm1 --ram 4096 --vcpus=2 --cpu host --hvm --virt-type=kvm --disk path=/var/lib/libvirt/images/vm1,size=100,bus=virtio,format=qcow2 --os-variant ubuntu16.04 --location http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/ --network=bridge=br0,model=virtio --graphics none --console pty,target_type=serial -- extra-args 'console=ttyS0,115200n8 serial'
Die Installation startet direkt nach dem Absenden des Befehls und im Terminal wird direkt die Installationskonsole angezeigt.