Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:archlinux_-_virtualisierung_gast_konfiguration

ArchLinux - Virtualisierung Gast Konfiguration

Bekanntlich führen viele Wege nach Rom, deswegen erhebt diese Beschreibung auch keinen Anspruch auf die einzige Wahre Lösung! Vielmehr ist es ein Versuch einen Gast einer Virtualisierungsumgebung mit ArchLinux zu konfigurieren.

Die hier vorgestellte Möglichkeit dies zu realisieren soll möglichst nach folgenden Vorgaben erfolgen:

  • möglichst nur mit Bordmitteln
  • möglichst wenig externen Paketen/Programmen/Quellen
  • einfache Realisierung

Ab hier werden root-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um der Benutzer root zu werden, geben Sie bitte nachfolgenden Befehl ein:

$ su -
Password: 

Vorbereitung

Es soll als Grundlage eine Installation in den Varianten:

oder

und die zusätzlich noch benötigten Installationen für das

durchgeführt werden.

Installation

Nachfolgende Pakete ermöglichen den erweiterten Zugriff vom Wirt-System auf eine Gast-System.

  • qemu-guest-agent - Erweiterter Zugriff vom Wirt-System auf das Gast-System.
# pacman -S qemu-guest-agent

Dienst/Daemon einrichten

Damit nach einem Neustart des Servers auch die Virtualisierungsumgebung zur Verfügung steht, muss der qemu-guest-agent-Dienst/Daemon gestartet werden, was mit nachfolgendem Befehl eingerichtet werden muss:

# systemctl enable qemu-guest-agent.service 
Created symlink /etc/systemd/system/multi-user.target.wants/qemu-guest-agent.service → /usr/lib/systemd/system/qemu-guest-agent.service.

Eine Überprüfung, ob beim Neustart des Server der qemu-guest-agent-Dienst/Daemon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:

# systemctl list-unit-files --type=service | grep -E ^qemu-guest-agent
qemu-guest-agent.service                   enabled         disabled

bzw.

# systemctl is-enabled qemu-guest-agent.service
enabled

Dienst: qemu-guest-agent starten

Anschliessend kann der Dienst/Daemon gestartet werden, was mit nachfolgendem Befehl durchgeführt wird:

# systemctl start qemu-guest-agentd.service

und mit nachfolgendem Befehl überprüft werden, ob der Start auch erfolgreich funktioniert hat:

