Definition

Servervirtualisierung

Server-Virtualisierung ist ein Prozess, bei dem mehrere virtuelle Instanzen auf einem einzigen Server erstellt und abstrahiert werden. Server-Administratoren verwenden Software, um (mehrere) physische Server in mehrere isolierte virtuelle Umgebungen zu unterteilen. Jede virtuelle Umgebung kann eigenständig laufen. Die virtuellen Umgebungen werden manchmal auch als Virtual Private Server bezeichnet. Sie sind auch als Gäste, Instanzen, Container oder Emulationen bekannt.

Auf einzelnen, dedizierten Servern kann immer nur eine Betriebssysteminstanz (OS) gleichzeitig laufen. Jeder einzelne, dedizierte Server benötigt daher einen eigenen Speicher, eine eigene Zentraleinheit (CPU), eine eigene Festplatte und andere Hardware, um ordnungsgemäß zu funktionieren. Der einzelne Server hat außerdem vollständigen Zugriff auf alle seine Hardwareressourcen. Mit der Servervirtualisierung hingegen können auf demselben Server mehrere unabhängige Betriebssysteme mit unterschiedlichen Konfigurationen betrieben werden. Die Servervirtualisierung maskiert auch die Serverressourcen, einschließlich der Anzahl und Identität der einzelnen physischen Server, Prozessoren und Betriebssysteme. Die Ressourcen werden von den virtuellen Instanzen auf dem oder den Servern geteilt.

Servervirtualisierung ermöglicht es Unternehmen, die erforderliche Anzahl von Servern zu reduzieren. Das spart Geld und reduziert den Hardware-Footprint, der mit der Unterhaltung mehrerer physischer Server verbunden ist. Durch die Servervirtualisierung können Unternehmen ihre Ressourcen auch wesentlich effizienter nutzen. Wenn eine Organisation sich um eine Unter- oder Überlastung der Server sorgt, kann Servervirtualisierung eine Überlegung wert sein. Servervirtualisierung kommt auch dann zum Einsatz, wenn es darum geht, Arbeitslasten zwischen virtuellen Maschinen (VMs) zu verschieben, die Gesamtzahl der Server zu reduzieren oder um kleine und mittelgroße Anwendungen zu virtualisieren.

Gemeinsam mit der Speichervirtualisierung, der Netzwerkvirtualisierung und dem Workload-Management ist die Servervirtualisierung ein Baustein in der Entwicklung des autonomen Computings, dessen Fernziel es ist, dass Server sich in Zukunft selbst auf der Grundlage der wahrgenommenen Aktivität verwalten können. Servervirtualisierung kann dazu verwendet werden, die Serverressourcen effizienter zu nutzen, die Verfügbarkeit zu verbessern, die Disaster Recovery, das Testen und die Entwicklung zu unterstützen und die Serveradministration zu zentralisieren.

Wie funktioniert die Servervirtualisierung?

Die Servervirtualisierung funktioniert durch die Partitionierung von Software und Hardware mit einem Hypervisor. Es gibt verschiedene Arten von Hypervisoren, die in verschiedenen Szenarien eingesetzt werden. Der häufigste Hypervisor – Typ 1 – ist so konzipiert, dass er direkt auf einem Server sitzt, weshalb er auch als Bare-Metal-Hypervisor bezeichnet wird. Hypervisoren vom Typ 1 bieten die Möglichkeit, eine Hardwareplattform für die Nutzung durch VMs zu virtualisieren. Hypervisoren vom Typ 2 werden als Softwareschicht auf einem Host-Betriebssystem ausgeführt und werden häufiger für Testumgebungen verwendet.

Einer der ersten Schritte bei der Servervirtualisierung besteht darin, herauszufinden, welche Server eine Organisation virtualisieren möchte – ein guter Kandidat dafür ist zum Beispiel ein Server, der nicht alle seine Ressourcen nutzt, so dass diese ungenutzten Ressourcen für andere Aufgaben freistehen. Sobald der zu virtualisierende Server ausgewählt ist, sollte die Ressourcennutzen durch das physische System im Betrieb überprüft werden, bevor die Größe einer VM bestimmt wird. Anwender sollten hierfür die Auslastung von Ressourcen wie Speichern, Festplatten oder Mikroprozessoren überwachen. Auf diesem Weg gewinnen Unternehmen eine Vorstellung davon, wie viele Ressourcen jeder virtuellen Instanz zugeordnet werden können.

