Ein Blick unter die Haube der Virtualisierung|Server-Virtualisierung

virtuell200Die Virtualisierung von Servern hat sich in den letzten Jahren immer stärker durchgesetzt. Im Kern geht es dabei um eine effizientere Nutzung der IT-Ressourcen durch eine Konzentration von mehr Applikationen auf einer geringeren Zahl von Servern. Ein Blick auf die wichtigsten Ansätze zeigt den aktuellen Stand der Technologie.

 
Vor zehn Jahren war von Virtualisierung im Markt der x86-Server noch kaum etwas zu sehen. In den letzten fünf Jahren allerdings hat sich die Situation massiv geändert. Der Anteil der virtualisierten Server in den Rechenzentren ist drastisch angestiegen. Marktforscher wie Gartner gehen davon aus, dass bereits Ende 2012 in vielen Unternehmen bis zu 50 Prozent der Server virtualisiert sein werden.
Virtualisierte Umgebung
 
Dazu trägt auch die Leistungsfähigkeit aktueller Systeme bei. Server-CPUs mit acht Prozessorkernen erreichen Performancewerte, die früher High-End- Unix-Systemen vorbehalten waren und sind zudem deutlich preisgünstiger. Dies erklärt auch, warum immer mehr Unternehmen ihre Unix-Systeme durch leistungsfähige Server mit Linux ersetzen. Mit dafür verantwortlich ist die enorme Leistungsexplosion der x86- Plattform. Die grundlegende Architektur wurde zur Basis aller Weiterentwicklungen und sorgt für Kompatibilität.
 
 
 
Frederik Bijlsma ist EMEA Business Unit Manager Cloud bei Red Hat
 
 
„In den letzten fünf ist der Anteil der virtualisierten Server in den Rechenzentren drastisch angestiegen. Bereits Ende 2012 werden in vielen Unternehmen bis zu 50 Prozent der Server virtualisiert sein.“
Frederik Bijlsma ist EMEA Business Unit Manager Cloud bei Red Hat
 
 
 
 
Eine für die Virtualisierung wichtige Eigenschaft ist das Prinzip der Privilegien-Level. Die insgesamt vier Levels, auch als Ringe oder Domains benannt, beschreiben die Sicherheitsstufen eines Prozesses, angeordnet in einer Hierarchie von Ring 0 (höchste Berechtigungsstufe) bis Ring 3. Im Ring 0 läuft das Betriebssystem, etwa Linux, mit direktem Zugriff auf die Hardware. Die Applikationen sind auf den Ring 3 mit der niedrigsten Berechtigungsstufe beschränkt. Ein Zugriff auf den Speicherbereich anderer Prozesse ist nicht möglich.
 
Damit ist gewährleistet, dass Prozesse im Ring 3 auf keinen Fall Prozesse im Ring 0 oder auch andere Prozesse im Ring 3 beeinflussen können. Die Ringe 1 und 2 wurden historisch betrachtet von kommerziellen Betriebssystemen nicht verwendet. Überall dort, wo das Betriebssystem direkt auf der Hardware aufsetzt (bare metal), bietet dieses Modell aus dem Blickwinkel der Sicherheit eindeutige Vorteile, für die Virtualisierung jedoch ergeben sich daraus einige Herausforderungen.
 
In einer virtualisierten Umgebung muss der Hypervisor im privilegierten Modus laufen, um die Hardware- und Systemfunktionen kontrollieren zu können. Die virtuellen Maschinen laufen mit einem Betriebssystem und emulierter Hardware in Ring 3. Das Betriebssystemgeht davon aus, dass es imRing 0 läuft und versucht, privilegierte Befehle auszuführen, die in dem Fall aber nicht zulässig sind. Viele Aktivitäten, die von Virtualisierungslösungen ausgeführt werden, befassen sich mit dem Thema, wie mit den nicht-privilegierten Betriebssystemen zu verfahren ist, die in einer virtuellen Maschine laufen. Virtualisierungslösungen verwenden dazu den Ring 1. Dabei wird der Betriebssystemkern aus Ring 0 in den Ring 1 verschoben, der Hypervisor residiert als über Ring 0 liegende Schicht und verwaltet einen odermehrere in Ring 1 laufende Betriebssystemkerne.
 
Bei der „binären Übersetzung“, einem Modus den VMware einführte, läuft die virtuelle Maschine direkt auf der CPU. Sollen privilegierte Instruktionen ausgeführt werden, sorgt die CPU dafür, dass die Instruktionen vomHypervisor bearbeitetet werden können. Ist keine direkte Weiterleitung möglich, sorgt die binäre Übersetzung für eine entsprechende Aufbereitung der Befehlssequenzen. Das Betriebssystem merkt davon nichts und arbeitet auf dem Hypervisor im normalen Modus weiter. Technisch ist das Ganze aufwendig zu implementieren, führt aber dazu, dass VMware Gast-Betriebssysteme mit nahezu nativer Performance ausführen kann.
 
Paravirtualisierung
 