# systemctl status qemu-guest-agent.service
● qemu-guest-agent.service - QEMU Guest Agent
     Loaded: loaded (/usr/lib/systemd/system/qemu-guest-agent.service; enabled;>
     Active: active (running) since Sun 2022-01-30 07:40:17 CET; 11min ago
   Main PID: 398 (qemu-ga)
      Tasks: 2 (limit: 2341)
     Memory: 1.1M
        CPU: 5ms
     CGroup: /system.slice/qemu-guest-agent.service
             └─398 /usr/bin/qemu-ga

Jan 30 07:40:17 server systemd[1]: Started QEMU Guest Agent.

KVM virsh Konsolenzugriff

Nachfolgende Konfiguration ermöglicht es mit dem Kommandozeilenbefehl virsh Zugriff auf eine Konsole zu erhalten.

VM-Konfigurieren

Damit auf ein virtuelle Maschine mittels dem Kommandozeilenbefehl virsh auf eine Konsole zu gegriffen werden kann, muss diese die nachfolgenden „Hardware“-Komponenten konfiguriert haben:

Hardware Typ Hardware Konfiguration Hardware XML
Serial Device 1 (Primary Console) Device Type: pty
Source path: /dev/pts/1
<serial type="pty">
  <source path="/dev/pts/1"/>
  <target type="isa-serial" port="0">
    <model name="isa-serial"/>
  </target>
  <alias name="serial0"/>
</serial>
Console Device 2 Device Type: pty
Source path: /dev/pts/2
Target type: virtio
<console type="pty">
  <source path="/dev/pts/2"/>
  <target type="virtio" port="1"/>
  <alias name="console1"/>
</console>

Zur Ergänzung der Hardware-Ressourcen innerhalb des Befehls virt-install sind nachfolgende Parameter dem Befehl hinzuzufügen:

(Nur relevanter Ausschnitt):

# virt-install ... --serial pty --console pty,target.type=virtio ...

Dienst: serial-getty@ttyS0.service

In der virtuellen Maschine muss nachfolgender Daemon/Dienst serial-getty@ttyS0.service gestartet sein, damit über den Kommandozeilenbefehl virsh auf eine Konsole zu gegriffen werden kann:

Damit nach einem Neustart des Servers auch über den Kommandozeilenbefehl virsh auf eine Konsole zu gegriffen werden kann, muss der serial-getty@ttyS0.service-Dienst/Daemon gestartet werden, was mit nachfolgendem Befehl eingerichtet werden muss:

# systemctl enable serial-getty@ttyS0.service 
Created symlink /etc/systemd/system/multi-user.target.wants/serial-getty@ttyS0.service → /usr/lib/systemd/system/serial-getty@ttyS0.service.

Eine Überprüfung, ob beim Neustart des Server der serial-getty@ttyS0.service-Dienst/Daemon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:

# systemctl list-unit-files --type=service | grep -E ^serial-getty@ttyS0
serial-getty@ttyS0.service                 enabled         disabled

bzw.

# systemctl is-enabled serial-getty@ttyS0.service
enabled

Anschliessend kann der Dienst/Daemon gestartet werden, was mit nachfolgendem Befehl durchgeführt wird:

# systemctl start serial-getty@ttyS0.service

und mit nachfolgendem Befehl überprüft werden, ob der Start auch erfolgreich funktioniert hat:

# systemctl status serial-getty@ttyS0.service
● serial-getty@ttyS0.service - Serial Getty on ttyS0
     Loaded: loaded (/usr/lib/systemd/system/serial-getty@.service; enabled; ve>
     Active: active (running) since Sun 2022-01-30 11:22:32 CET; 41min ago
       Docs: man:agetty(8)
             man:systemd-getty-generator(8)
             http://0pointer.de/blog/projects/serial-console.html
   Main PID: 418 (agetty)
      Tasks: 1 (limit: 2341)
     Memory: 192.0K
        CPU: 7ms
     CGroup: /system.slice/system-serial\x2dgetty.slice/serial-getty@ttyS0.serv>
             └─418 /sbin/agetty -o "-p -- \\u" --keep-baud 115200,57600,38400,9>

Jan 30 11:22:32 vml250 systemd[1]: Started Serial Getty on ttyS0.

virsh: Konsolenzugriff

Mit nachfolgendem Befehl kann eine Auflistung aller virtuellen Maschinen ausgegeben werden, welcher als Vorbereitung zum Zugriff über den Kommandozeilenbefehl virsh auf eine Konsole dienen kann:

# virsh list --all
 Id   Name     State
------------------------
 1    server   running

Nachfolgender Befehl eröffnet über den Kommandozeilenbefehl virsh eine Konsole zum Zugriff auf die entsprechende virtuelle Maschine:

# virsh console server 
Connected to domain 'server'
Escape character is ^] (Ctrl + ])

Durch drücken der [Enter/Return]-Taste erscheint ein „Login-Prompt“ der virtuellen Maschine, wie nachfolgend dargestellt:

# virsh console server 
Connected to domain 'server'
Escape character is ^] (Ctrl + ])

server login: 

Beendet kann der Zugriff auf eine Konsole über den Kommandozeilenbefehl virsh über die Tastenkombination [Ctrl + ]] bzw. [Ctrl + Alt Gr + 9]

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
tachtler/archlinux_-_virtualisierung_gast_konfiguration.txt · Zuletzt geändert: 2022/01/30 12:16 von klaus