Der nächste Schritt ist die Wahl der Virtualisierungssoftware. Eine Organisation kann Hypervisoren verwenden – wie Microsoft Hyper-V und VMware vSphere – oder Virtualisierungstools wie PlateSpin Migrate verwenden. Je nach Server sollten zunächst bestimmte Teile virtualisiert werden, zum Beispiel unterstützende Anwendungen oder Festplatten in einem Datenbankserver. Nach der Migration kann es notwendig sein, die einer virtuellen Instanz zugewiesenen Ressourcen anzupassen, um eine angemessene Leistung zu gewährleisten.

Vorteile der Server-Virtualisierung

Zu den Vorteilen der Server-Virtualisierung gehören:

  • Live-Migration
  • Serverkonsolidierung
  • Geringerer Bedarf an physischer Infrastruktur
  • Jede virtuelle Instanz kann ihr eigenes OS ausführen
  • Jede einzelne Instanz kann unabhängig handeln
  • Geringere Kosten für Server
  • Geringerer Energieverbrauch
  • Einfacheres Sichern und Wiederherstellen nach Ausfällen
  • Einfacheres Installieren oder Einrichten von Software-Patches und Updates
  • Vorteile beim Webhosting

Nachteile der Server-Virtualisierung

Zu den Nachteilen der Servervirtualisierung gehören:

  • Gefahr von Verfügbarkeitsproblemen
  • Gefahr steigenden Ressourcenverbrauchs
  • Gefahr von Speicherüberlastungen
  • Hohe Einstiegskosten durch Virtualisierungssoftware und Aufrüstung des Netzwerks
  • Bindung an Softwarelizenzen
  • IT-Personal mit Virtualisierungserfahrung erforderlich
  • Sicherheit, besonders, wenn physische Server für virtuelle Server verschiedener Unternehmen geteilt werden

Servervirtualisierung sollte zur Konsolidierung von Ressourcen, zur Kostenersparnis und zur Bereitstellung mehrerer unabhängiger Umgebungen für Software auf einem einzigen Server eingesetzt werden. Einige praktische Beispiele: Ein IT-Unternehmen kann die Server-Virtualisierung einsetzen, um Arbeitszeit einzusparen, die bisher auf die Verwaltung einzelner Server verwendet wurde, um vor der Migration in die Cloud Erfahrung mit virtuellen Strukturen zu sammeln oder um mehrere Betriebssysteme und Anwendungen zu nutzen, ohne weitere physische Maschinen hinzufügen zu müssen. Servervirtualisierung kann auch in Webservern als kostengünstige Möglichkeit zum Hosten von Webdiensten eingesetzt werden. Wenn eine Organisation Kopien ihrer Daten auf einem virtualisierten Server hostet, können sie außerdem zur Sicherung des Systems verwendet werden.

Drei Arten von Servervirtualisierung

Es gibt drei gängige Ansätze bei der Servervirtualisierung: virtuelles Maschinenmodell, paravirtuelles Maschinenmodell (PVM) und Virtualisierung auf der Ebene des Betriebssystems (OS).

Virtuelle Maschinen basieren auf dem Host/Gast-Paradigma. Jeder Gast läuft auf einer virtuellen Nachbildung einer Hardwareschicht. Dieser Ansatz ermöglicht es, das Gast-Betriebssystem ohne Änderungen auszuführen. Darüber hinaus kann der Administrator Gäste erstellen, die unterschiedliche Betriebssysteme verwenden. Das Gast-OS hat keine Kenntnis vom Host-Betriebssystem und weiß nicht, dass diesem keine echte Hardware zugrunde liegt. Das erfordert jedoch, dass dem Host Echtzeit-Rechenressourcen zur Verfügung stehen. Alle Befehle an die CPU werden vom Hypervisor koordiniert. Der Hypervisor wird auch als Virtual Machine Monitor (VMM) bezeichnet. Er bestätigt alle Anweisungen, die sich an die Gast-CPU richten und verwaltet jeden ausgeführten Code, der zusätzliche Privilegien benötigt. VMware und Microsoft verwenden das virtuelle Maschinenmodell.

