Hardware-Virtualisierung - Hardware virtualization

Hardwarevirtualisierung ist die Virtualisierung von Computern als komplette Hardwareplattformen, bestimmte logische Abstraktionen ihrer Komponenten oder nur die Funktionalität, die zum Ausführen verschiedener Betriebssysteme erforderlich ist . Virtualisierung verbirgt die physikalischen Eigenschaften einer Computerplattform vor den Benutzern und präsentiert stattdessen eine abstrakte Computerplattform. Ursprünglich wurde die Software, die die Virtualisierung steuerte, als „Steuerungsprogramm“ bezeichnet, aber im Laufe der Zeit wurden die Begriffe „ Hypervisor “ oder „Virtual Machine Monitor“ bevorzugt.

Konzept

Der Begriff "Virtualisierung" wurde in den 1960er Jahren geprägt, um sich auf eine virtuelle Maschine (manchmal auch "Pseudomaschine" genannt) zu beziehen , ein Begriff, der selbst aus dem experimentellen IBM M44/44X- System stammt. Die Erstellung und Verwaltung von virtuellen Maschinen wurde in jüngerer Zeit als "Plattformvirtualisierung" oder "Servervirtualisierung" bezeichnet.

Plattform - Virtualisierung wird auf einer bestimmten Hardware - Plattform von geführt Host - Software (ein Steuerprogramm ), die ein simuliertes Computerumgebung schafft, eine virtuelle Maschine (VM), die für ihre Gast Software. Die Gastsoftware ist nicht auf Benutzeranwendungen beschränkt; viele Hosts erlauben die Ausführung kompletter Betriebssysteme. Die Gastsoftware wird so ausgeführt, als würde sie direkt auf der physischen Hardware ausgeführt, mit einigen bemerkenswerten Einschränkungen. Der Zugriff auf physische Systemressourcen (wie Netzwerkzugriff , Anzeige, Tastatur und Plattenspeicher ) wird im Allgemeinen auf einer restriktiveren Ebene verwaltet als der Hostprozessor und der Systemspeicher. Gäste sind oft daran gehindert, auf bestimmte Peripheriegeräte zuzugreifen , oder sind abhängig von der vom Virtualisierungshost implementierten Hardware-Zugriffsrichtlinie auf eine Teilmenge der nativen Funktionen des Geräts beschränkt.

Virtualisierung zieht häufig Leistungseinbußen nach sich, sowohl in Bezug auf Ressourcen, die zum Ausführen des Hypervisors erforderlich sind, als auch in Bezug auf die Leistung auf der virtuellen Maschine im Vergleich zur nativen Ausführung auf der physischen Maschine.

Gründe für Virtualisierung

  • Bei der Serverkonsolidierung werden viele kleine physische Server durch einen größeren physischen Server ersetzt, um den Bedarf an (kostspieligeren) Hardwareressourcen wie CPUs und Festplatten zu verringern. Obwohl Hardware in virtuellen Umgebungen konsolidiert wird, ist dies bei Betriebssystemen in der Regel nicht der Fall. Stattdessen wird jedes Betriebssystem, das auf einem physischen Server ausgeführt wird, in ein eigenes Betriebssystem umgewandelt, das in einer virtuellen Maschine ausgeführt wird. Dadurch kann der große Server viele solcher virtuellen "Gast"-Maschinen "hosten". Dies wird als Physical-to-Virtual (P2V)-Transformation bezeichnet.
  • Neben der Reduzierung der Geräte- und Arbeitskosten im Zusammenhang mit der Gerätewartung kann die Konsolidierung von Servern auch den zusätzlichen Vorteil haben, den Energieverbrauch und den globalen Fußabdruck in umwelt-ökologischen Technologiesektoren zu reduzieren. Ein typischer Server läuft beispielsweise mit 425 W und VMware schätzt ein Hardware-Reduktionsverhältnis von bis zu 15:1.
  • Eine virtuelle Maschine (VM) kann einfacher von einem Remote-Standort aus gesteuert und überprüft werden als eine physische Maschine, und die Konfiguration einer VM ist flexibler. Dies ist sehr nützlich bei der Kernel-Entwicklung und beim Unterrichten von Betriebssystemkursen, einschließlich der Ausführung von Legacy-Betriebssystemen, die keine moderne Hardware unterstützen.
  • Eine neue virtuelle Maschine kann nach Bedarf bereitgestellt werden, ohne dass im Voraus Hardware gekauft werden muss.
  • Eine virtuelle Maschine kann bei Bedarf problemlos von einer physischen Maschine auf eine andere verschoben werden. Beispielsweise kann ein Verkäufer, der zu einem Kunden geht, eine virtuelle Maschine mit der Demo-Software auf seinen Laptop kopieren, ohne den physischen Computer transportieren zu müssen. Ebenso schadet ein Fehler in einer virtuellen Maschine dem Hostsystem nicht, sodass keine Gefahr eines Absturzes des Betriebssystems auf dem Laptop besteht.
  • Aufgrund dieser einfachen Verlagerung können virtuelle Maschinen problemlos in Disaster-Recovery- Szenarien verwendet werden, ohne Bedenken hinsichtlich der Auswirkungen von renovierten und fehlerhaften Energiequellen.

