Mit diesem Beitrag soll eine kleine Serie gestartet werden, in der die Zugänglichkeit verschiedener Virtualisierungstechnologien genauer beleuchtet werden soll.
Welche Systeme werden betrachtet?
Zunächst sollen Virtualisierungstechnologien, welche unter Linux laufen genauer betrachtet werden. Es geht hier im Schwerpunkt um unterschiedliche Frontends, womit die jeweiligen Technologien realisiert bzw. umgesetzt werden. Dabei werden ausschließlich Systeme betrachtet, welche im Serverbetrieb vorkommen und genutzt werden. Lösungen für den Desktop-Betrieb wie beispielsweise Gnome-Boxes oder Virtualbox werden nicht Bestandteil dieser Serie sein.
Folgende Systeme werden genauer angeschaut:
Wobei UCS auf Libvirt aufbaut und Libvirt verschiedene Technologien wie beispielsweise Xen und KVM (Kernel Based virtual Machine) verwalten kann.
Alle hier ausprobierten Technologien werden mit KVM benutzt, außer Xen. Xen ist eine eigene Technologie die mit KVM nicht vermischt werden kann.
Grundlagen
Es gibt zwei Wege, über die man den Bildschirm der eigentlichen virtuelle Maschine betrachten kann: Über VNC und über eine Console. In neueren Frontends wie beispielsweise Proxmox wird hauptzächlich VNC für den Zugriff auf die VMs verwendet.
Was ist VNC?
VNC (Virtual Network Computing) ist eine Technik, mit der der Bildschirminhalt eines Computers über ein Netzwerk übertragen werden kann. Hierbei wird nicht nur der Bildschirm, sondern auch die Tastatur und Mauseingaben übertragen.
Für Virtualisierungs-Systeme ist VNC also eigentlich genau das richtige: Man kann den zu virtualisierenden Computer genau so steuern, als würde man unmittelbar vor dem Computer sitzen.
Für eine barrierefreie Nutzung ist aber VNC denkbar ungeeignet! Es wird kein Sound übertragen und ein ScreenReader kann auch nicht eingesetzt werden, weil die Accessibility-Informationen, die ein ScreenReader braucht, nicht übertragen werden. Technisch überträgt VNC das Bild ausschließlich grafisch. Eine Anreicherung mit zusetzlichen Informationen wie dem Accessibility-Informationen findet nicht statt.
Somit fällt VNC als Zugriffsmöglichkeit auf virtuelle Maschinen für all diejenigen, die unterschiedliche Hilfstechnologien wie Spracheingabe, ScreenReader, usw. verwenden leider weg.
Die Lösung: Text muss her
Wenn es mit einer grafischen Übertragung nicht klapt, brauchen wir eine Möglichkeit, alle Informationen auf Text-Ebene zu übertragen! Die Lösung: Eine Console!
Jeder, der sich intensiver mit Linux beschäftigt hat, kennt die Textconsole. In einer Textconsole werden alle Informationen, wie der Name schon sagt, In Textform ausgegeben.
Also genau das, was wir brauchen.
Da die hier vorgestellten Frontends ohnehin auf Linux-Systemen arbeiten, haben wir direkt eine Console zur Verfügung. Am Einfachsten verbindet man sich via SSH auf das jeweilige Host-System und ruft dort eine Console zu dem virtualisierten Rechner auf. Vorausgesetzt, das jeweilige Betriebssystem, welches auf der virtuellen Maschine läuft, unterstützt die Ausgabe der Bildschirm-Informationen über eine serielle Console. (Windows fällt da schon einmal weg) J
Sollte ein virtualisiertes Windows zum Einsatz kommen, muss die Installation entweder durch jemand, der die VNC-Schnittstelle verwenden kann, durchgeführt / unterstützt werden, oder man verwendet eine sogenannte unbeaufsichtigte Installation. Dort wird eine sogenannte Antwort-Datei auf dem Installationsdatenträger hinterlegt, in der alle Einstellungen, die das Windows-Setup abfragt, hinterlegt sind. Zusetzlich kann über diesen Weg auch weitere Software wie ein ScreenReader automatisch installiert werden (Hier ist allerdings recht viel Arbeit im Vorfeld erforderlich). Dieses Vorgehen im Detail zu erläutern, würde den Rahmen dieser Serie sprängen.
Im nächsten Teil betrachten wir den Hypervisor Xen und schauen, wie dieser verwendet werden kann.