Während sich die Emulation und die binäre Übersetzung darauf konzentrierten, wie die privilegierten Instruktionen in einer virtualisierten Maschine ausgeführt werden, verfolgt das Open-Source-Projekt Xen den Ansatz der Paravirtualisierung. Dazu wird ein Gast-Betriebssystem so modifiziert, dass es in einer virtuellen Maschine laufen kann und ohne die Befehlsausführung in Ring 0 auskommt. Die Paravirtualisierung erfordert, dass der Hersteller des Betriebssystems die notwendigen Änderungen vornehmen muss. BeimLinux-Kernel fanden sie anfangs als Patches Eingang und ab Version 2.6.23 stellt der Linux-Kernel die Möglichkeiten für den Betriebmit einem beliebigen Hypervisor in Form von sogenannten paravirt ops bereit.
 
Eine wichtige Rolle spielt die erste Domäne, die von Xen gestartet wird. Sie ist privilegiert und übernimmt die Interaktion mit dem eigentlichen Hypervisor. Die privilegierte Domäne Dom0 kann andere Domänen starten, stoppen und verwalten. Dazu muss diese Verwaltungsfunktionalität in das Betriebssystemintegriert werden, das in der Dom0 läuft. Jede virtuelle Maschine, auch als nicht-privilegierte Domain oder domU bezeichnet, enthält beispielsweise einen modifizierten Linux- Kernel, der jedoch nicht direkt mit der Hardware, sondern mit dem Xen- Hypervisor kommuniziert. In diesem Fall läuft der Gast-Kernel (domU) im Ring 1, während sich die Benutzerdaten im Ring 3 befinden.
Kernel-based Virtual Machine (KVM) Hypervisor
 
Der Kernel-based Virtual Machine (KVM) Hypervisor repräsentiert die neueste Entwicklung bei der Open- Source-Virtualisierung. So setzen Red Hat Enterprise Linux 6 und RedHat Enterprise Virtualization 3.0 auf KVMund auch die Open Virtualization Alliance, gegründet unter anderemvon HP, IBM, Intel sowie Red Hat, will den Einsatz von KVM als Alternative zu VMware fördern. KVMnutzt die Hardware-Virtualisierungs-Techniken Intel VT-X sowie AMD-V und ist imLinux-Kernel 2.6.20 enthalten. In der KVM-Architektur ist eine virtuelle Maschine als regulärer Linux-Prozess implementiert, gesteuert durch den Scheduler. Da jede virtuelle CPU als regulärer Linux-Prozess erscheint, kann KVMvon allen Features des Linux-Kernels profitieren.
 
Die Geräte-Emulation übernimmt eine modifizierte Version von QEMU. Diese virtuelle Maschine stellt für virtualisierte Gastsysteme PCI-Bus, USB-Schnittstellen, Festplatten, Netzwerk und Grafikkarten zur Verfügung. Da bei KVMeine virtuelle Maschine als Linux-Prozess implementiert ist, kann der Hypervisor auch die umfangreichen, in den Linux-Kernel integrierten Sicherheitsfunktionen von SELinux (Security Enhanced Linux) nutzen. SELinux wurde von der US-amerikanischen National Security Agency (NSA) entwickelt und verfügt über Sicherheitsfunktionen wie sie im Militärbereich gefordert werden. KVM schafft damit die Grundlage, dass die Virtualisierung gleichzeitig von mehreren Anwendern auf dem gleichen Server genutzt werden kann. Die virtuellen Maschinen sind dabei mit der von der NSA entwickelten Mandatory-Access-Control-Technologie sicher voneinander abgeschirmt. Das sVirt-Projekt nutzt SELinux als Grundlage einer Infrastruktur, mit der Administratoren Regeln erstellen, um virtuelle Maschinen vor unerlaubten Zugriffen zu schützen.
 
Bei der Frage wie sicher KVM ist, sorgte vor einigen Jahren die Debatte, ob KVM ein Typ1- oder ein Typ2- Hypervisor (läuft im nicht-privilegierten Ring 3) ist, für einige Aufregung. Aufgrund seines Bare-Metal-Designs ist KVM ein Typ1-Hypervisor, da zumindest Teile im Ring 0 mit den entsprechend hohen Sicherheitsstandards laufen. Auch VMware vSphere und Microsoft Hyper-V werden als Typ1- Hypervisor eingestuft, verfügen aber nicht standardmäßig über eine Mandatory- Access-Control-Isolation.
 
Live-Migration virtueller Maschinen
 
Eine wichtige Anforderung an Hypervisor ist die Live-Migration virtueller Maschinen von Host zu Host. Als integrierter Bestandteil von Red Hat Enterprise Virtualization 3.0 ermöglicht KVM, im laufenden Betrieb eine virtuelle Maschine von einem auf einen anderen Server zu verschieben. Die Netzwerkverbindungen bleiben erhalten und die Applikationen laufen weiter. Hinsichtlich der Kernfunktionen kann es KVM unter dem Strich problemlos mit VMware aufnehmen, denn KVM beherrscht beispielsweise auch die „binäre Übersetzung“ und kann daher Gast-Betriebssysteme mit einer sehr hohen Performance ausführen.
 
FREDERIK BIJLSMA
 
 

Anzeige
Anzeige

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.