Wenn jedoch mehrere VMs gleichzeitig auf demselben physischen Host ausgeführt werden, kann jede VM eine unterschiedliche und instabile Leistung aufweisen, die stark von der Arbeitsbelastung des Systems durch andere VMs abhängt. Dieses Problem kann durch geeignete Installationstechniken zur zeitlichen Isolation zwischen virtuellen Maschinen behoben werden .

Es gibt mehrere Ansätze zur Plattformvirtualisierung.

Beispiele für Anwendungsfälle der Virtualisierung:

  • Ausführen einer oder mehrerer Anwendungen, die vom Hostbetriebssystem nicht unterstützt werden: Eine virtuelle Maschine, auf der das erforderliche Gastbetriebssystem ausgeführt wird, könnte die Ausführung der gewünschten Anwendungen zulassen, ohne das Hostbetriebssystem zu ändern.
  • Evaluierung eines alternativen Betriebssystems: Das neue Betriebssystem könnte innerhalb einer VM ausgeführt werden, ohne das Host-Betriebssystem zu ändern.
  • Servervirtualisierung: Mehrere virtuelle Server können auf einem einzigen physischen Server ausgeführt werden, um die Hardwareressourcen des physischen Servers besser auszunutzen.
  • Duplizieren bestimmter Umgebungen: Eine virtuelle Maschine könnte je nach verwendeter Virtualisierungssoftware dupliziert und auf mehreren Hosts installiert oder in einen zuvor gesicherten Systemzustand zurückversetzt werden.
  • Erstellen einer geschützten Umgebung: Wenn ein Gast - Betriebssystem auf einer VM laufen in einer Art und Weise beschädigt wird, die Reparatur nicht kosteneffektiv ist, wie auftreten kann , wenn das Studium von Malware oder schlecht benommen Software installiert haben , kann die VM einfach ohne Schaden für die entsorgt werden Host-System und eine saubere Kopie, die beim Neustart des Gasts verwendet wird.

Vollständige Virtualisierung

Logisches Diagramm der vollständigen Virtualisierung.

Bei der vollständigen Virtualisierung simuliert die virtuelle Maschine genügend Hardware, um ein unverändertes "Gast"-Betriebssystem, das für denselben Befehlssatz entwickelt wurde, isoliert auszuführen. Dieser Ansatz wurde 1966 mit den IBM CP-40 und CP-67 , den Vorgängern der VM- Familie, eingeführt.

Hardwaregestützte Virtualisierung

Bei der hardwaregestützten Virtualisierung bietet die Hardware Architekturunterstützung, die den Aufbau eines Monitors für virtuelle Maschinen erleichtert und die isolierte Ausführung von Gastbetriebssystemen ermöglicht. Die hardwaregestützte Virtualisierung wurde erstmals 1972 auf dem IBM System/370 zur Verwendung mit VM/370, dem ersten Betriebssystem für virtuelle Maschinen, eingeführt.