Das paravirtualisierte Maschinenmodell beruht ebenfalls auf dem Host/Gast-Paradigma und verwendet einen Virtual Machine Monitor. Im PVM ändert die VMM jedoch tatsächlich den Code des Gastbetriebssystems. Das unterstützt den Hypervisor, so dass er privilegierte Systemaufrufe sparsam einsetzen kann. Wie virtuelle Maschinen sind auch paravirtuelle Maschinen in der Lage, mehrere Betriebssysteme auszuführen. Sowohl Xen als auch die Unified Modeling Language (UML) verwenden das paravirtuelle Maschinenmodell.

Die Virtualisierung auf Betriebssystemebene funktioniert anders. Sie basiert nicht auf dem Host/Gast-Paradigma. Stattdessen läuft der Host auf einem einzigen OS-Kernel und exportiert Betriebssystemfunktionen an jeden der Gäste. Die Gäste müssen das gleiche Betriebssystem wie der Host verwenden, wobei aber verschiedene Distributionen des gleichen Systems zulässig sind. Diese verteilte Architektur macht Systemaufrufe zwischen den Schichten überflüssig und reduziert dadurch die CPU-Auslastung. Das erfordert, dass jede Partition streng von ihrem Nachbarn isoliert bleibt, um bei einem Ausfall oder bei Sicherheitsverletzungen einer Partition nicht eine andere zu beeinflussen. In diesem Modell können gemeinsame Programme und Bibliotheken auf der gleichen physischen Maschine geteilt werden, sodass ein Betriebssystem auf einem virtuellen Server Tausende von Gästen gleichzeitig bedienen kann. Virtuozzo und Solaris Zones sind Beispiele für Virtualisierung auf der Betriebssystemebene.

Hypervisoren

Ein Hypervisor ist das, was ein Betriebssystem von der zugrunde liegenden Computerhardware abstrahiert. Diese Abstraktion ermöglicht es der Hardware des Host-Rechners, mehrere VMs unabhängig voneinander als Gäste zu betreiben – das heißt, die Gast-VMs teilen sich effektiv die physischen Rechenressourcen des Systems. Traditionell werden Hypervisoren als Softwareschicht implementiert und in die Kategorien Typ 1 und Typ 2 unterteilt. Hypervisoren vom Typ 1 werden am häufigsten in Unternehmensrechenzentren verwendet, während Hypervisoren vom Typ 2 häufig an Endpunkten wie PCs zu finden sind.

Geschichte

In den 1960er Jahren entwickelte IBM die Virtualisierung des Systemspeichers. Die Technologie, die damals noch auf Großcomputer und Mainframes ausgerichtet war, ist erste Schritt zur Servervirtualisierung. In den 1970er Jahren virtualisierte IBM ein Betriebssystem namens VM/370, das noch weiter entwickelt wurde, bevor es zu z/VM, der erste kommerzielle VM, wurde.

Ihre wahre Stärke konnte die Servervirtualisierung aber erst ausspielen, als Ende der 90ger und Anfang der 2000er die Rechenzentren aus allen Nähten platzten – aber die immer leistungsfähigeren Server, deren Zahl ständig anwuchs ihrerseits kaum ausgelastet waren.

VMware veröffentlichte 1999 VMware Workstation, mit der Server auf x86- und x64-Architekturen virtualisiert werden konnten. 2003 erschien mit Xen ein Open-Source-Angebot für Virtualisierung.

Ohne Virtualisierung wären viele Technologien, die heute selbstverständlich sind, wie die Cloud oder die Containerisierung gar nicht denkbar.

Diese Definition wurde zuletzt im März 2020 aktualisiert

Erfahren Sie mehr über Server- und Desktop-Virtualisierung

ComputerWeekly.de
Close