Inhaltsverzeichnis

Transcrição

Inhaltsverzeichnis
Desktop-Virtualisierung_mit_Oracle_VirtualBox
Hochschule:
Standort:
Studiengang:
Veranstaltung:
Betreuer:
Typ:
Themengebiet:
Autor(en):
Studienzeitmodell:
Semesterbezeichnung:
Studiensemester:
Bearbeitungsstatus:
Prüfungstermin:
Abgabetermin:
Fallstudienarbeit
Hochschule für Oekonomie & Management
Duisburg
Bachelor Wirtschaftsinformatik
Fallstudie / Wissenschaftliches Arbeiten
Dipl-Inf._(FH)_Christian_Schäfer
Fallstudienarbeit
Desktop Virtualisierung
Cihan Yilmaz, Baris Koymat, Michael Motzek
Abendstudium
SS11
2
Bearbeitung abgeschlossen
22.07.2011
Inhaltsverzeichnis
• 1 Einleitung
• 2 Grundlagen der Virtualisierung
♦ 2.1 Geschichte der Virtualisierung
♦ 2.2 Virtualisierte Umgebung
♦ 2.3 Formen der Virtualisierung
◊ 2.3.1 Servervirtualisierung
◊ 2.3.2
Anwendungsvirtualisierung
◊ 2.3.3 Desktop
-Virtualisierung
♦ 2.4 Zentrale vs. dezentrale
Virtualisierung
• 3 Vorstellung der Oracle VM VirtualBox
♦ 3.1 Eigenschaften der Oracle VM
VirtualBox
♦ 3.2 Lizenzierung
♦ 3.3 Funktionsweise einer VM
◊ 3.3.1 Die HAL
◊ 3.3.2 Funktionsweise einer
Anwendung
◊ 3.3.3 Der Schedular
◊ 3.3.4 Offenheit des
Betriebssystems
◊ 3.3.5 Der Hypervisor
◊ 3.3.6 Kommunikation
zwischen den VM
• 4 Installation
♦ 4.1 Erstellen einer VM
♦ 4.2 VirtualBox Gasterweiterungen
♦ 4.3 Virtuelles Speichermanagement
◊ 4.3.1 Festplatten-Controller
Inhaltsverzeichnis
1
Desktop-Virtualisierung_mit_Oracle_VirtualBox
◊ 4.3.2 Image-Dateien
◊ 4.3.3 Virtual Media
Manager
◊ 4.3.4 Speicherverwaltung
bei Snapshots
◊ 4.3.5 Cloning von
Image-Dateien
◊ 4.3.6 I/O Caching
◊ 4.3.7 Limitieren der
Bandbreite von
Image-Dateien
◊ 4.3.8 CD/DVD
Unterstützung
◊ 4.3.9 iSCSI Server
♦ 4.4 Virtual Networking
◊ 4.4.1 Virtuelle
Netzwerkkarten
◊ 4.4.2 Netzwerkmodi
• 5 Bedienung/Steuerung
♦ 5.1 Fernwartung / Fernsteuerung
von VMs
◊ 5.1.1 VirtualBox Remote
Display Protocol (VRDP)
◊ 5.1.2 Verbinden von
USB-Geräten via VRDP
◊ 5.1.3 Sicherheit von VRDP
◊ 5.1.4 RDP Verschlüsselung
◊ 5.1.5 Parallele
Verbindungen zum
VRDP-Server
◊ 5.1.6 VRDP Video
Redirection
◊ 5.1.7 Teleporting
◊ 5.1.8 Sonstiges
• 6 Backup-Strategien von VirtualBox
• 7 Fazit
• 8 Endnoten
• 9 Abkürzungsverzeichnis
• 10 Abbildungsverzeichnis
• 11 Tabellenverzeichnis
• 12 Literatur- und Quellenverzeichnis
1 Einleitung
Typischerweise sind IT-Infrastrukturen historisch gewachsen und geprägt von einer übermäßigen Bereitstellung
von heterogenen, physischen Systemen mit eigenen, von anderen Systemen abgekapselten, fest eingebauten
Hardwareressourcen. Das zeigt sich in den laufenden Kosten, bei der neben der Vergeudung teurer
Hardwareressourcen auch noch laufende Kosten wie Kühlung, Stromverbrauch und erhöhter
Verwaltungsaufwand anfallen.
1 Einleitung
2
Desktop-Virtualisierung_mit_Oracle_VirtualBox
Um dennoch bei steigenden Anforderungen an die IT die bestehenden Infrastrukturen zu vereinfachen und zu
standardisieren um Verwaltungskosten zu senken, Ressourcen effektiver zu nutzen und damit die Betriebskosten
zu senken, bietet sich die Virtualisierung der kompletten IT-Infrastruktur an. Nach der Konsolidierung im
Serverbereich ist die Desktop-Virtualisierung der nächste Schritt bei der konsequenten Weiterführung der
Reduzierung der physischen Systeme durch virtuelle.
Doch was genau bedeutet Virtualisierung und wie funktioniert es ?
Um unter anderem diese Fragen zu klären werden im Rahmen der Fallstudie ?Desktop-Virtualisierung mit Oracle
VirtualBox? zunächst die Grundlagen der Virtualisierung erläutert, die Virtualisierungssoftware Oracle VM
VirtualBox vorgestellt und die technische Funktionsweise der Virtualisierung dargelegt.
2 Grundlagen der Virtualisierung
[Abb. 1]
Abbildung der Abstraktionsschicht
In Anlehnung an:
http://www.itwissen.info/bilder/abstraktionsebene-fuer-die-zusammenfassung-und-aufteilung-der-ressourcen.png
"Virtualisierung ist eine Herangehensweise in der IT, die Ressourcen so zusammenfasst und verteilt, dass ihre
Auslastung optimiert wird und automatisch Anforderungen zur Verfügung steht."[1]
Bei der Virtualisierung werden die physisch vorhandenen Komponenten eines einzelnen Servers wie Prozessor,
Arbeitsspeicher, Netzwerkkarte und Festplatte in mehrere, voneinander unabhängige logische Einheiten, in
sogenannte virtuelle Maschinen aufgeteilt und dynamisch genutzt, sodass die Möglichkeit der parallelen
Inbetriebnahme mehrerer Betriebssystem-Instanzen auf ein und der selben Hardware und die optimale Nutzung
vorhandener Ressourcen gewährleistet wird. Dem Anwender gegenüber verhält sich die virtualisierte Umgebung
wie ein System mit eigenen, physisch vorhandenen Hardware-Ressourcen. Demnach bildet die Virtualisierung
zwischen dem Betriebssystem des Anwenders und den vorhandenen Komponenten des Servers eine
Abstraktionsschicht ab. Dadurch kann eine einzelne physisch vorhandene Hardware-Ressource wie zum Beispiel
Prozessor oder Festplatte in mehrere virtuelle Ressourcen aufgeteilt und von mehreren voneinander isolierten
Betriebssystem-Instanzen mehrfach und abwechselnd genutzt werden. [2]
2 Grundlagen der Virtualisierung
3
Desktop-Virtualisierung_mit_Oracle_VirtualBox
2.1 Geschichte der Virtualisierung
Christopher Strachey konstruierte Ende der fünfziger Jahre Konzepte zur Ausnutzung der damals kostbaren,
physikalischen CPU und war damit der Vorreiter des Mehrprozessorbetriebs. Aufgrund der hohen Preise für
Mainframe-Computer wurde die logische CPU mit Hilfe eines Scheduler einer physisch vorhandenen CPU
zugeordnet. In den darauf folgenden Jahren wurde dann der Speicher virtualisiert um die Kosten für den
Hauptspeicher zu sparen bis in der Mitte der sechziger Jahre durch eine Zusammenarbeit von IBM und dem MIT
die erste virtuelle Maschine entstand. [3] Aufgrund der rasanten Entwicklung und neuen Erkenntnissen in der IT,
steigendem Wettbewerb in einer weltweiten Verflechtung im Dienstleistungsbereich und dem Wunsch,
Anforderungen so kostengünstig wie möglich umzusetzen hat sich der Ansatz für das Spektrum der
Virtualisierung bis heute ausgeweitet.
2.2 Virtualisierte Umgebung
In einer virtualisierten Umgebung gibt es auf der einen Seite einen Computer als Host und auf der anderen Seite
die Gastsysteme welche die von dem Host angebotenen Hardware-Ressourcen nutzen. Jedes einzelne Gastsystem
wird mit seiner eigenen Betriebssystem-Instanz in einem der virtuellen Maschinen ausgeführt. Auf dem Host läuft
eine Software mit der die physisch vorhandenen Hardware-Ressourcen und die virtuellen Maschinen verwaltet
werden können. Weiterhin können mehrere Hosts zu einem Cluster gruppiert werden, wodurch nach
entsprechender Konfiguration Synergien in Form von Load Balancing entstehen können um das Lastaufkommen
virtueller Maschinen auf verschiedenen Hosts auszubalancieren und die Überlastungen einzelner Hosts zu
vermeiden.
2.3 Formen der Virtualisierung
2.3.1 Servervirtualisierung
Bei der Servervirtualisierung werden mehrere Server auf einem Host ausgeführt um vorhandenen Ressourcen
optimal auszunutzen und laufende Kosten wie Kühlung, Wartung und Stromverbrauch zu senken. Hierbei bieten
sich verschiedene Implementierungsvarianten an:
OS-Level Virtualization
Bei der Betriebsystemvirtualisierung wird das vorhandene Betriebssystem auf Kernel-Ebene partitioniert und
nicht die vorhandene Hardware. Bei der Erstellung der Gastsysteme werden nur die individuell benötigten Daten
für den Betrieb auf Betriebssystemebene angelegt, welche in sogenannten Heimatverzeichnissen der virtuellen
Mschinen angelegt werden. Somit besteht eine virtuelle Maschine in der Grundausstattung aus einer kleinen
Datei, verbraucht somit wenig Festplattenspeicher und gewährleistet eine hohe Anzahl an virtuellen Maschinen
auf physisch vorhandenen Hardwareressourcen. [4]
Paravirtualisierung
2.1 Geschichte der Virtualisierung
4
Desktop-Virtualisierung_mit_Oracle_VirtualBox
Bei diesem Ansatz wird die Virtualisierung nicht vor dem Gast verborgen, sondern die virtuelle Maschine weiss,
dass auch andere virtuelle Maschinen die gleiche Hardware nutzen. Im Unterschied zur vollständigen
Virtualisierung muss bei einer Paravirtualisierung das Gastsystem angepasst werden, da es nicht direkt mit der
Hardware, sondern durch das Hostsystem über eine vom Hostsystem bereitgestellte API mit der physisch
vorhandenen Hardware kommuniziert. Ein Vorteil der Paravirtualisierung ist die hohe
Ausführungsgeschwindigkeit und die Live-Migration, bei der virtuelle Maschinen im laufenden Betrieb von
einem Hostsystem auf ein anderes übertragen werden könen. Die Gast-Systeme sind durchgehend verfügbar, auch
wenn einer der Hosts für Wartungsarbeiten heruntergefahren werden muss. Der Nachteil der Paravirtualisierung
liegt darin, dass der Kernel der Gastsysteme für den paravirtualisierten Einsatz angepasst werden müssen und dass
die Inhaber propritärer Betriebssysteme eine Anpassung ablehnen.
Full Virtualization
Bei diesem Ansatz wird jedem virtualisierten Server ein vom Administrator festgelegtes Volumen der Hardware
zugewiesen. Dadurch wird erreicht, dass jedes Betriebssystem ohne Anpassung in der virtuellen Maschine genutzt
werden kann. Das Hostsystem, welches die virtuellen Maschinen beherbergt, startet die virtuellen Maschinen und
hat auch die Kontrolle über sie. Die virtuellen Maschinen haben direkten Zugriff auf den echte Prozessor,
wodurch eine nahezu gleichwertige Performace zu physikalisch installierten Systemen erreicht wird. [5]
2.3.2 Anwendungsvirtualisierung
Bei der Anwendungsvirtualisierung wird auf einem Computer im Netzwerk eine Software installiert, welches die
Funktionen des Computers erweitert und es zu einem Terminal-Server macht. Dieser bietet den anderen
Computern im Netzwerk Anwendungen an, welche von den Gastsystemen genutzt werden können. Auf den
Gastsystemen selbst wird das Clientprogramm für Terminaldienste installiert bei der über das RDP Protokoll die
Dienste des Terminal-Servers in Anspruch genommen werden können[6]. Auf den Gastsystemen selbst wird eine
virtuelle Umgebung erzeugt, in der die Anwendung ausgeführt werden kann. Die angebotenen Anwendungen
selbst können unabhängig vom installierten Betriebsystem auf den Gastsystemen ausgeführt werden auch wenn
die Anwendung nicht für das Betriebssystem des Gastsystems programmiert wurde. Der Vorteil der
Anwendungsvirtualisierung ist, dass die Anwendung nur auf den Terminal-Servern im Netzwerk installiert
werden und auch nur dort Updates eingespielt werden müssen. Somit wird der Verwaltungsaufwand für
Administratoren gesenkt. Auch das Ausführen von Anwendungen auf Gastsystemen mit unterschiedlichen
Betriebssystemen ist als Vorteil anzusehen. Der Nachteil liegt darin, dass bei einem Netzwerkausfall die
Anwendungen von den Gastsystemen nicht genutzt werden können.
2.3.3 Desktop -Virtualisierung
Bei diesem Ansatz wird eine komplette Arbeitsumgebung virtualisiert. Individuell konfigurierte
Betriebssystemeinstellungen der Gastsysteme werden auf dem Hostsystem abgelegt und auch von diesem
bereitgestellt. Alle Eingaben auf dem Gastsystem werden an das Hostsystem für die Verarbeitung weitergeleitet.
Das Hostsystem schickt die Ergebnisse an das Gastsystem, welches diese Ergebnisse nur noch anzeigen muss.
Der Vorteil liegt dabei in der Kombination dieser Technologie mit sogenannten Thin-Clients, bei der bis auf
Monitor, Maus und Tastatur keine weiteren Hardware-Ressourcen für die Verarbeitung der Daten vorhanden sein
müssen. Auf den Thin-Clients wird meist ein freies, auf GNU-Software basiertes Betriebssystem wie Linux
installiert auf der eine spezielle Software läuft, welches sich mit dem Hostsystem verbindet. Beim Ausfall eines
Thin-Clients muss der Administrator nur ein anderes Thin-Client mit der IP-Adresse des ausgefallenen
Thin-Clients an den Arbeitsplatz stellen. Somit werden Kosten in Hinblick auf die Ausstattung der Computer und
in Hinblick auf den Verwaltungsaufwand eingespart. Jedoch bringt diese Methode auch Nachteile mit sich.
2.3.1 Servervirtualisierung
5
Desktop-Virtualisierung_mit_Oracle_VirtualBox
Während bei einem lokal betriebenen Computer bei einem Ausfall nur dieser betroffen ist, betrifft ein Ausfall des
Servers, auf dem die Virtualisierung läuft, alle im Unternehmen vorhandenen Desktops. Somit ist ein
Weiterarbeiten für keinen der User möglich. Ein weiterer Nachteil der Desktop-Virtualisierung ist, dass über die
Thin-Client-Protokolle auf die virtuellen PCs zugegriffen werden muss, wobei die Zugriffe verlangsamt und eine
schlechte Bildqualität dargestellt werden kann.
2.4 Zentrale vs. dezentrale Virtualisierung
In Unternehmen entscheidet die Höhe der anfallenden Kosten meist, ob ein Projekt genehmigt oder abgelehnt
wird. Unternehmen haben das Ziel Kosten zu senken und den Ertrag zu maximieren. Viele haben ebenfalls
leistungsstarke Server-Cluster, die jedoch nur zum Teil ausgelastet sind. Der Sinn eines Clusters ist das Bündeln
von verfügbarer Rechenleistung zu einer Einheit. Diese Einheit wird anschließend Clients, die diese
Rechenleistung in Anspruch nehmen möchten, zur Verfügung gestellt. Übertragen auf die Virtualisierung
bedeutet dies, dass virtuelle Maschinen zentral in einem oder mehreren Clustern verwaltet und den Clients zur
Verfügung gestellt werden. Der Vorteil ist hierbei, dass die Clients nun nicht mehr viel Rechenleistung brauchen,
um die entfernte virtuelle Maschine ansprechen und bedienen zu können. So können auf der Clientseite
sogenannte Thin Clients verwendet werden, die kostengünstig sind. Bei der dezentralen Virtualisierung ist der
Client selbst für die Virtualisierung verantwortlich, weshalb er mehr Rechenleistung in Anspruch nehmen muss.
Das bedeutet, dass im Vergleich zu Thin Clients teurere sogenannte Fat Clients oder vollwertige
Computerarbeitsplatzsysteme angeschafft werden müssen, wodurch der Administrationsaufwand aufgrund von
verschiedenen Hardwarekombinationen steigt. Bei der zentralen Virtualisierung verringert sich der
Administrationsaufwand, weil die Anzahl der heterogenen Insellösungen verringert wird. Zusätzlich werden
Kosten eingespart. Nichtsdestotrotz müssen die Cluster-Systeme finanziert werden. Vorteilhaft ist hierbei, dass
dieses System je nach Bedürfnissen skaliert werden kann, indem vorhandene Hardware in Anspruch genommen
wird um einem weiteren Client eine virtuelle Maschine zur Verfügung zu stellen. Nachteil dieser Architektur ist,
dass die Bedienbarkeit der virtuellen Maschine von der Auslastung und Geschwindigkeit des vorhandenen
Netzwerks abhängig ist. So kann es ebenfalls zu Verzögerungen bei der Darstellung der virtuellen Maschine auf
dem Client kommen. Der zentralisierte Hardware-Cluster muss ebenfalls aus Hochverfügbarkeitsgründen
redundant ausgelegt sein, was zusätzliche Kosten verursacht.
3 Vorstellung der Oracle VM VirtualBox
Oracle VM VirtualBox ist eine von innotek GmbH entwickelte plattformunabhängige Virtualisierungssoftware.
Die Entwicklung wurde 2004 begonnen und hatte nach der Markteinführung lediglich Behörden als Kunden. Ab
2007 wurde die Virtualisierungssoftware den Anwendern als freie Software zur Verfügung gestellt. Im Jahr 2008
kaufte Sun Microsystems Inc. die Firma innotek GmbH auf, welches selbst im Januar 2010 von Oracle aufgekauft
wurde. Nach der Übernahme wurde die Virtualisierungssoftware in Oracle VM Virtualbox unbenannt und wird
nun von Oracle vertrieben.
3.1 Eigenschaften der Oracle VM VirtualBox
Oracle VM VirtualBox kann auf verschiedenen Betriebssystemplattformen installiert werden, wie z.B. Windows,
Linux, Max OS X, FreeBSD, Solaris und kann wie eine gewöhnliche Applikation gestartet und ausgeführt
werden. Das Betriebssystem, auf dem VirtualBox gestartet wird, wird als Wirtssystem oder Host genannt.
VirtualBox wird ebenfalls als ?hosted Hypervisor? oder ?type 2 Hypervisor? genannt. Das bedeutet, dass
VirtualBox das Wirtssystem benötigt, um Gastsysteme erstellen zu können (siehe Abb.1).
3 Vorstellung der Oracle VM VirtualBox
6
Desktop-Virtualisierung_mit_Oracle_VirtualBox
Daneben gibt es auch andere Virtualisierungsprodukte, die auch ohne das Wirtssystem existieren können und auf
der Hardware direkt aufbauen. Solche Systeme werden auch ?bare-metal? oder ?type 1 Hypervisor? genannt
(siehe Abb.2).
VirtualBox ist vergleichbar mit einem Container, der mehrere x86 sowie x64-Betriebssysteminstanzen enthält und
in der Lage ist diese zum gleichen Zeitpunkt unabhängig voneinander auszuführen. Diese
Betriebssysteminstanzen werden ebenfalls Gastsystem genannt. Die Festplatte wird in eigenständigen
Containerdateien verwaltet und emuliert, auf sogenannten Virtual Disk Images (VDI). Oracle VM VirtualBox ist
ebenfalls in der Lage mit Festplattenabbildern von Konkurrenzprodukten, wie VMware (*.vmdk) oder Microsoft
Virtual PC (*.vhd) zu arbeiten. Die virtuelle Maschine lässt sich bedienen über:
• Grapihical User Interface (VirtualBox)
• Konsole (VBoxManage)
• Simple DirectMedia Layer (VBoxSDL)
• Remote-Desktop-Protocol-Server (VBoxHeadless)
Da die virtuellen Maschinen als Gastsystem über Oracle VM VirtualBox ausgeführt werden, können diese
virtuellen Maschinen, die auf einer Plattform erstellt wurden, ebenfalls auf anderen beliebigen Plattformen von
der Applikation erkannt und ausgeführt werden. Oracle VM VirtualBox benötigt keine Hardware-Virtualisierung,
wie AMD-V oder Intel VT-x, weshalb die Applikation auch auf älterer Hardware funktionsfähig ist. Zahlreiche
Hardware-Komponenten werden im Gastsystem emuliert und der virtuellen Maschine zur Verfügung gestellt. Die
Emulierung umfasst folgende Komponenten:
[Abb. 2]
hosted Hypervisor (VMM)
[Abb. 3]
bare-metal Hypervisor (VMM)
3.1 Eigenschaften der Oracle VM VirtualBox
7
Desktop-Virtualisierung_mit_Oracle_VirtualBox
Funktion
Beschreibung
PXE Network Boot
VM kann über die eigene virtualisierte Netzwerkkarte über das Netzwerk remote
hochgefahren werden
Multiscreen
resolutions
unterstützt höhere Bildschirmauflösungen als das Host-System
USB device support
Der integrierte virtuelle USB-Controller unterstützt beliebe USB-Geräte auch ohne die
Installation von gerätspezifischen Treibern
Guest
multiprocessing
(SMP)
Unabhängig von der Anzahl der physikalischen CPU-Kerne des Hosts, können der VM
bis zu 32 CPU-Kerne zugewiesen werden
Full ACPI support
Einbinden von Host- oder VM-Images in die virtuelle Maschine erleichtert sich.
ACPI-Status vom Host kann ebenfalls von der VM interpretiert werden und ggf. den
Host in den Energiesparmodus versetzen.
Built-in iSCSI
support
VM kann direkt an einen iSCSI Storage Server eingebunden werden
Tabelle 1.: Darstellung der Funktionen von Oracle VM VirtualBox in Anlehnung auf folgende Quelle
[7]
Zusätzlich ist es möglich den Systemzustand des Gastsystems in sogenannten Snapshots festzuhalten und im
Fehlerfall ggf. den zuvor erstellten Snapshot wiederherzustellen. Die VM lässt sich ebenfalls über VRDE
(VirtualBox Remote Desktop Extension), die das RDP (Remote Desktop Protocol) unterstützt, fernsteuern. Damit
auch andere Betriebssysteme, die das RDP nicht interpretieren können, ferngesteuert werden können, ist das
VRDE im Virtualisierungs-Layer implementiert.
3.2 Lizenzierung
Seit Version 4.0 vertreibt Oracle eine Version unter der GNU General Public License. Diese Lizenz wurde von
der FSF (Free Software Foundation) veröffentlicht und dient der Lizenzierung von freier Software. Diese von
Oracle angebotene Version ähnelt der früher angebotenen VirtualBox OSE (Open Source Edition). Um
zusätzliche Funktionen, wie z.B. die Automatisch Benutzeranmeldung in Anspruch nehmen zu können, müssen
zusätzliche Software-Module eingebunden werden, die im Oracle VM VirtualBox Extension Pack
zusammengefasst sind. Diese Extension Pack steht jedoch separat unter der propritäeren Lizenz PUEL
(VirtualBox Personal Use and Evaluation License) zur Verfügung. Diese Lizenzart gibt an, dass das Produkt
lediglich für privaten Gebrauch, zu Test- oder Bildungszwecken installiert und eingesetzt werden kann.[8]
3.3 Funktionsweise einer VM
Im Rahmen der Virtualisierung werden dem Anwender (Client) verschiedene voneinander unabhängige und
individuell konfigurierbare Betriebssystemprofile auf einem Computer (Host) zur Verfügung gestellt. Im
3.2 Lizenzierung
8
Desktop-Virtualisierung_mit_Oracle_VirtualBox
Gegensatz zu den klassischen Terminal Services, bei dem nur eine Betriesbssysteminstanz zum gleichen
Zeitpunkt existiert und die Hardware des Host in Anspruch nimmt, teilen sich bei der Virtualisierung die
einzelnen Betriebssysteminstanzen die gleichen Ressourcen des Hosts. Deshalb ist bei der Virtualisierung die
Nachfrage nach mehr Rechenleistung und zusätzlichen Ressourcen höher. Bei der Virtualisierung wird dem
Client eine virtuelle Systemumgebung zur Verfügung gestellt, die nach den Bedürfnissen des Anwenders
angepasst werden kann und andere gestarteten virtuellen Systemumgebungen nicht beeinflusst.
Um die Funktionsweise der Virtualisierungstechnologie verstehen zu können wird zunächst die Ausführung von
Anwendungen auf Computersystemen aus Prozesssicht erklärt und anschließend auf die Funktionsweise der
Virtualisierung eingegangen.
3.3.1 Die HAL
Damit das System auf einer Vielzahl an Hardwaretypen erfolgreich installiert und eingesetzt werden kann, wird
zwischen dem Hardware-Layer und dem Softwaresystem ein zusätzlicher Layer geschaffen, die HAL (Hardware
Abstraction Layer). Die HAL hat die Aufgabe, den Befehlssatz der Hardware zu abstrahieren, und somit die
Komplexität der Hardwarearchitektur vor dritten Soft- und Hardwareentwickelern zu kapseln. Dadurch ist es
möglich das System unabhängiger von der genutzten Hardware zu gestalten. Da die HAL den Befehlssatz
abstrahiert, kann es auch vorkommen, dass einige speziellere Befehle z.B. der CPU von der HAL nicht unterstützt
werden, wodurch die Leistungsfähigkeit des Prozessors negativ beeinträchtigt wird.
3.3.2 Funktionsweise einer Anwendung
Zunächst wird die Virtualisierungssoftware aus der Sicht einer normalen Anwendung betrachtet und die
Funktionsweise von Anwendungsprogrammen erläutert. Wenn eine Applikation gestartet wird, stellt das System
dieser Applikation eine Laufzeitumgebung zur Verfügung. ?Diese besteht aus einem oder mehreren
anwendungsorientierten Prozessen, die den ausführbaren Code repräsentieren, einer Zuordnung von Seiten, die
für den Start der Anwendung sinnvoll sind und einer Startbelegung für die Register." [9]
In einem Rechnersystem mit einem Prozessor, der lediglich einen Core (Prozessorkern) hat, konkurrieren
Applikationen miteinander um die Prozessorzeit. Anwendungen setzen Anwendungscode auf dem Prozessor ab,
damit sie lauffähig sind und existieren können. Laufen verschiedene Applikationen parallel, bedeutet dies, dass
die Ausführung des Programmcodes einer zweiten Anwendung abhängig ist von dem Abschluss der
Codeausführung der ersten Applikation, die die Prozessorzeit für sich beansprucht hat. Solange die erste
Applikation ansteht, würden keine weiteren Anwendungen gestartet und ausgeführt werden können, da die
Berechtigung zur Codeausführung nur der ersten Anwendung obliegt. Da die Möglichkeit bestehen soll,
Anwendungen parallel ausführen zu lassen und die Codeausführung unabhängig von der eines konkurrierenden
Prozesses zu gestalten, werden Single-Core-Prozessoren zu einem multitaskingfähigen System organisiert.
?Multitasking bezieht sich auf die Fähigkeit des Betriebssystems, schnell zwischen den Verarbeitungstasks hin
und her zu wechseln, so dass der Eindruck entsteht, dass verschiedene Anwendungen mehrere Operationen zur
selben Zeit durchführen.? [10]
Bei einem System mit einem Multi-Core-Prozessor, können zum gleichen Zeitpunkt mehrere Verarbeitungstasks
verarbeitet werden.
3.3 Funktionsweise einer VM
9
Desktop-Virtualisierung_mit_Oracle_VirtualBox
3.3.3 Der Schedular
Damit das multitaskingfähige System funktionieren kann, gibt es einen sogenannten Schedular, der auf dem
Prozessor zwei Arten von Elementarprozessen erzeugt und die zuvor erstellten Laufzeitumgebungen auf diese
Elementarprozesse abbildet:
• anwendungsunterstützende
• systemunterstützende
Diese Elementarprozesse werden nach einem Scheduling-Verfahren abwechselnd vom Prozessor abgearbeitet.
Dabei steht jedem Elementarprozess auf dem Prozessor ein begrenztes Ausführungszeitfenster zur Verfügung.
Wird das Zeitfenster überschritten oder tritt ein Unterbrechungsereignis ein, wie z.B. eine Ein- oder Ausgabe,
kommt der nächste wartende Elementarprozess, der durch das Scheduling-Algorithmus bestimmt wurde an die
Reihe und führt seinen Anwendungscode auf dem Prozessor aus. Der Unterschied zwischen einem
anwendungsunterstützenden und systemunterstützenden Elementarprozess ist der, dass
anwendungsunterstützende Elementarprozesse von normalen Anwendungen in Anspruch genommen werden und
systemunterstützende beim Zugriff auf Hardwarekomponenten, wie z.B. auf die Festplatte, Speicher, Grafikkarte
oder aber bei Systemsteuerungs- und verwaltungsaufgaben. Diese systemunterstützenden Elementarprozesse
nehmen einen bestimmten Anteil an der Prozessorleistung in Anspruch. Der Rest ist für die Anwendungen
vorgesehen. Das Mapping der Anwendungen auf den entsprechenden Elementarprozess erfolgt über den
sogenannten Dispatcher.[11]
[Abb. 4]
Abbildung von Laufzeitumgebungen auf Elementarprozesse
In Anlehnung an: Funktionsweise eines klassischen Betriebssystems in einer Multiprozessorumgebung
(2010, Bild: Abbildung 2, Intel / Dr. Franz-Joachim Kauffels
3.3.3 Der Schedular
10
Desktop-Virtualisierung_mit_Oracle_VirtualBox
3.3.4 Offenheit des Betriebssystems
Die Virtualisierungssoftware selbst wird als herkömmliche Applikation behandelt. Bei der Virtualisierung hat die
Offenheit des Betriebssystems auf dem Host eine wichtige Funktion. Die virtuelle Maschine führt mithilfe von
anwendungsunterstützenden Elementarprozessen Anwendungscode auf dem realen Prozessor aus. Dazu werden
die zu ausführenden Befehle über die HAL auf die eigentliche Hardware gemappt. Da nun die virtuelle Maschine
von einem anwendungsunterstützenden Elementarprozess gehostet wird, und diese ein vollwertiges
Betriebssystem repräsentiert, müssen auch dort auf Systemfunktionen zugegriffen werden. Es ist zu beachten,
dass z.B. bei Zugriff auf Systemfunktionen dementsprechend systemunterstützende Elementarprozesse in
Anspruch genommen werden. Dazu findet IPC (Interprocess communication) zwischen den betroffenen
anwendungs- und systemunterstützenden Elementarprozessen statt. Die Offenheit der HAL ist letzendlich
entscheidend für die Funktionalität des virtualisierten Betriebssystems.
3.3.5 Der Hypervisor
Wenn dieses Gast-System mit anderen Anwendungsprogrammen koexisitert, spricht man auch von einer
gehosteten Lösung. In dieser Konstellation konkurrieren die Anwendungen um die Prozessorzeit, wodurch es zu
Performanceproblemen kommt. Ein Betriebssystem muss schnell und zuverlässig arbeiten. Nur so kann auch das
Gastsystem in der virtuellen Maschine produktiv eingesetzt werden. Dieses Performanceproblem wird mit dem
Einsatz eines so genannten Hypervisors behoben. Der Hypervisor, auch Virtual Machine Manager genannt, ist ein
spezialisierter Schedular, der auf die erzeugten Laufzeitumgebungen der virtuellen Maschinen optimiert ist. Der
Unterschied zwischen dem realen Schedular des Hosts und dem Hypervisor ist, dass die erzeugten anwendungsund systemunterstützenden Elementarprozesse des Hypervisors in Gruppen zusammengelegt werden, sodass diese
der aktiven virtuellen Maschine, auf der sie erzeugt wurden, direkt zugeordnet werden können. Dadurch ist es
möglich, mehrere virtuelle Maschinen voneinander unabhängig parallel auf einem Host-System einsetzen zu
können. Der Hypervisor koordiniert die Kommunikation der virtuellen Maschinen untereinander und mit dem
Host-System. Er hat ebenfalls die Eigenschaft, in einem Multi-Core-System die selbst erstellten
Elementarprozesse auf die verfügbaren Cores aufzuteilen um die Performance der virtuellen Maschinen zu
steigern. Um den Hypervisor konfigurieren und steuern zu können exisitiert eine Service-Console, über der neue
virtuelle Maschinen erstellt werden können. In modernen Systemen ersetzt der Hypervisor auch untere Layer, wie
z.B. den Schedular vom Host, wodurch die Anwendungen in einem sehr großen Anteil in der virtuellen Maschine
laufen und lediglich für das Beanspruchen der Prozessorzeit ein kleiner Rest-Layer des Host in Anspruch
genommen wird.[12]
3.3.6 Kommunikation zwischen den VM
Prozesse in einer virtuellen Maschine, die Laufzeitumgebungen unterstützen, können miteinander
kommunizieren, in dem die Laufzeitumgebungen sich mithilfe von IPC verständigen. Bei virtuellen Maschinen
mit unterschiedlichen Betriebssystemen kann es bei der Kommunikation über IPC Probleme geben, da IPC sich
nicht als Standard durchsetzen konnte und bei unterschiedlichen Betriebssystemen die Kommunikation auf den
kleinsten gemeinsamen Teiler festgelegt werden muss. Dadurch können z.B. wichtige Funktionen der IPC nicht in
Anspruch genommen werden.
Für die betriebssystemübergreifende Kommunikation zwischen verschiedenen virtuellen Maschinen wird deshalb
als Transportkanal TCP/IP genommen, weil inzwischen die meisten Anwendungen und Systeme mit
TCP/IP-Paketen umgehen können. In einer gehosteten Lösung ohne einen Hypervisor existieren in den virtuellen
Maschinen ein Stück Softwarepaket, das einen Ethernet-Switch nachbildet. Dieser virtuelle Switch ist in der Lage
mit virtuellen Switches der anderen virtuellen Maschinen zu kommunizieren. Dabei schicken die Applikationen in
3.3.4 Offenheit des Betriebssystems
11
Desktop-Virtualisierung_mit_Oracle_VirtualBox
den virtuellen Maschinen sich gegenseitig TCP/IP-Pakete.
[Abb. 5]
Abbildung der Kommunikation zwischen den VM
In Anlehnung an: Transaktionsverarbeitung und VM-Kommunikation in virtuellen Systemen (2010, Bild:
Abbildung 5, Intel / Dr. Franz-Joachim Kauffels
4 Installation
4.1 Erstellen einer VM
Um eine virtuelle Maschine erstellen zu können, wird die Anwendung Oracle VM VirtualBox gestartet.
Anschließend wird oben links auf die Schaltfläche ?Neu? geklickt. Es erscheint ein Fenster, indem folgende
Informationen eingegeben werden müssen:
1. VM Name
♦ sollte aussagekräftig gewählt werden zur leichteren Identifikation der VM
2. Betriebssystem
♦ VirtualBox selektiert bereits vordefinierte Konfigurationen, die später bei der Installation des
jeweiligen Betriebssystems benötigt werden.
3. Größe des Arbeitsspeichers
♦ Der Arbeitsspeicher vom Host wird dazu in der angegeben Größe in Anspruch genommen und
der VM als virtuellen Arbeitsspeicher zur Verfügung gestellt. Während der Ausführung der VM
kann dieser reservierte Arbeitsspeicher vom Host nicht mehr zugegriffen werden.
4. Virtuelle Festplatte
4 Installation
12
Desktop-Virtualisierung_mit_Oracle_VirtualBox
♦ Es muss der virtuellen Maschine eine virtuelle Festplatte zugewiesen werden, welche in einer
Image-Datei auf dem Host abgelegt wird. Hier besteht die Möglichkeit entweder eine zuvor
erstellte virtuelle Festplatte wiederzuverwenden oder eine neue zu erstellen. Beim Erstellen einer
neuen virtuellen Festplatte muss die Größe des Speicherplatzes angegeben werden, welche von
der physikalischen Festplatte des Hosts reserviert wird. Es besteht die Möglichkeit diesen
Speicherplatz einmalig oder aber dynamisch wachsend, also je nach Speicherplatzbedarf des
Gastsystems, zu reservieren.
Befindet sich das zu installierende Betriebssystem auf einer CD-ROM muss das CD-ROM-Laufwerk des Hosts
auf die virtuelle Maschine gemappt werden, sodass das Gastsystem ebenfalls auf die Ressource zugreifen und das
Betriebssystem installieren kann.
4.2 VirtualBox Gasterweiterungen
Gasterweiterungen sind Softwarepakete, die zusätzliche Gerätetreiber sowie Systemprogramme enthalten, die die
Performance und die Benutzerfreundlichkeit der VM steigern und die Kommunikation mit dem Host verbessern.
Gasterweiterungen können der bestehenden virtuellen Maschine hinzugefügt werden. Die VirtualBox
Gasterweiterungen stehen als Image-Datei (VBoxGuestAdditions.iso) zur Verfügung, welche in die VM zunächst
als virtuelles CD-ROM-Laufwerk eingebunden werden muss. Das Softwarepaket enthält folgende
Verbesserungen:
Funktion
Beschreibung
Mauszeiger-Integration
Ein spezieller Maustreiber auf dem Gastsystem kommuniziert mit dem
Maustreiber des Hostsystems und ermöglicht so einen nahtlosen Übergang des
Mauszeigers zwischen Host- und Gastsystem. Es ist nicht mehr notwendig, die
Host-Taste zu drücken, damit der Mauszeiger aus dem Gastsystem zurückkehrt.
Verbesserte
Grafikunterstützung
Es werden höhere und nicht standardmäßige Grafik-Modi zur Verfügung gestellt.
Die Fenstergröße kann nach Bedarf an die Größe der virtuellen Maschine
angepasst werden. Die Bildschirmauflösung des Gasts wird automatisch
angepasst.
Zeit-Synchronisierung
Die Zeit-Synchronisierung unterstützt bessere Synchronisation der Zeit zwischen
Host und der VM, da ein Parallelbetrieb im Normalfall Probleme bei der
Synchronisation bereitet und die Zeiten zwischen Host und Gast stark voneinander
abweichen würde.
Gemeinsame Ordner
Ein Ordner wird zur gemeinsamen Verwendung von Host und VM festgelegt,
sodass der Datenaustausch zwischen den Systemen erleichtert wird.
Nahtlose Fenster
Geöffnete Fenster auf dem Desktop der VM können auf dem Desktop vom Host
angezeigt werden.
Gemeinsame
Zwischenablage
Die Zwischenablage der VM kann auf dem Host mitgenutzt werden.
4.1 Erstellen einer VM
13
Desktop-Virtualisierung_mit_Oracle_VirtualBox
Automatische Anmeldung
Die Gasterweiterungen sind zur automatischen Benutzeranmeldung mit
zusätzlichen Modulen (Windows: GINA bis Windows XP, ab Windows Vista
credential providers, Linux/Unix: PAM) ausgestattet. Bei der Installation der
Gasterweiterunen muss in der Konsole zusätzlich der Parameter /with_autologon
eingegeben werden
Generisches Host/Gast
Kommunikationskanal
Dieses Kommunikationskanal steuert und überwacht die Ausführung des
Gastsystems indem zeichenbasierte Informationen mit dem Host ausgetauscht
werden. Mithilfe von Schlüsselwörtern kann der Host Anwendungen auf dem
Gastsystem starten lassen.
Tabelle 2.: Darstellung der Software-Verbesserungen in den Oracle VM VirtualBox Gasterweiterungen in Anlehnung auf folgende Quelle
[13]
4.3 Virtuelles Speichermanagement
[Abb. 6]
Abbildung der Verteilungsmöglichkeiten von Image-Dateien
Um eine Desktop-Umgebung zu betreiben, werden Festplatten mit ausreichender Speicherkapazität benötigt. In
der Regel ist der in realen Systemen vorhandene Speicherplatz überdimensioniert, da sich die Festplattenkapazität
nur durch hohen Aufwand vergrößern lässt. Wünschenswert sind daher Systeme, die einfach, schnell und
unkompliziert ausgetauscht oder verändert und somit den jeweiligen tatsächlichen Bedürfnissen angepasst werden
können. VirtualBox bietet hierfür eine Reihe nützlicher Funktionen, auf die in den folgenden Abschnitten genauer
eingegangen wird. Wie bei einem realen Desktop-PC benötigt man für den Betrieb einer VM auch eine Festplatte.
Diese wird in der Regel emuliert vom Host zur Verfügung gestellt.
4.2 VirtualBox Gasterweiterungen
14
Desktop-Virtualisierung_mit_Oracle_VirtualBox
4.3.1 Festplatten-Controller
In realen PCs werden Festplatten über sogenannte Festplatten-Controller angesprochen. Jedes Betriebssystem,
welches als Gastsystem dienen soll, benötigt diese als Basis der Installation. Auf dem Markt existieren derzeit
verschiedenste Varianten von Festplatten-Controllern. Die zurzeit am häufigsten verwendeten Varianten (IDE,
SATA, SCSI und SAS) werden von VirtualBox unterstützt. Dabei werden die Controller für das Gastsystem
emuliert. Über diese emulierten Schnittstellen ist VirtualBox in der Lage eine Verbindung zwischen dem
Festplattenspeicher des Gastsystems und dem real zugewiesenen Speicherplatz des Hostsystems bzw. des Servers
herzustellen. Für das jeweilige Gastsystem ist kein Unterschied zwischen einer realen und der emulierten
Hardware der VM zu erkennen. Über die emulierten Festplatten-Controller ist es auch möglich, optische
Laufwerke zu emulieren. Diese können dem Gastsystem entweder als reales Medium oder über eine Image-Datei
zur Verfügung gestellt werden. Welchen Festplatten-Controller man letztendlich verwendet, macht keinen großen
Unterschied. In Bezug auf die Kompatibilität wird in der Regel der IDE-Controller bevorzugt verwendet. Die
Alternativen werden von VirtualBox zur Verfügung gestellt, um Konflikte mit bestehender Hardware bzw. mit
virtualisierten realen Systemen zu umgehen, haben aber im Gegensatz zu den realen Controller-Varianten keine
Auswirkung auf die Performance.
4.3.2 Image-Dateien
Die emulierten Speicherressourcen der VM werden durch sogenannte Image-Dateien auf dem Hostsystem bzw.
Server repräsentiert. Beim Lesen oder Speichern des Gastsystems auf einer Festplatte leitet VirtualBox die
Anfragen an die entsprechenden Image-Dateien weiter. VirtualBox verwendet als Standardformat für
Image-Dateien das ?Virtual Disc Image? (VDI) Format. VirtualBox ist aber auch in der Lage Formate anderer
namhafter Virtualisierungsanbieter wie zum Beispiel VMDK (VMWare) oder VHD (Microsoft) zu unterstützen.
Im Gegensatz zu realen Festplatten, bei denen die Speicherkapazität fest definiert ist, ist es mit VirtualBox
möglich, die Größe der Image-Dateien dynamisch anzupassen oder eine feste Größe zu definieren. Der Vorteil der
dynamischen Anpassung ist, dass zu jedem Zeitpunkt nur der real belegte Speicherplatz reserviert wird und somit
ungenutzte Ressourcen freigegeben werden können. Im Gegensatz dazu wird bei einer festgelegten Größe der
Image-Datei sofort der gesamte Speicherplatz reserviert. Allerdings ist der Zugriff auf eine Image-Datei mit
festdefinierter Größe schneller als bei einer dynamischen Datei. Dieser Vorteil ist aber bei Erreichen der gleichen
Größenordnung der Image-Dateien vernachlässigbar.
4.3.3 Virtual Media Manager
VirtualBox bietet zur Verwaltung von Image-Dateien einen sogenannten Virtual Media Manager an. Hier können
in drei verschieden Listen Image-Dateien von Festplatten, CD/DVD-ROM oder Floppy verwaltet werden. Diese
können im gesamten Netzwerk verteilt existieren und über den Virtual Media Manager dem Gastsystem als
Medium zur Laufzeit verfügbar gemacht werden.
4.3.4 Speicherverwaltung bei Snapshots
Snapshots bieten dem Anwender die Möglichkeit, einen aktuellen Systemzustand zu speichern. Hierbei wird die
aktuelle Image-Datei abgeschnitten und fixiert, indem nur noch lesender Zugriff gewährt wird. Alle Änderungen
der Datensätze bzw. Erweiterungen werden ab diesem Zeitpunkt in eine weiteren Image-Datei gespeichert. Das
heißt, dass sobald auf Daten eines früheren Zeitpunktes zugegriffen werden soll, die abgeschnittene Image-Datei
verwendet wird. Sollte es sich um neue bzw. geänderte Datensätze handeln, wird die neue Image-Datei benutzt.
VirtualBox hat hierdurch die Möglichkeit geschaffen, Systemzustände ressourcensparend zu sichern. Über die
4.3.1 Festplatten-Controller
15
Desktop-Virtualisierung_mit_Oracle_VirtualBox
Systemverwaltung von VirtualBox kann jederzeit der gesicherte Systemzustand des Snapshots wiederhergestellt
werden.
4.3.5 Cloning von Image-Dateien
In großen Unternehmen werden Desktop-Systeme in der Regel standardisiert ausgeliefert. Das bedeutet, dass
jedes Desktop-System mit dem gleichen Betriebssystem, Konfigurationen und Grundprogrammen betrieben wird.
Meistens wird nur vereinzelt individuelle Zusatzsoftware installiert. Aus diesem Grund würde es sich anbieten,
ein einziges fertig installiertes und konfiguriertes Grundsystem zu erstellen, um dieses dann nur minimal
anzupassen und auszuliefern. Bei realen Desktop-PCs lässt sich dieser Gedanke in der Regel aufgrund der sehr
differenzierten Hardware nicht oder nur bedingt umsetzen. VirtualBox ermöglicht mittels Cloning von
Image-Dateien genau diesen Ansatz. Über die Verwaltung von VirtualBox ist es möglich eine aktuelle VM zu
klonen und dadurch eine neue VM, mit den gleichen Eigenschaften des Gastsystems, zu erzeugen. Dies bietet die
Möglichkeit, das Gastsystem beliebig oft zu reproduzieren. Für den Fall, dass ein neues Desktop-System benötigt
wird, wird das Grundsystem innerhalb kürzester Zeit geklont und minimal für den Anwender angepasst. Dies
ermöglicht Systemadministratoren, nicht nur unnötige Redundanzen in den Arbeitsprozessen zu reduzieren,
sondern auch individuelle, teils komplizierte Anpassungen im Bezug auf die Hardware zu vermeiden.
4.3.6 I/O Caching
Als Standard-Caching verwendet VirtualBox das Caching für Dateien des Hostsystems. Dadurch kann die
Performance erheblich gesteigert werden. Da jedoch bei einem normalen Caching die Daten nicht direkt auf die
Festplatte geschrieben werden, kann es zum Beispiel bei Stromausfällen oder Hardwaredefekten zu Datenverlust
kommen. Um die Datensicherheit zu erhöhen, bietet VirtualBox hierzu die Option, das Host-I/O-Caching zu
deaktivieren. Dabei wird das Caching vom Gastsystem übernommen und die Daten direkt in der Image-Datei auf
der Festplatte gespeichert.
4.3.7 Limitieren der Bandbreite von Image-Dateien
Insbesondere wenn das Hostsystem für weitere wichtige Arbeitsprozesse verwendet wird, bietet VirtualBox die
Möglichkeit, die Bandbreite für Schreib- und Lesezugriffe der VM auf die Image-Datei zu beschränken.
Hierdurch werden die Ressourcen des Hostsystems geschont und können für andere Prozesse zur Verfügung
stehen.
4.3.8 CD/DVD Unterstützung
VirtualBox bietet auch die Unterstützung von CD/DVD-Laufwerken. In der Regel werden diese für das
Gastsystem emuliert. Bei der Emulation des Laufwerkes ist lediglich ein lesender Zugriff möglich, der sich
wahlweise auf ein Medium im Host-Laufwerk oder aber auf eine Image-Datei beziehen kann. Zusätzlich kann das
Laufwerk auch auf Empty gesetzt werden, wodurch das Laufwerk dem Gastsystem als leer angezeigt wird. Jede
Änderung am Zustand des emulierten Laufwerkes, wird als Signal an das Gastsystem weitergeleitet. Momentan in
der Testphase ist noch eine weitere Option, bei der das reale Laufwerk zur VM durchgeschleust wird. Dadurch
wird dem Gastsystem der volle Zugriff auf das Laufwerk ermöglicht, sodass es ein Medium nicht nur lesen,
sondern auch beschreiben kann.
4.3.4 Speicherverwaltung bei Snapshots
16
Desktop-Virtualisierung_mit_Oracle_VirtualBox
4.3.9 iSCSI Server
Durch die schnelle Gigabit-Verbindung wurde die Möglichkeit geschaffen, VirtualBox auch über das
iSCSI-Protokoll mit Festplatten, die im Internet verteilt existieren zu verbinden. Für das Gastsystem bleibt
verborgen, wo sich letztendlich der Speicherplatz der Image-Datei befindet.
4.4 Virtual Networking
Eine Verbindung ins WWW bzw. ins interne Firmennetzwerk ist für heutige Desktop-PCs nicht mehr
wegzudenken. VirtualBox ist in der Lage bis zu acht Netzwerkkarten pro VM zu unterstützen. Vier davon können
direkt über die grafische Schnittstelle verwaltet werden. Benötigt man mehr Netzwerkkarten, so müssen diese
über die Kommandozeile konfiguriert werden. Bei der Zuweisung einer Netzwerkkarte zum Gastsystem, wird
zum einen die zu emulierende Hardware und zum anderen der Modus der Kommunikation angegeben.
4.4.1 Virtuelle Netzwerkkarten
VirtualBox stellt sechs verschiedene Arten von Netzwerkkarten zur Verfügung, die unabhängig von der realen
Netzwerkkarte des Hosts gewählt werden können.
• AMD PCNet PCI II (Am79C970A)
• AMD PCNet FAST III (Am79C973, the default);
• Intel PRO/1000 MT Desktop (82540EM);
• Intel PRO/1000 T Server (82543GC)
• Intel PRO/1000 MT Server (82545EM)
• Paravirtualized network adapter (virtio-net)
Als Standard ist die PCNet Fast III eingestellt, da sie von fast allen Betriebssystemen sowie vom GRUB
Bootloader standardmäßig unterstütz wird. Für einige Betriebssysteme, wie zum Beispiel Windows Vista, die den
Treiber für PCNet Fast III standardmäßig nicht mit ausliefern, steht zum Beispiel der Typ Intel PRO/1000 MT
Desktop zur Verfügung. Falls die benötigte Hardwareemulationen nicht vorhanden sein sollte, ist es möglich, über
die Schnittstelle Paravirtualized network adapter eine individuelle Netzwerkkarte zu emulieren.
4.4.2 Netzwerkmodi
Die Netzwerkkartenkonfiguration von VirtualBox kennt fünf verschiedene Modi. Diese können für jede der acht
möglichen Netzwerkkarten unterschiedlich gewählt werden.
4.3.9 iSCSI Server
17
Desktop-Virtualisierung_mit_Oracle_VirtualBox
[Abb. 7]
Abbildung der Möglichkeiten zur Netzwerkkommunikation
Der erste Modus ist ?Not attached?. Hierbei wird dem Gastsystem angezeigt, dass eine Netzwerkkarte installiert,
aber kein Netzwerkkabel angeschlossen ist. Ein weiterer Modus ist ?Network Address Translation? (NAT).
Dieser Modus wird verwendet, wenn lediglich Internetbrowsing und/oder E-Mail-Verkehr benötigt wird. Wenn
eine erweiterte Netzwerknutzung gefordert ist, so ist der Modus ?Bridged networking? zu wählen. Hierbei wird
ein Zugriff auf die Netzwerkkarte des Hostsystems gewährt, wodurch es möglich ist, direkt Netzwerkpakete über
die Karte auszutauschen. Um lediglich eine Kommunikation zwischen bestimmten virtuellen Maschinen zu
ermöglichen, kann der Modus ?Internal networking? gewählt werden. Hierbei wird eine Netzwerkkarte auf
Softwarebasis emuliert, die den gewählten VMs zur Verfügung steht. Eine Kommunikation nach außen bzw. zum
Host ist dabei nicht möglich. Der Vorteil dieser Variante ist, dass die Möglichkeit zur Simulation eines gesamten
Netzwerkes besteht, ohne die Ressourcen des realen Netzwerkes zu beanspruchen. Um den Host mit ins Netzwerk
einzubinden, ist der Modus ?Host-only networking? zu wählen. Hierbei wird wie schon beim internen Netzwerk,
eine Netzwerkkarte auf Softwarebasis emuliert, dies geschieht jetzt aber auch beim Host, wodurch dieser mit ins
Netzwerk eingebunden werden kann. Die letzte Alternative ist der ?Virtual Distributed Ethernet? (VDE) Modus.
Dabei besteht die Möglichkeit, das Gastsystem mit der VDE-Software auf einem Linux- oder FreeBSD-System zu
verbinden.
4.4.2 Netzwerkmodi
18
Desktop-Virtualisierung_mit_Oracle_VirtualBox
5 Bedienung/Steuerung
VirtualBox bietet verschiedenste Möglichkeiten der Steuerung. Im Standardpaket von VirtualBox ist ein
Graphical User Interface (GUI) enthalten, mit dem sich viele Standardkonfigurationen bequem mit Maus und
Tastatur erledigen lassen. Innerhalb des GUIs werden die verschiedensten VMs in Listen verwaltet und können
direkt aufgerufen werden. Andere meist spezielle Konfigurationen sind aber über das GUI nicht konfigurierbar.
Für solche Funktionen besteht die Möglichkeit der Konfiguration mittels Kommandozeile. VirtualBox bietet die
Möglichkeit, sämtliche Einstellungen über die Kommandozeile zu konfigurieren. Dies versetzt die Anwender
gleichzeitig in die Lage, VirtualBox vollständig aus anderen Programmen bzw. über Skripte steuern und
verwalten zu können. Dies bietet Spielraum für individuelle Anwendungen und Virtualisierungslösungen auf
Basis von VirtualBox.
5.1 Fernwartung / Fernsteuerung von VMs
Virtuelle Maschinen befinden sich meistens auf Servern, die sich weit entfernt von dem Arbeitsplatz der
Anwender bzw. Systemadministratoren befinden. In einigen Fällen existiert keine direkte Möglichkeit, ein
Display an das Hostsystem anzuschließen. Aus diesem Grund wird eine Schnittstelle benötigt, über die das
Gastsystem angesprochen werden kann. Dies übernimmt bei VirtualBox ?VirtualBox Remote Display Protocol?.
Dieses Protokoll ermöglicht nicht nur den grafischen Zugriff auf die virtuelle Maschine, sondern die Verwendung
eines vollwertigen Desktop-Systems über das Netzwerk inklusive USB-Unterstützung.
5.1.1 VirtualBox Remote Display Protocol (VRDP)
VRDP ist eine abwärts kompatible Erweiterung des Microsofts Remote Desktop Protocol (RDP). Daher ist es
möglich, mit jedem Standard-RDP-Programm auf die VMs von VirtualBox zuzugreifen. VirtualBox ermöglicht
mittels VRDP die Steuerung der VMs über das Netzwerk. Wird eine Verbindung zu einer VM über einen
RDP-Client hergestellt, hat der Anwender das Gefühl direkt vor einer realen Maschine zu sitzen. Über das
Protokoll werden die Bild- und Audiodaten des Gastsystems an den Client weitergeleitet und dort ausgegeben.
Das Gastsystem erhält im Gegenzug sämtliche Eingaben über die Tastatur bzw. der Maus des Clients.
5.1.2 Verbinden von USB-Geräten via VRDP
Im Gegensatz zum RDP von Microsoft bietet VRDP nicht nur die Möglichkeit Bild-, Audio- und Eingabedaten
auszutauschen, sondern auch am Client angeschlossene USB-Geräte dem Gastsystem zur Verfügung zu stellen.
Da dies keine Eigenschaft des Standard-RDP ist, benötigt man für diese Funktionalität einen VRDP-Client, der
bei Linux bzw. Solaris bereits bei der Installation von VirtualBox enthalten ist (?rdesktop ?vrdp?).
5.1.3 Sicherheit von VRDP
VirtualBox bietet die Möglichkeit, den Zugriff auf die VMs zu beschränken. Dafür stehen derzeit drei
verschiedene Modi zur Verfügung. Der erste Modus ist ?null?. Bei diesem Modus besitzt jeder Client
unbeschränkten Zugriff auf die virtuelle Maschine via VRDP. Der Modus ?external? bietet die Möglichkeit, den
Zugriff zu beschränken, indem entweder die Logindaten des Hosts oder eine benutzerdefinierte XML-Datei für
die Legitimierung des Clients herangezogen werden. Der letzte Modus ?guest? befindet sich derzeit noch in der
Testphase und soll einen Gastzugang zur Verfügung stellen.
5 Bedienung/Steuerung
19
Desktop-Virtualisierung_mit_Oracle_VirtualBox
5.1.4 RDP Verschlüsselung
Um die Sicherheit der RDP-Verbindung zu gewährleisten, unterstützt VirtualBox die gängigen
RDP-Encryption-Standards RDP4, RDP5.1 und RDP5.2. Um eine möglichst hohe Sicherheit im Netzwerk
sicherzustellen, sollte aber nur der RDP5.2 Standard verwendet werden.
5.1.5 Parallele Verbindungen zum VRDP-Server
VRDP ermöglicht den gleichzeitigen Zugriff von mehreren Clients zur selben virtuellen Maschine. Dabei sehen
und hören alle Clients dieselben Ausgaben des Gastsystems und haben die Möglichkeit, ihre Eingaben via
Tastatur und/oder Maus an das Gastsystem zu senden.
5.1.6 VRDP Video Redirection
Der VRDP-Server ist in der Lage, Videostreams auf dem Gastsystem zu erkennen und an den Client
weiterzuleiten. Durch diese Funktionalität wird die Performance des Gastsystems gesteigert und die Bildqualität
des Clients verbessert. Um diese Funktionalität nutzen zu können, muss der Client diese unterstützen. Das ist
standardmäßig bei Microsoft erst ab Windows 7 der Fall. Ist keine Unterstützung für Video Redirection beim
Client vorhanden, wird automatisch die Standard-Bitmap-Übertragung verwendet.
5.1.7 Teleporting
Ein weiteres hilfreiches Feature von VirtualBox ist das Teleporting. Beim Teleporting ist es möglich, das
Hostsystem für eine VM während des laufenden Betriebes zu wechseln. Hierzu müssen auf beiden Hosts jeweils
eine VM mit identischen Hardwarekonfigurationen existieren. Des Weiteren müssen beide VMs auf dieselben
Festplatten-Images zugreifen können. Zum Beispiel über iSCSI oder über ein gemeinsames Netzlaufwerk. Über
eine bestimmte Anfrage kann jetzt das eine Hostsystem (Target) die laufende VM des anderen Hostsystems
(Source) übernehmen, ohne dass die VM abgeschaltet werden muss. Dies ist vorteilhaft bei Überlastung oder
Wartung des Source-Systems. Für den Fall, dass das Gastsystem ein Server ist, kann dieser seinen Betrieb ohne
Unterbrechungen fortsetzen und der Wechsel bleibt für Clients verborgen.
5.1.8 Sonstiges
VirtualBox bietet die Möglichkeit das VRDP zu beschränken, sodass einzelne Protokollparameter deaktiviert
werden. So können z.B. die Übertragungen von Video-, Audio-, Eingabe- oder USB-Daten einzeln oder
zusammen abgeschaltet werden.
6 Backup-Strategien von VirtualBox
Eines der wichtigsten Themengebiete beim Umgang mit wichtigen Daten und Systemen sind Backups. Sie sollen
uns vor möglichem Datenverlust durch falsche Handhabung oder Hardwaredefekten schützen. Bei VirtualBox
sind verschiedenste Backup-Strategien denkbar. Eine Variante wäre die Sicherung der wichtigsten Dateien und
Systemeinstellungen über das Gastsystem selbst. Hierbei werden wie bei realen Desktop-Systemen über
Backup-Server oder systemeigene Routinen die zu sichernden Daten aus dem Gastsystem heraus gesichert. Ein
6 Backup-Strategien von VirtualBox
20
Desktop-Virtualisierung_mit_Oracle_VirtualBox
Vorteil dieser Strategie ist, dass der laufende Betrieb der VM nicht beeinflusst wird und nur die wirklich
wichtigen Daten gesichert werden, was Speicherplatz einspart. Jedoch ist eine Wiederherstellung der Daten nur
mittels hohem Arbeits- und Zeitaufwand möglich. Snapshots hingegen bieten die Möglichkeit einen aktuellen
Systemstand einzufrieren und auch im laufenden Betrieb zu speichern. Eine Wiederherstellung des gesamten
Systems wäre mit vernachlässigbarem Aufwand jederzeit möglich und würde im Idealfall nur wenige Minuten
dauern. Wie bei der ersten Variante kann jetzt die Image-Datei des Snapshots über einen Backup-Server oder der
systemeigenen Backup-Routine gesichert werden. Die Erstellung eines Snapshots kann dank der vollunterstützen
Kommadozeilensteuerung über ein kurzes Skript erfolgen, das in die automatische Backup-Strategie integriert
wird.
7 Fazit
Desktop-Virtualisierung erhält in einer modernen IT-Infrastruktur einen wachsenden Stellenwert. Durch den
gezielten Einsatz einer virtuellen Desktop-Infrastrukur, lässt sich der Bedarf an Energie- und
Hardwareressourcen, wie zum Beispiel Speicherplatz, Arbeitsspeicher oder Prozessorleistung stark reduzieren.
Die gemeinsame Nutzung von Hardwareressourcen fördert das Optimierungspotenzial in Bezug auf die
Dimensionierung und Auslastung. Der Austausch von vollwertigen, kostenintensiven Desktop-Systemen, die dem
Anwender am Arbeitsplatz zur Verfügung gestellt wurden, durch relativ leistungsschwache und kostengünstige
Thin Clients, die lediglich eine lokale Verbindung zur VM herstellen müssen, ermöglicht es, den
Wartungsaufwand erheblich zu reduzieren. Virtualisierte Desktop-Systeme können zentral auf Servern verwaltet
und gepflegt werden. Durch Redundanz der virtuellen Maschinen, kann zusätzlich die Ausfallsicherheit von
wichtigen Desktop-Systemen erhöht werden. Im Falle eines Hardwaredefektes der mit Thin Clients betriebenen
Workstation kann die Wiederherstellung der Arbeitsfähigkeit innerhalb kürzester Zeit durch den Tausch des
Endgerätes erfolgen, ohne dass größere Konfigurationen oder der Einsatz von Fachpersonal erforderlich sind. Der
Einsatz von virtuellen Desktops wird jedoch häufig durch die Leistungsfähigkeit der Netzwerkinfrastruktur
begrenzt. In Unternehmen, die ältere Netzwerkleitungen verwenden und eventuell noch viele Verzweigungen mit
veralteter Hardware besitzen, kann die mögliche Bandbreite des Netzwerkes zum Flaschenhals werden. Wenn
viele Clients gleichzeitig auf die virtuellen Maschinen zugreifen, besteht die Gefahr einer Netzwerküberlastung,
wodurch ein störungsfreies und flüssiges Arbeiten nicht mehr möglich ist. Da die Kosten für eine Modernisierung
der Netzwerkinfrastruktur immens sein können, muss die zur Verfügung stehende Infrastruktur bei einer
möglichen Umstellung berücksichtigt werden. Ein weiterer wichtiger Aspekt für den Einsatz von virtuellen
Desktop-Systemen ist die Möglichkeit, einfach und unkompliziert eine isolierte Testumgebung für eine
Desktop-Infrastrukur aufzubauen. Diese kann in verschiedenen Stadien gestestet werden, ohne dass das
bestehende System beeinflusst wird. Ein Beispiel hierfür wäre die Simulation einer vollständigen Domain inkl.
Server und Clients, ohne dass hierfür weitere Hardwareressourcen zur Verfügung stehen und einzeln konfiguriert
werden müssen. Auch die Anzahl der unterschiedlichsten Endgeräte wie z. B. Tabletts, Netbooks oder immer
leistungsfähigere Handys prädestinieren den Einsatz von virtuellen Desktops, da die einzige Anforderung an den
Client die Unterstützung des Remote Desktop Protocols ist. So ist man heute schon in der Lage, sein Handy als
vollwertigen Desktop-PC zu nutzen. Abschließend ist festzuhalten, dass Virtualisierungstechniken in modernen
IT-Infrastrukturen zunehmend an Bedeutung gewinnen und man, rückblickend auf die rasante Entwicklung der
letzten Jahre, gespannt sein darf, wie die Zukunft von Desktop-Systemen aussieht.
8 Endnoten
1. ? Virtualisierung: Rechenleistung aus dem großen Topf, Seite 1
2. ? VT (virtualization technology), Seite 1
3. ? vgl. Virtualisierung von Betriebssystemen
8 Endnoten
21
Desktop-Virtualisierung_mit_Oracle_VirtualBox
4. ? vgl. Alles über Virtualisierung
5. ? vgl. Understanding Full Virtualization , Paravirtualization, and Hardware Assist
6. ? vgl. Terminalserver
7. ? vgl. Oracle VM VirtualBox User Manual (2011), Seite 12
8. ? vgl. Oracle VM VirtualBox Lizenzbestimmungen
9. ? Die grundsätzliche Funktionsweise der Virtualisierung im Überblick (2010), Seite 1
10. ? Unterschiede zwischen Multithreading und Multitasking für Programmierer, Seite 1
11. ? vgl. Die grundsätzliche Funktionsweise der Virtualisierung im Überblick (2010), Seite 1
http://www.searchnetworking.de/specials/netzwerk-grundlagen/rz-basics/articles/270644/index.html
(11.7.2011, 14:00)
12. ? vgl. Hypervisor, http://www.itwissen.info/definition/lexikon/virtual-machine-monitor-VMM.html
(15.7.2011, 15:45)
13. ? vgl. Oracle VM VirtualBox User Manual (2011), Seite 53 ff.
9 Abkürzungsverzeichnis
Abkürzung
ACPI
CIFS
CPU
FSF
GUI
HAL
IBM
IDE
IPC
iSCSI
IT
MIT
NAT
NFS
OSE
PUEL
RDP
SAS
SATA
SCSI
SMB
SMP
USB
VDE
VDI
VHD
9 Abkürzungsverzeichnis
Bedeutung
advanced configuration and power interface
Common Internet File System
Central Processing Unit
Free Sotware Foundation
Graphical user interface
Hardware Abstraction Layer
International Business Machines Corp
Integrated Device Electronics
Inter-process communication
internet Small Computer System Interface
Information Technology
Massachusetts Institute of Technology
Network Address Translation
Network File System
Open Source Edition
VirtualBox Personal Use and Evaluation License
remote desktop protocol
Server Attached Storage
Serial Advanced Technology Attachment
Small Computer System Interface
Server-Message-Block
symmetric multiprocessing
Universal Serial Bus
Virtual Distributed Ethernet
Virtual Disc Image
Virtual-Hard-Disk
22
Desktop-Virtualisierung_mit_Oracle_VirtualBox
VM
VMDK
VRDE
VRDP
Extensible Markup Language
Virtuelle Maschine
Virtual Machine Disk
VirtualBox Remote Desktop Extension
VirtualBox Remote Display Protocol
10 Abbildungsverzeichnis
Abb.-Nr.
1
2
3
4
5
6
7
Abbildung
Abbildung der Abstraktionsschicht
hosted Hypervisor (VMM)
bare-metal Hypervisor (VMM)
Abbildung von Laufzeitumgebungen auf Elementarprozesse
Abbildung der Kommunikation zwischen den VM
Abbildung der Verteilungsmöglichkeiten von Image-Dateien
Abbildung der Möglichkeiten zur Netzwerkkommunikation
11 Tabellenverzeichnis
Tabelle
Nr.
1
2
Quelle
Darstellung der Funktionen von Oracle VM VirtualBox in Anlehnung auf folgende Quelle
Darstellung der Software-Verbesserungen in den Oracle VM VirtualBox Gasterweiterungen in
Anlehnung auf folgende Quelle
12 Literatur- und Quellenverzeichnis
Kurzverweis
Quelle
Virtualisierung:
http://www.computerwoche.de/software/office-collaboration/553021/index.html (11.07.2011
Rechenleistung aus dem
11:00)
großen Topf
VT (virtualization
http://www.fh-wedel.de/~si/seminare/ws06/Ausarbeitung/02.VMware/vmware1.htm (11.07.2
technology)
12:30)
Die grundsätzliche
Funktionsweise der
http://www.searchnetworking.de/specials/netzwerk-grundlagen/rz-basics/articles/270644/ind
Virtualisierung im Überblick (11.07.2011, 14:00)
(2010)
Terminalserver
http://technet.microsoft.com/de-de/library/cc737856(WS.10).aspx (11.07.2011, 14:30)
http://www.computerwoche.de/hardware/data-center-server/2350017/index6.html (11.07.201
Alles über Virtualisierung
18:00)
Understanding Full
http://www.vmware.com/files/pdf/VMware_paravirtualization.pdf (11.07.2011, 21:00)
Virtualization ,
Paravirtualization, and
12 Literatur- und Quellenverzeichnis
23
Desktop-Virtualisierung_mit_Oracle_VirtualBox
Hardware Assist
Unterschiede zwischen
Multithreading und
ftp://ftp.ni.com/pub/devzone/pdf/tut_6680.pdf (10.07.2011, 13:00)
Multitasking für
Programmierer
Oracle VM VirtualBox User
http://download.virtualbox.org/virtualbox/UserManual.pdf (10.07.2011, 12:00)
Manual (2011)
Oracle VM VirtualBox
http://www.virtualbox.org/wiki/VirtualBox_PUEL (09.07.2011, 15:00)
Lizenzbestimmungen(2011)
12 Literatur- und Quellenverzeichnis
24

Documentos relacionados