2005 und 2006 stellten Intel und AMD zusätzliche Hardware zur Unterstützung der Virtualisierung bereit. Sun Microsystems (jetzt Oracle Corporation ) fügte seinen UltraSPARC- Prozessoren der T-Serie im Jahr 2005 ähnliche Funktionen hinzu .

Im Jahr 2006 wurde festgestellt, dass die 32- und 64-Bit-x86-Hardwareunterstützung der ersten Generation nur selten Leistungsvorteile gegenüber der Softwarevirtualisierung bietet.

Paravirtualisierung

Bei der Paravirtualisierung simuliert die virtuelle Maschine nicht unbedingt Hardware, sondern bietet (oder zusätzlich) eine spezielle API, die nur durch Modifikation des „Gast“-Betriebssystems genutzt werden kann. Damit dies möglich ist, muss der Quellcode des "Gast"-Betriebssystems verfügbar sein. Wenn der Quellcode verfügbar ist, reicht es aus, sensible Anweisungen durch Aufrufe von VMM-APIs zu ersetzen (zB: "cli" mit "vm_handle_cli()"), dann das Betriebssystem neu zu kompilieren und die neuen Binärdateien zu verwenden. Dieser Systemaufruf an den Hypervisor wird in TRANGO und Xen als "Hyperaufruf" bezeichnet ; es wird über eine DIAG ("diagnostizieren") Hardware-Anweisung im CMS von IBM unter VM implementiert (was der Ursprung des Begriffs Hypervisor war ).

Virtualisierung auf Betriebssystemebene

Bei der Virtualisierung auf Betriebssystemebene wird ein physischer Server auf Betriebssystemebene virtualisiert, sodass mehrere isolierte und sichere virtualisierte Server auf einem einzigen physischen Server ausgeführt werden können. Die "Gast"-Betriebssystemumgebungen teilen sich dieselbe laufende Instanz des Betriebssystems wie das Hostsystem. Somit wird derselbe Betriebssystemkernel auch verwendet, um die "Gast"-Umgebungen zu implementieren, und Anwendungen, die in einer gegebenen "Gast"-Umgebung laufen, betrachten ihn als eigenständiges System.

Notfallwiederherstellung durch Hardwarevirtualisierung

Ein Disaster Recovery- Plan (DR) wird oft als bewährte Methode für eine Hardwarevirtualisierungsplattform angesehen. Die DR einer Virtualisierungsumgebung kann eine hohe Verfügbarkeit in einer Vielzahl von Situationen gewährleisten, die den normalen Geschäftsbetrieb stören. In Situationen, in denen der kontinuierliche Betrieb von Hardwarevirtualisierungsplattformen wichtig ist, kann ein Notfallwiederherstellungsplan sicherstellen, dass die Hardwareleistungs- und Wartungsanforderungen erfüllt werden. Ein Disaster-Recovery-Plan für Hardwarevirtualisierung umfasst sowohl Hardware- als auch Softwareschutz durch verschiedene Methoden, einschließlich der unten beschriebenen.

Band-Backup für die langfristige Archivierung von Softwaredaten
Diese gängige Methode kann verwendet werden, um Daten extern zu speichern, aber die Datenwiederherstellung kann ein schwieriger und langwieriger Prozess sein. Bandsicherungsdaten sind nur so gut wie die zuletzt gespeicherte Kopie. Bandsicherungsmethoden erfordern ein Sicherungsgerät und fortlaufendes Speichermaterial.
Replikation ganzer Dateien und Anwendungen
Die Implementierung dieses Verfahrens erfordert Steuersoftware und Speicherkapazität für die Replikation der Anwendungs- und Datendateispeicherung, typischerweise am selben Standort. Die Daten werden auf einer anderen Plattenpartition oder einem separaten Plattengerät repliziert und können für die meisten Server eine geplante Aktivität sein und werden eher für datenbankartige Anwendungen implementiert.
Hard- und Softwareredundanz
Diese Methode gewährleistet den höchsten Grad an Disaster-Recovery-Schutz für eine Hardwarevirtualisierungslösung, indem eine doppelte Hardware- und Softwarereplikation in zwei unterschiedlichen geografischen Gebieten bereitgestellt wird.

Siehe auch

Verweise

Externe Links