Protokoll Treffen 26. 1. 2006
Ulrich Rieke
ulrich.rieke at onlinehome.de
Fr Jan 27 21:02:58 CET 2006
Hallo Tuxe,
im Folgenden kurz das Wichtigste zum Lugravtreffen am 26. 1. 2006
um 19 Uhr in der Schule am Möllerstift in Brackwede :
1)Erfreulicherweise konnten in einem Kreis von 12 Anwesenden 3 neue
Besucher begrüßt werden, so dass sich jeder , der
Gruppentradition entsprechend, einmal kurz vorstellte.
2)Rasch konnte man sich darauf einigen, dass das nächste Treffen in
14 Tagen aller Voraussicht nach wiederum in der Schule am
Möllerstift stattfinden kann.
3)Im Mittelpunkt des Abends stand der Vortrag von Peter Voigt über
Xen. Damit besteht die Möglichkeit, mehrere Betriebssysteme
parallel laufen zu lassen. Insgesamt gibt es eine Fülle von
Ansätzen, verschiedene Betriebssystem- und auch
Hardwarearchitekturen gewissermaßen nachzuahmen. Xen wurde im
Computer Laboratory der University of Cambridge entwickelt, sein
Umfeld ist noch nicht ganz klar.
Um zu erläutern, welche verschiedenen Ansätze es gibt, um sich
unterschiedliche Architekturen verfügbar zu machen, stellte Peter
ein Schichtenmodell eines Rechnersystem mit ( von "innen" nach
"außen" Treiber, Kernel , Bibliotheken , Systemdiensten und
Anwendungen ) vor. Man kann nun auf unterschiedlichen Schichten
aufsetzen: so kann man versuchen , Hardwaretreiber zu portieren,
sie ggf. zu simulieren oder, je nach vorhandener Codebasis ,
auch ein Reengineering vorzunehmen. Schließlich bleibt noch die
Möglichkeit, einen vorhandenen Treiber mit einem Wrapper zu
umgeben.
Setzt man auf der Kernelebene auf, so werden sogenannte Co-Kernel
wie etwa CoLinux eingesetzt.
Ferner kann man API's auf der Ebene der Systembibliotheken
portieren, man ist dann dadurch in der Lage , Software auf
unterschiedlicher Hardwarebasis auf der "Bibliotheksschicht" laufen
zu lassen. Dieser Ansatz erfreute sich in den vergangenen Jahren
großer Beliebtheit, Beispiele sind etwa die Virtual Machine von
Java oder die von Perl 6 mit Namen Parrot.
Geht man in der genannten Schichteinteilung weiter nach außen, so
kann man auch Betriebssystempartitionen auf der Ebene der
Systemdienste anlegen und so etwa bei Einbrüchen in das System von
außen unter bestimmten Umständen Partitionen lauffähig erhalten.
Konzeptionell handelt es sich dabei um eine Änderung der
Systemdienste.
Geht man in die Anwendungsschicht, so gibt es sogenannte userland
kernel oder auch Hardwareemulationen. Bei Letzterem wird somit
Hardware als Anwendungsprogramm simuliert, darauf läuft dann ein
Betriebssystemkernel mit einem beliebigen Betriebssystem, was einen
Parallelbetrieb und Multitasking erlaubt. Ein Beispiel dafür ist
Qemu. Daneben gibt es Ansätze zur Softwarevirtualisierung wie etwa
UsermodeLinux; hier läuft ein Linuxkernel wie ein
Anwendungsprogramm und darauf ein Linuxsystem.
Nach dieser Einführung zu verschiedenen Ansätzen des Zugangs zu
Hardware- und OS-Umgebungen stellte Peter dann Xen vor. Dabei
handelt es sich um einen Ansatz zur Paravirtualisierung. Xen lässt
es zu, dass mehrere Kernel unabhängig voneinander im
Parallelbetrieb laufen, zusätzlich gibt es , gewissermaßen als
Schicht "darunter", einen sogenannten Monitor und eine Nulldomain.
Bei Xen gibt es eigene Prozess- und Speicherräume für die
verschiedenen Kernel, allerdings muss beachtet werden , dass hinter
Monitorschicht und Nulldomain auch ein Kernel steht. Vorstellbar
ist es, so Peter, dass bei einem Einbruch in ein System oder bei
einer DoS-Attacke jeweils nur eine Kernelinstanz lahmgelegt werde
und so , etwa für einen Internet Provider, zusätzliche
Systemsicherheit geschaffen werden könne. Xen lasse es zu, dass im
laufenden Betrieb Kernel ausgetauscht werden.
Bei Xen sei Treibersoftware in die Nulldomain integriert, es gibt
einen Xen Daemon namens xend, mit dem es möglich ist , Gastsysteme
zu starten, sowie eine Anwendung namens xm als
Benutzerschnittstelle. In den Gastsystemen laufen dann User
Domains.
Beim Bootprozess startet grub den Xenmonitor, dieser lädt den
Kernel der Nulldomain, die dann ihr Betriebssystem hochfährt und
den Xen Daemon xend lädt. Über die Anwendungsschicht der Nulldomain
wird dann mit xm das Gastsystem gestartet. Ein vorhandenes System
kann gewissermaßen zum Wirtssystem gemacht werden ; um dies zu
ermöglichen, gibt es etwa bei Debian bereits fertige Pakete. Nach
Start des Xenkernel über grub können Gastsysteme installiert
werden, etwa über chroot. Nach der Installation können über eine
Configfile dann noch später Einstellungen nachgeholt werden.
Anfangs müsse man , so Peter, mit einer Fülle von Fehlermeldungen
beim Booten rechnen. Die Performance könne man verbessern, indem
man einige Bibliotheken verschiebe. Aus Sicherheitsgründen könne
man den Zugriff auf den Xen Daemon von außen sperren.
Peter wies darauf hin, dass es in den Userdomains unter Xen keinen
X-Server gebe. PCI-Karten werden von Xen nicht virtualisiert. Dies
geschieht hingegen mit Block Devices und Konsolen.
Ein echtes mehrfaches read-write ist nicht möglich, weil
schließlich der Xenkernel sich gewissermaßen "alleine wähnt" und
dies im Rahmen seiner kerneltypischen Synchronisierungsfunktion
verhindert.
Peter zeigte schließlich die Configfile von Xen und stellte die
Optionen der Benutzerschnittstelle xm vor:
So kann man mit
xm list die Userdomains zeigen ,
xm create userdomain eine neue Domain anlegen,
xm shutdown userdomain eine D. schließen,
xm migrate <ipaddresse> userdomain ein System über das Netz
verschieben, was allerdings voraussetzt, dass dasselbe
Filesystem vorliegt.
Xen erlaubt es, Kernel und Hardware live auszutauschen. So kann
man etwa Hardware gleichmäßig auslasten. Man hat die Möglichkeit,
andere Systeme kennenzulernen und ggf. weiterzuentwickeln und kann
mit mehreren Betriebssystemen ohne Reboot arbeiten.
Von Frank wurde darauf hingewiesen, dass Hardwarefirmen wie Intel
die Xen-Entwicklung mit viel Geld unterstützt haben, um die
Hardwarevirtualisierung voranzubringen.
Schließlich führte Peter Xen konkret im Einsatz vor. Er startete
insgesamt 4 Kernelinstanzen und nutzte eine davon , um über
vncviewer und Webmin letztendlich Skolelinux zu starten, so dass sehr
eindrucksvoll deutlich wurde, wie eine eigenständige Umgebung als
Gastsystem gestartet werden kann.
Zum Schluss verteilte Peter noch eine Linkliste mit weiterführenden
Informationen zum Thema:
Vielen Dank an Peter für diese sehr anschauliche Darstellung eines
schwierigen Themas, bei dessen Darstellung letztendlich die
"Systemanatomie" aufgebohrt werden muss, um darzustellen, wie die
verschiedenen Virtualisierungs- und Simulationsansätze arbeiten!
4)Zum Schluss wurden kurz noch Fragen gestellt. So wurde über
Probleme beim Brennen von DVD's mit k3b berichtet. Leider lagen
keine konkreten Fehlermeldungen vor, so dass die Runde hier nicht
konkret weiterhelfen konnte.
Auch ein Problem in der Umlautdarstellung im Desktop bei Kubuntu
konnte bei bereits fortgeschrittener Zeit nicht abschließend gelöst
werden. Ein letzter Interpretationsansatz war, dass evtl. die
Codepages des Kernels nicht stimmen.
So, dies war aus meiner Sicht das Wesentliche des letzten Treffens.
Wie immer bitte ich um Kommentare und bestimmt auch notwendige
Korrekturen, die letztendlich dazu dienen können, ein Thema ggf.
noch weiter zu vertiefen.
Macht's gut, bis bald, viele Grüße!
Ulrich