Computer und moderne Geräte

Anmerkung: Informationstechnologien haben viele nützliche und interessante Dinge in das Leben der modernen Gesellschaft gebracht. Jeden Tag entwickeln erfinderische und talentierte Menschen immer mehr neue Anwendungen für Computer als effektive Werkzeuge für Produktion, Unterhaltung und Zusammenarbeit. Viele verschiedene Soft- und Hardware, Technologien und Dienste ermöglichen es uns, die tägliche Arbeit mit Informationen komfortabler und schneller zu gestalten. Es wird immer schwieriger, aus der Flut an Technologien, die auf uns zukommen, wirklich nützliche Technologien herauszusuchen und zu lernen, sie mit größtmöglichem Nutzen zu nutzen. In diesem Vortrag geht es um eine weitere unglaublich vielversprechende und wirklich effektive Technologie, die schnell in die Welt der Computer Einzug hält – die Virtualisierungstechnologie, die eine Schlüsselposition im Konzept des Cloud Computing einnimmt.

Der Zweck dieser Vorlesung besteht darin, Informationen über Virtualisierungstechnologien, Terminologie, Arten und Hauptvorteile der Virtualisierung zu erhalten. Machen Sie sich mit den wichtigsten Lösungen führender IT-Anbieter vertraut. Berücksichtigen Sie die Funktionen der Microsoft-Virtualisierungsplattform.

Virtualisierungstechnologien

Laut Statistik liegt die durchschnittliche Auslastung der Prozessorkapazität bei Servern unter Windows nicht über 10 %, bei Unix-Systemen ist dieser Wert besser, liegt aber im Durchschnitt dennoch nicht über 20 %. Die geringe Effizienz der Serverauslastung erklärt sich durch den seit Anfang der 90er Jahre weit verbreiteten Ansatz „Eine Anwendung – ein Server“, d. h. jedes Mal, wenn ein Unternehmen einen neuen Server kauft, um eine neue Anwendung bereitzustellen. In der Praxis bedeutet dies natürlich eine rasante Vergrößerung des Serverparks und damit einhergehend einen Anstieg der Kosten dafür. Verwaltung, Energieverbrauch und Kühlung sowie der Bedarf an zusätzlichen Räumlichkeiten, um immer mehr Server zu installieren und Lizenzen für das Server-Betriebssystem zu erwerben.

Durch die Virtualisierung physischer Serverressourcen können Sie diese flexibel auf Anwendungen verteilen, von denen jede nur die ihr zugewiesenen Ressourcen „sieht“ und „glaubt“, dass ihr ein separater Server zugewiesen wurde, d. h. in diesem Fall „ein Server – mehrere“. „Anwendungen“-Ansatz wird umgesetzt, ohne jedoch die Leistung, Verfügbarkeit und Sicherheit von Serveranwendungen zu beeinträchtigen. Darüber hinaus ermöglichen Virtualisierungslösungen den Betrieb verschiedener Betriebssysteme auf Partitionen, indem sie deren Systemaufrufe an Server-Hardware-Ressourcen emulieren.


Reis. 2.1.

Virtualisierung basiert auf der Fähigkeit eines Computers, die Arbeit mehrerer Computer zu erledigen, indem er seine Ressourcen auf mehrere Umgebungen verteilt. Mit virtuellen Servern und virtuellen Desktops können Sie mehrere Betriebssysteme und mehrere Anwendungen an einem einzigen Standort hosten. Damit verlieren physische und geografische Beschränkungen ihre Bedeutung. Neben Energieeinsparungen und Kostensenkungen durch eine effizientere Nutzung von Hardwareressourcen bietet die virtuelle Infrastruktur ein hohes Maß an Ressourcenverfügbarkeit, eine effizientere Verwaltung, verbesserte Sicherheit und eine verbesserte Notfallwiederherstellung.

Im weitesten Sinne ist das Konzept der Virtualisierung das Verbergen der realen Implementierung eines Prozesses oder Objekts vor seiner wahren Darstellung für denjenigen, der es nutzt. Ein Virtualisierungsprodukt ist etwas, das bequem zu verwenden ist und tatsächlich eine komplexere oder völlig andere Struktur aufweist, als die, die man bei der Arbeit mit dem Objekt wahrnimmt. Mit anderen Worten: Es gibt eine Trennung zwischen der Darstellung und der Umsetzung von etwas. Virtualisierung soll abstrahieren Software von der Hardware.

In der Computertechnologie bezieht sich der Begriff „Virtualisierung“ üblicherweise auf die Abstraktion von Rechenressourcen und die Bereitstellung eines Systems für den Benutzer, das seine eigene Implementierung „kapselt“ (versteckt).. Vereinfacht ausgedrückt arbeitet der Benutzer mit einer bequemen Darstellung des Objekts, und es spielt für ihn keine Rolle, wie das Objekt in der Realität aufgebaut ist.

Heutzutage ist die Möglichkeit, mehrere virtuelle Maschinen auf einer einzigen physischen Maschine auszuführen, bei Computerfachleuten von großem Interesse, nicht nur, weil sie die Flexibilität der IT-Infrastruktur erhöht, sondern auch, weil Virtualisierung tatsächlich Geld spart.

Die Geschichte der Entwicklung von Virtualisierungstechnologien reicht mehr als vierzig Jahre zurück. IBM war das erste Unternehmen, das über die Schaffung virtueller Umgebungen für verschiedene Benutzeraufgaben nachdachte, damals noch auf Großrechnern. In den 60er Jahren des letzten Jahrhunderts war die Virtualisierung von rein wissenschaftlichem Interesse und eine originelle Lösung zur Isolierung von Computersystemen innerhalb eines einzigen physischen Computers. Nach dem Aufkommen von Personalcomputern ließ das Interesse an Virtualisierung aufgrund der rasanten Entwicklung von Betriebssystemen, die angemessene Anforderungen an die damalige Hardware stellten, etwas nach. Das rasante Wachstum der Computerhardwareleistung Ende der neunziger Jahre des letzten Jahrhunderts zwang die IT-Community jedoch dazu, sich erneut an die Technologien der Virtualisierung von Softwareplattformen zu erinnern.

Im Jahr 1999 führte VMware die x86-basierte Sals effektives Mittel zur Umwandlung x86-basierter Systeme in eine einzige, allgemein verwendbare, speziell entwickelte Hardware-Infrastruktur ein, die vollständige Isolation, Portabilität und eine große Auswahl an Betriebssystemen für Anwendungen bietet Umgebungen. VMware war einer der ersten, der ernsthaft ausschließlich auf Virtualisierung gesetzt hat. Wie die Zeit gezeigt hat, erwies sich dies als absolut berechtigt. Heute bietet WMware mit VMware vSphere 4 eine umfassende Virtualisierungsplattform der vierten Generation an, die Tools sowohl für den einzelnen PC als auch für das Rechenzentrum umfasst. Die Schlüsselkomponente dieses Softwarepakets ist der VMware ESX Server-Hypervisor. Später schlossen sich Unternehmen wie Parallels (ehemals SWsoft), Oracle (Sun Microsystems) und Citrix Systems (XenSourse) dem „Kampf“ um einen Platz in dieser modischen Richtung der Entwicklung der Informationstechnologie an.

Microsoft stieg 2003 mit der Übernahme von Connectix in den Virtualisierungsmarkt ein und brachte sein erstes Produkt, Virtual PC, für Desktop-PCs auf den Markt. Seitdem wurde das Angebotsspektrum in diesem Bereich kontinuierlich erweitert und heute ist die Bildung einer Virtualisierungsplattform nahezu abgeschlossen, zu der Lösungen wie Windows 2008 Server R2 mit der Hyper-V-Komponente, Microsoft Application Virtualization (App-v) gehören. , Microsoft Virtual Desktop Infrastructure (VDI), Remotedesktopdienste, System Center Virtual Machine Manager.

Heutzutage bieten Anbieter von Virtualisierungstechnologien zuverlässige und einfach zu verwaltende Plattformen an, und der Markt für diese Technologien boomt. Laut führenden Experten gehört Virtualisierung mittlerweile zu den drei vielversprechendsten Computertechnologien. Viele Experten gehen davon aus, dass bis 2015 etwa die Hälfte aller Computersysteme virtuell sein werden.

Das derzeit gestiegene Interesse an Virtualisierungstechnologien ist kein Zufall. Die Rechenleistung aktueller Prozessoren wächst rasant, und die Frage ist nicht einmal, wofür diese Leistung ausgegeben werden soll, sondern die Tatsache, dass die moderne „Mode“ für Dual-Core- und Multi-Core-Systeme, die bereits in Personalcomputer eingedrungen ist ( Laptops und Desktops) könnte nicht besser sein und ermöglicht es Ihnen, das reichste Potenzial an Ideen für die Virtualisierung von Betriebssystemen und Anwendungen auszuschöpfen und die Benutzerfreundlichkeit eines Computers auf ein neues qualitatives Niveau zu heben. Virtualisierungstechnologien werden zu einer der Schlüsselkomponenten (einschließlich Marketingkomponenten) in den neuesten und zukünftigen Prozessoren von Intel und AMD sowie in Betriebssystemen von Microsoft und einer Reihe anderer Unternehmen.

Vorteile der Virtualisierung

Hier sind die Hauptvorteile von Virtualisierungstechnologien:

  1. Effiziente Nutzung von Computerressourcen. Anstelle von 3 oder sogar 10 Servern, die zu 5–20 % ausgelastet sind, können Sie einen verwenden, der zu 50–70 % ausgelastet ist. Dies spart unter anderem auch Energie und reduziert die finanziellen Investitionen deutlich: Es wird ein Hightech-Server angeschafft, der die Funktionen von 5-10 Servern übernimmt. Durch die Virtualisierung kann eine wesentlich effizientere Ressourcennutzung erreicht werden, da sie Standard-Infrastrukturressourcen bündelt und die Einschränkungen des alten Modells mit einer Anwendung pro Server überwindet.
  2. Reduzierung der Infrastrukturkosten: Virtualisierung reduziert die Anzahl der Server und der zugehörigen IT-Ausrüstung in einem Rechenzentrum. Dadurch wird der Wartungs-, Strom- und Kühlbedarf der Anlagen reduziert und es wird deutlich weniger Geld für die IT ausgegeben.
  3. Reduzierte Softwarekosten. Einige Softwarehersteller haben separate Lizenzierungssysteme speziell für virtuelle Umgebungen eingeführt. Wenn Sie beispielsweise eine Lizenz für Microsoft Windows Server 2008 Enterprise erwerben, erhalten Sie das Recht, diese gleichzeitig auf einem physischen und vier virtuellen Servern (innerhalb eines Servers) zu verwenden, und Windows Server 2008 Datacenter wird nur für die Anzahl lizenziert Prozessoren und kann gleichzeitig auf einer unbegrenzten Anzahl von Prozessoren verwendet werden. Anzahl virtueller Server.
  4. Erhöhte Flexibilität und Reaktionsfähigkeit des Systems: Virtualisierung bietet eine neue Methode zur Verwaltung der IT-Infrastruktur und hilft IT-Administratoren, weniger Zeit mit sich wiederholenden Aufgaben wie Bereitstellung, Konfiguration, Überwachung und Wartung zu verbringen. Viele Systemadministratoren haben Probleme, wenn ein Server abstürzt. Und Sie können die Festplatte nicht herausnehmen, auf einen anderen Server verschieben und alles wie zuvor starten ... Was ist mit der Installation? Suchen nach Treibern, Einrichten, Starten ... und alles kostet Zeit und Ressourcen. Bei Verwendung eines virtuellen Servers ist ein sofortiger Start auf jeder Hardware möglich. Wenn kein solcher Server vorhanden ist, können Sie eine fertige virtuelle Maschine mit einem installierten und konfigurierten Server aus Bibliotheken herunterladen, die von Unternehmen unterstützt werden, die Hypervisoren (Virtualisierungsprogramme) entwickeln. .
  5. Inkompatible Anwendungen können auf demselben Computer ausgeführt werden. Bei Verwendung der Virtualisierung auf einem Server ist es möglich, Linux- und Windows-Server, Gateways, Datenbanken und andere Anwendungen zu installieren, die innerhalb desselben nicht virtualisierten Systems völlig inkompatibel sind.
  6. Erhöhen Sie die Anwendungsverfügbarkeit und stellen Sie die Geschäftskontinuität sicher: Durch zuverlässige Sicherung und Migration ganzer virtueller Umgebungen ohne Dienstunterbrechungen können Sie geplante Ausfallzeiten reduzieren und in kritischen Situationen eine schnelle Systemwiederherstellung gewährleisten. Der „Absturz“ eines virtuellen Servers führt nicht zum Verlust der übrigen virtuellen Server. Darüber hinaus besteht die Möglichkeit, bei Ausfall eines physischen Servers diesen automatisch durch einen Backup-Server zu ersetzen. Darüber hinaus geschieht dies für Benutzer unbemerkt, ohne dass ein Neustart erforderlich ist. Dies stellt die Geschäftskontinuität sicher.
  7. Einfache Archivierungsoptionen. Da die Festplatte einer virtuellen Maschine normalerweise als Datei eines bestimmten Formats dargestellt wird, die sich auf einem physischen Medium befindet, ermöglicht die Virtualisierung das einfache Kopieren dieser Datei auf ein Sicherungsmedium, um so die gesamte virtuelle Maschine zu archivieren und zu sichern. Ein weiteres tolles Feature ist die Möglichkeit, den Server komplett aus dem Archiv wiederherzustellen. Oder Sie können den Server aus dem Archiv hochladen, ohne den aktuellen Server zu zerstören, und sich den Stand der Dinge im vergangenen Zeitraum ansehen.
  8. Verbesserung der Verwaltbarkeit der Infrastruktur: Durch die Verwendung einer zentralen Verwaltung der virtuellen Infrastruktur können Sie den Zeitaufwand für die Serververwaltung reduzieren, Lastausgleich und „Live“-Migration virtueller Maschinen ermöglichen.

Virtuelle Maschine Wir nennen eine Software- oder Hardwareumgebung, die die tatsächliche Implementierung eines Prozesses oder Objekts vor seiner sichtbaren Darstellung verbirgt.

ist ein vollständig isolierter Softwarecontainer, der wie ein physischer Computer sein eigenes Betriebssystem und seine eigenen Anwendungen ausführt. Eine virtuelle Maschine verhält sich wie ein physischer Computer und verfügt über einen eigenen virtuellen (d. h. Software-)RAM, eine eigene Festplatte und einen eigenen Netzwerkadapter.

Das Betriebssystem kann nicht zwischen virtuellen und physischen Maschinen unterscheiden. Das Gleiche gilt für Anwendungen und andere Computer im Netzwerk. Sogar sie selbst virtuelle Maschine hält sich für einen „echten“ Computer. Dennoch bestehen virtuelle Maschinen ausschließlich aus Softwarekomponenten und enthalten keine Hardware. Dies verschafft ihnen eine Reihe einzigartiger Vorteile gegenüber physischer Hardware.


Reis. 2.2.

Schauen wir uns die Hauptfunktionen virtueller Maschinen genauer an:

  1. Kompatibilität. Virtuelle Maschinen sind grundsätzlich mit allen gängigen Computern kompatibel. Wie ein physischer Computer führt eine virtuelle Maschine ihr eigenes Gastbetriebssystem und ihre eigenen Anwendungen aus. Es enthält außerdem alle Standardkomponenten für einen physischen Computer (Motherboard, Grafikkarte, Netzwerkcontroller usw.). Daher sind virtuelle Maschinen vollständig kompatibel mit allen gängigen Betriebssystemen, Anwendungen und Gerätetreibern. Auf einer virtuellen Maschine kann jede für den entsprechenden physischen Computer geeignete Software ausgeführt werden.
  2. Isolierung. Virtuelle Maschinen sind vollständig voneinander isoliert, als wären sie physische Computer. Virtuelle Maschinen können die physischen Ressourcen eines einzelnen Computers gemeinsam nutzen und dennoch vollständig voneinander isoliert bleiben, als wären sie separate physische Maschinen. Wenn beispielsweise vier virtuelle Maschinen auf einem physischen Server laufen und eine davon ausfällt, hat dies keinen Einfluss auf die Verfügbarkeit der verbleibenden drei Maschinen. Isolation ist ein wichtiger Grund dafür, dass Anwendungen, die in einer virtuellen Umgebung ausgeführt werden, wesentlich verfügbarer und sicherer sind als Anwendungen, die auf einem standardmäßigen, nicht virtualisierten System ausgeführt werden.
  3. Verkapselung. Virtuelle Maschinen kapseln die Computerumgebung vollständig. Eine virtuelle Maschine ist ein Softwarecontainer, der einen vollständigen Satz virtueller Hardwareressourcen sowie das Betriebssystem und alle seine Anwendungen in einem Softwarepaket bündelt oder „kapselt“. Durch die Kapselung sind virtuelle Maschinen unglaublich mobil und einfach zu verwalten. Beispielsweise kann eine virtuelle Maschine wie jede andere Programmdatei von einem Ort an einen anderen verschoben oder kopiert werden. Darüber hinaus kann die virtuelle Maschine auf jedem gängigen Speichermedium gespeichert werden: von einer kompakten USB-Flash-Speicherkarte bis hin zu Enterprise-Speichernetzwerken.
  4. Hardware-Unabhängigkeit. Virtuelle Maschinen sind völlig unabhängig von der zugrunde liegenden physischen Hardware, auf der sie ausgeführt werden. Beispielsweise können Sie für eine virtuelle Maschine mit virtuellen Komponenten (CPU, Netzwerkkarte, SCSI-Controller) Einstellungen konfigurieren, die sich völlig von den physikalischen Eigenschaften der zugrunde liegenden Hardware unterscheiden. Virtuelle Maschinen können sogar verschiedene Betriebssysteme (Windows, Linux usw.) auf demselben physischen Server ausführen. In Kombination mit den Eigenschaften Kapselung und Kompatibilität bietet die Hardwareunabhängigkeit die Möglichkeit, virtuelle Maschinen frei von einem x86-basierten Computer auf einen anderen zu verschieben, ohne Gerätetreiber, Betriebssystem oder Anwendungen zu ändern. Die Hardware-Unabhängigkeit ermöglicht es außerdem, eine Kombination völlig unterschiedlicher Betriebssysteme und Anwendungen auf einem physischen Computer auszuführen.

Schauen wir uns die wichtigsten Arten der Virtualisierung an, wie zum Beispiel:

  • Servervirtualisierung (Vollvirtualisierung und Paravirtualisierung)
  • Virtualisierung auf Betriebssystemebene,
  • Anwendungsvirtualisierung,
  • Präsentationsvirtualisierung.

Spezialisten des Unternehmens Kosmonova arbeiten täglich mit verschiedenen Virtualisierungssystemen, sowohl bei der Arbeit mit ihrer eigenen Cloud als auch bei Designarbeiten. In dieser Zeit ist es uns gelungen, mit einer beträchtlichen Anzahl von Virtualisierungssystemen zu arbeiten und die Stärken und Schwächen jedes einzelnen davon selbst zu ermitteln. In diesem Artikel haben wir die Meinungen unserer Ingenieure zu den gängigsten Virtualisierungssystemen und ihren kurzen Merkmalen gesammelt. Wenn Sie über den Aufbau einer privaten Cloud nachdenken und verschiedene Virtualisierungssysteme zur Lösung dieses Problems in Betracht ziehen, ist dieser Artikel genau das Richtige für Sie.

Lassen Sie uns zunächst herausfinden, was ein Virtualisierungssystem ist und warum es benötigt wird. Durch die Virtualisierung physischer Maschinen (Server, PCs usw.) können Sie die Leistung eines physischen Geräts auf mehrere virtuelle Maschinen verteilen. Somit können diese virtuellen Maschinen über ein eigenes Betriebssystem und eine eigene Software verfügen und sind in keiner Weise von benachbarten virtuellen Maschinen abhängig. Heutzutage gibt es viele Virtualisierungssysteme, jedes von ihnen hat seine eigenen Eigenschaften, also schauen wir uns jedes einzeln an.

VMware vSphere - das Flaggschiffprodukt von VMware, seit vielen Jahren in Folge unangefochtener Marktführer im Bereich Virtualisierung. Es verfügt über umfangreiche Funktionalität und wurde speziell für Rechenzentren entwickelt, die Cloud-Lösungen anbieten, sowie für Unternehmen, die private Clouds unterschiedlicher Größe erstellen. Es verfügt über eine durchdachte Benutzeroberfläche und eine große Menge an technischer Dokumentation. Wenn Sie wenig Erfahrung mit Virtualisierung haben, ist dieses System eine gute Wahl für Sie. Lizenziert nach der Anzahl der physischen Prozessoren in der Cloud, unabhängig von der Anzahl der Kerne. Aufgrund der umfangreichen Funktionalität und der vielen Module ist dieses System hinsichtlich der für seinen Betrieb erforderlichen Ressourcen recht anspruchsvoll.

WMware Esxi- ist ein kostenloses Analogon von VMware vSphere. Da dieser Hypervisor kostenlos ist, verfügt er über eine bescheidenere Funktionalität, reicht aber für die Umsetzung der meisten typischen Aufgaben der Virtualisierung und Verwaltung einer privaten Cloud völlig aus. Auch recht einfach zu bedienen

Hyper - V- ein Microsoft-Produkt, das ab Version 2008 als Ergänzung zum Betriebssystem Windows Server entwickelt wurde. Es existiert auch als separates Produkt, nutzt jedoch für den Betrieb das Betriebssystem Windows Server. Dieser Hypervisor ist recht einfach zu konfigurieren und zu bedienen und unterstützt natürlich alle Versionen des Betriebssystems Windows für Gastmaschinen, der Hersteller übernimmt jedoch keine Garantie für den Betrieb vieler Betriebssysteme Linux. Bitte beachten Sie, dass der Hypervisor selbst unter einer kostenlosen Lizenz vertrieben wird, für den Betrieb jedoch ein kostenpflichtiges Betriebssystem Windows erforderlich ist.

OpenVZ- ein völlig kostenloses Virtualisierungssystem, das auf dem Linux-Kernel implementiert ist. Wie die meisten Linux-Systeme verfügt es über gute Produktivitäts- und Ressourcenverbrauchsindikatoren und funktioniert perfekt mit jeder Linux-Distribution als Gastbetriebssystem. Das Betriebssystem Windows wird jedoch nicht unterstützt, weshalb dieses Virtualisierungssystem nicht als universell angesehen werden kann.

KVM - Das Virtualisierungssystem basiert ebenfalls auf dem Linux-Kernel und wird unter einer kostenlosen Lizenz vertrieben. Es weist sehr gute Effizienzindikatoren hinsichtlich der Menge der verbrauchten Ressourcen auf. Es verfügt über eine hervorragende Funktionalität und ist im Hinblick auf Gastbetriebssysteme recht universell, da es absolut alle Betriebssysteme unterstützt. Um es in Reinform zu konfigurieren und zu unterstützen, sind bestimmte Kenntnisse und Fähigkeiten im Umgang mit Unix-Systemen erforderlich. Allerdings sind viele GUIs als Add-ons zum Hypervisor verfügbar, mit unterschiedlichen Lizenzierungsoptionen, die von kostenlosen bis hin zu kostenpflichtigen Versionen reichen.

Xen- ein von der Universität Cambridge mit Open-Source-Code entwickeltes Produkt. Die meisten Komponenten werden außerhalb des Hypervisors verschoben, wodurch gute Effizienzindikatoren erzielt werden können. Neben der Hardware-Virtualisierung wird auch der Paravirtualisierungsmodus unterstützt. Xen unterstützt die Ausführung der meisten vorhandenen Betriebssysteme.

LXC- ein relativ neues Virtualisierungssystem auf Betriebssystemebene, das es Ihnen ermöglicht, mehrere Instanzen des Linux-Betriebssystems auf einer physischen Maschine auszuführen. Die Besonderheit dieses Systems besteht darin, dass es nicht mit virtuellen Servern arbeitet, sondern mit Anwendungen, die einen gemeinsamen Betriebssystemkernel verwenden, die gleichzeitig voneinander isoliert sind, was die höchste Effizienz beim Ressourcenverbrauch ermöglicht.

Virtualisierungssystem

Unterstütztes Betriebssystem

Vorteile

Mängel

Lizenz

VMware vSphere

Win/Lin

Einfach zu verwenden. Große Funktionalität

Ressourcenverbrauch.

Bezahlt. Nach Anzahl der Prozessoren

WMware Esxi

Win/Lin

Einfach zu verwenden

Nicht die umfassendste Funktionalität.

Frei

OpenVZ

Linux

Effizienter Ressourcenverbrauch

Nur Linux unterstützt

Frei

Win/Lin

Effizienter Ressourcenverbrauch. Unterstützt alle Betriebssysteme

Frei

Hyper-V

Windows

Einfach zu verwenden

Es wird nur Windows unterstützt. Ressourcenverbrauch

Frei. Läuft auf einem kostenpflichtigen Betriebssystem

Win/Lin

Hohe Effizienz. Open Source.

Erfordert Kenntnisse über Unix-Systeme zur Konfiguration und Verwaltung

Frei

Linux

Hohe Effizienz

Unterstützt Windows nicht

Frei

Wir möchten Sie auch daran erinnern, dass Sie in der Kosmonov-Cloud mit minimalem Zeitaufwand eine Infrastruktur beliebiger Komplexität implementieren können, ohne in die Feinheiten des Betriebs von Virtualisierungssystemen und Hardware einzutauchen. In der Kosmonov-Cloud stehen sowohl vorgefertigte Lösungen als auch Cloud-Server zur Lösung Ihrer Geschäftsprobleme zur Verfügung.

Das Thema Virtualisierung ist sehr breit gefächert und es gibt viele Nuancen im Betrieb der aufgeführten Virtualisierungssysteme sowie viele Variationen im Hardware-Design. In diesem Artikel geben wir keine Vorteile für ein bestimmtes System an, sondern stellen deren allgemeine Eigenschaften für die Auswahl des geeigneten Systems in der Anfangsphase vor.

Die Geschichte der Virtualisierungstechnologien reicht mehr als vierzig Jahre zurück. Nach einem Siegeszug in den 70er und 80er Jahren des letzten Jahrhunderts, vor allem auf IBM-Großrechnern, geriet dieses Konzept jedoch bei der Erstellung von Unternehmensinformationssystemen in den Hintergrund. Tatsache ist, dass das eigentliche Konzept der Virtualisierung mit der Schaffung gemeinsamer Rechenzentren verbunden ist, mit der Notwendigkeit, mit einem einzigen Hardwaresatz mehrere verschiedene, logisch unabhängige Systeme zu bilden. Und seit Mitte der 80er Jahre begann in der Computerindustrie ein dezentrales Modell zur Organisation von Informationssystemen auf der Grundlage von Minicomputern und dann x86-Servern zu dominieren.

Virtualisierung für x86-Architektur

Bei den im Laufe der Zeit auftauchenden Personalcomputern bestand das Problem der Virtualisierung von Hardwareressourcen offenbar nicht per Definition, da jedem Benutzer der gesamte Computer mit seinem eigenen Betriebssystem zur Verfügung stand. Doch als die PC-Leistung zunahm und der Umfang der x86-Systeme zunahm, änderte sich die Situation schnell. Die „dialektische Spirale“ der Entwicklung nahm ihre nächste Wendung, und um die Jahrhundertwende begann ein weiterer Zyklus der Stärkung der Zentripetalkräfte zur Konzentration der Rechenressourcen. Zu Beginn dieses Jahrzehnts begann vor dem Hintergrund des wachsenden Interesses von Unternehmen an der Steigerung der Effizienz ihrer Computerressourcen eine neue Etappe in der Entwicklung von Virtualisierungstechnologien, die heute hauptsächlich mit dem Einsatz der x86-Architektur verbunden ist.

Es sollte sofort betont werden, dass es sich bei den Ideen der x86-Virtualisierung zwar theoretisch um nichts bisher Unbekanntes zu handeln schien, es sich jedoch im Vergleich zur Situation vor 20 Jahren um ein qualitativ neues Phänomen für die IT-Branche handelte. Tatsache ist, dass in der Hardware- und Softwarearchitektur von Großrechnern und Unix-Computern Virtualisierungsprobleme sofort auf einer grundlegenden Ebene gelöst wurden. Das x86-System wurde nicht mit der Erwartung entwickelt, im Rechenzentrumsmodus zu arbeiten, und seine Entwicklung in Richtung Virtualisierung ist ein recht komplexer Evolutionsprozess mit vielen verschiedenen Optionen zur Lösung des Problems.

Ein weiterer und vielleicht noch wichtigerer Punkt sind die grundlegend unterschiedlichen Geschäftsmodelle für die Entwicklung von Mainframes und x86. Im ersten Fall handelt es sich tatsächlich um einen Single-Vendor-Software- und Hardware-Komplex zur Unterstützung eines im Allgemeinen eher begrenzten Spektrums an Anwendungssoftware für einen nicht sehr breiten Kreis großer Kunden. Im zweiten Fall haben wir es mit einer dezentralen Gemeinschaft von Geräteherstellern, Basissoftwareanbietern und einer riesigen Armee von Anwendungssoftwareentwicklern zu tun.

Der Einsatz von x86-Virtualisierungstools begann Ende der 90er Jahre bei Workstations: Gleichzeitig mit der Zunahme der Anzahl der Client-Betriebssystemversionen stieg die Anzahl der Personen (Softwareentwickler, technische Supportspezialisten, Softwareexperten), die mehrere gleichzeitig auf einem haben mussten Der PC wuchs ständig. Kopien verschiedener Betriebssysteme.

  • Etwas später begann der Einsatz der Virtualisierung für die Serverinfrastruktur, was vor allem mit der Lösung von Problemen bei der Konsolidierung von Rechenressourcen verbunden war. Aber hier bildeten sich sofort zwei unabhängige Richtungen: ·
  • Unterstützung für heterogene Betriebsumgebungen (einschließlich der Ausführung älterer Anwendungen). Dieser Fall tritt am häufigsten innerhalb von Unternehmensinformationssystemen auf. Technisch wird das Problem dadurch gelöst, dass auf einem Rechner mehrere virtuelle Maschinen gleichzeitig laufen, die jeweils eine Instanz des Betriebssystems beinhalten. Die Umsetzung dieses Modus erfolgt jedoch mit zwei grundsätzlich unterschiedlichen Ansätzen: Vollvirtualisierung und Paravirtualisierung; ·
  • Unterstützung für homogene Computerumgebungen, was am typischsten für das Anwendungshosting durch Dienstanbieter ist. Natürlich können Sie hier die Möglichkeit virtueller Maschinen nutzen, viel effektiver ist es jedoch, isolierte Container auf Basis eines einzigen Betriebssystemkerns zu erstellen.

Die nächste Lebensphase der x86-Virtualisierungstechnologien begann in den Jahren 2004–2006. und war mit dem Beginn ihres Masseneinsatzes in Unternehmenssystemen verbunden. Während frühere Entwickler sich hauptsächlich mit der Entwicklung von Technologien zur Ausführung virtueller Umgebungen beschäftigten, rücken nun die Aufgaben der Verwaltung dieser Lösungen und ihrer Integration in die gesamte IT-Infrastruktur des Unternehmens in den Vordergrund. Gleichzeitig stieg die Nachfrage von Privatanwendern spürbar an (waren dies in den 90er Jahren jedoch Entwickler und Tester, sprechen wir heute von Endanwendern – sowohl professionellen als auch privaten Anwendern).

Um das oben Gesagte zusammenzufassen, können wir im Allgemeinen die folgenden Hauptszenarien für den Einsatz von Virtualisierungstechnologien durch Kunden hervorheben: ·

  • Softwareentwicklung und -tests; ·
  • Modellierung des Betriebs realer Systeme an Forschungsständen; ·
  • Konsolidierung von Servern, um die Effizienz der Gerätenutzung zu steigern; ·
  • Konsolidierung von Servern zur Lösung der Probleme bei der Unterstützung älterer Anwendungen; ·
  • Demonstration und Studium neuer Software; ·
  • Bereitstellung und Aktualisierung von Anwendungssoftware im Kontext bestehender Informationssysteme; ·
  • Arbeit von Endbenutzern (hauptsächlich zu Hause) auf PCs mit heterogenen Betriebsumgebungen.

Grundlegende Softwarevirtualisierungsoptionen

Wir haben bereits zuvor gesagt, dass die Probleme bei der Entwicklung von Virtualisierungstechnologien größtenteils mit der Überwindung der übernommenen Merkmale der x86-Software- und Hardwarearchitektur zusammenhängen. Und dafür gibt es mehrere grundlegende Methoden.

Vollständige Virtualisierung (vollständige, native Virtualisierung). Es werden unveränderte Instanzen von Gastbetriebssystemen verwendet, und um den Betrieb dieser Betriebssysteme zu unterstützen, wird eine gemeinsame Emulationsebene ihrer Ausführung auf dem Host-Betriebssystem, bei dem es sich um ein reguläres Betriebssystem handelt, verwendet (Abb. 1). Diese Technologie wird insbesondere in VMware Workstation, VMware Server (ehemals GSX Server, Parallels Desktop, Parallels Server, MS Virtual PC, MS Virtual Server und Virtual Iron) verwendet. Zu den Vorteilen dieses Ansatzes gehören die relative einfache Implementierung, Vielseitigkeit und Zuverlässigkeit der Lösung; alle Verwaltungsfunktionen werden vom Host-Betriebssystem übernommen. Nachteile – hohe zusätzliche Overhead-Kosten für die verwendeten Hardware-Ressourcen, mangelnde Berücksichtigung der Funktionen des Gast-Betriebssystems, weniger Flexibilität bei der Verwendung von Hardware als nötig.

Paravirtualisierung. Der Kernel des Gastbetriebssystems wird so modifiziert, dass er einen neuen Satz von APIs enthält, über die er direkt mit der Hardware arbeiten kann, ohne dass es zu Konflikten mit anderen virtuellen Maschinen (VMs; Abb. 2) kommt. In diesem Fall ist es nicht erforderlich, ein vollwertiges Betriebssystem als Host-Software zu verwenden, dessen Funktionen in diesem Fall von einem speziellen System namens Hypervisor ausgeführt werden. Diese Option ist heute die relevanteste Richtung in der Entwicklung von Seund wird in VMware ESX Server, Xen (und Lösungen anderer Anbieter, die auf dieser Technologie basieren), Microsoft Hyper-V verwendet. Die Vorteile dieser Technologie bestehen darin, dass kein Host-Betriebssystem erforderlich ist – VMs werden praktisch auf Bare-Metal installiert und Hardwareressourcen werden effizient genutzt. Die Nachteile liegen in der Komplexität der Implementierung des Ansatzes und der Notwendigkeit, einen speziellen Betriebssystem-Hypervisor zu erstellen.

Virtualisierung auf Betriebssystem-Kernel-Ebene (Virtualisierung auf Betriebssystemebene). Bei dieser Option wird ein einzelner Host-Betriebssystemkern verwendet, um unabhängige parallele Betriebsumgebungen zu erstellen (Abb. 3). Für Gastsoftware wird lediglich eine eigene Netzwerk- und Hardwareumgebung erstellt. Diese Option wird in Virtuozzo (für Linux und Windows), OpenVZ (eine kostenlose Version von Virtuozzo) und Solaris Containers verwendet. Vorteile – hohe Effizienz bei der Nutzung von Hardwareressourcen, geringer technischer Aufwand, hervorragende Verwaltbarkeit, Minimierung der Kosten für den Kauf von Lizenzen. Nachteile – Implementierung nur homogener Computerumgebungen.

Anwendungsvirtualisierung impliziert die Verwendung eines Modells der starken Isolierung von Anwendungsprogrammen mit kontrollierter Interaktion mit dem Betriebssystem, bei dem jede Anwendungsinstanz und alle ihre Hauptkomponenten virtualisiert werden: Dateien (einschließlich Systemkomponenten), Registrierung, Schriftarten, INI-Dateien, COM-Objekte , Dienstleistungen (Abb. 4 ). Die Anwendung wird ohne den Installationsvorgang im herkömmlichen Sinne ausgeführt und kann direkt von externen Medien (z. B. von Flash-Karten oder von Netzwerkordnern) gestartet werden. Aus Sicht einer IT-Abteilung hat dieser Ansatz offensichtliche Vorteile: Er beschleunigt die Bereitstellung und Verwaltung von Desktop-Systemen und minimiert nicht nur Konflikte zwischen Anwendungen, sondern auch die Notwendigkeit von Anwendungskompatibilitätstests. Tatsächlich wird diese spezielle Virtualisierungsoption in Sun Java Virtual Machine, Microsoft Application Virtualization (früher Softgrid genannt), Thinstall (wurde Anfang 2008 Teil von VMware) und Symantec/Altiris verwendet.

Fragen zur Auswahl einer Virtualisierungslösung

Zu sagen: „Produkt A ist eine Lösung für die Softwarevirtualisierung“ reicht überhaupt nicht aus, um die tatsächlichen Fähigkeiten von „A“ zu verstehen. Dazu müssen Sie sich die verschiedenen Eigenschaften der angebotenen Produkte genauer ansehen.

Die erste davon betrifft die Unterstützung verschiedener Betriebssysteme als Host- und Gastsysteme sowie die Möglichkeit, Anwendungen in virtuellen Umgebungen auszuführen. Bei der Auswahl eines Virtualisierungsprodukts muss der Kunde auch eine Vielzahl technischer Merkmale berücksichtigen: das Ausmaß des Anwendungsleistungsverlusts infolge der Einführung einer neuen Betriebsschicht, den Bedarf an zusätzlichen Rechenressourcen für den Betrieb des Virtualisierungsmechanismus, und die Palette der unterstützten Peripheriegeräte.

Neben der Schaffung von Mechanismen zur Ausführung virtueller Umgebungen rücken heute Aufgaben des Systemmanagements in den Vordergrund: physische Umgebungen in virtuelle umwandeln und umgekehrt, ein System im Falle eines Ausfalls wiederherstellen, virtuelle Umgebungen von einem Computer auf einen anderen übertragen, bereitstellen und verwalten Software, Gewährleistung der Sicherheit usw.

Schließlich sind die Kostenindikatoren der eingesetzten Virtualisierungsinfrastruktur wichtig. Es ist zu bedenken, dass hier in der Kostenstruktur möglicherweise nicht so sehr der Preis der Virtualisierungstools selbst im Vordergrund steht, sondern die Möglichkeit, beim Kauf von Lizenzen für Basisbetriebssystem- oder Geschäftsanwendungen zu sparen.

Hauptakteure auf dem x86-Virtualisierungsmarkt

Der Markt für Virtualisierungstools begann vor weniger als zehn Jahren Gestalt anzunehmen und hat heute eine ganz bestimmte Gestalt angenommen.

VMware wurde 1998 gegründet und ist einer der Pioniere beim Einsatz von Virtualisierungstechnologien für x86-Computer und nimmt heute eine führende Position auf diesem Markt ein (nach einigen Schätzungen beträgt sein Anteil 70-80 %). Seit 2004 ist es eine Tochtergesellschaft der ECM Corporation, agiert jedoch unter eigener Marke eigenständig am Markt. Laut EMC wuchs die Belegschaft von VMware in dieser Zeit von 300 auf 3.000 Personen und der Umsatz verdoppelte sich jährlich. Offiziell bekannt gegebenen Informationen zufolge beläuft sich der Jahresumsatz des Unternehmens (aus dem Verkauf von Virtualisierungsprodukten und damit verbundenen Dienstleistungen) mittlerweile auf fast 1,5 Milliarden US-Dollar. Diese Daten spiegeln gut den allgemeinen Anstieg der Marktnachfrage nach Virtualisierungstools wider.

Heute bietet WMware mit VMware Virtual Infrastructure 3 eine umfassende Virtualisierungsplattform der dritten Generation an, die Tools sowohl für den einzelnen PC als auch für das Rechenzentrum umfasst. Die Schlüsselkomponente dieses Softwarepakets ist der VMware ESX Server-Hypervisor. Unternehmen können außerdem das kostenlose Produkt VMware Virtual Server nutzen, das für Pilotprojekte zur Verfügung steht.

Parallels ist der neue (Stand Januar 2008) Name von SWsoft, das ebenfalls ein Veteran auf dem Markt für Virtualisierungstechnologie ist. Sein Hauptprodukt ist Parallels Virtuozzo Containers, eine Virtualisierungslösung auf Betriebssystemebene, mit der Sie mehrere isolierte Container (virtuelle Server) auf einem einzigen Windows- oder Linux-Server ausführen können. Zur Automatisierung der Geschäftsprozesse von Hosting-Anbietern wird das Tool Parallels Plesk Control Panel angeboten. In den letzten Jahren hat das Unternehmen aktiv Desktop-Virtualisierungstools entwickelt – Parallels Workstation (für Windows und Linux) und Parallels Desktop für Mac (für Mac OS auf x86-Computern). Im Jahr 2008 wurde die Veröffentlichung eines neuen Produkts angekündigt – Parallels Server, das den Servermechanismus virtueller Maschinen unter verschiedenen Betriebssystemen (Windows, Linux, Mac OS) unterstützt.

Microsoft stieg 2003 mit der Übernahme von Connectix in den Virtualisierungsmarkt ein und brachte sein erstes Produkt, Virtual PC, für Desktop-PCs auf den Markt. Seitdem hat man das Angebotsspektrum in diesem Bereich kontinuierlich erweitert und ist heute nahezu abgeschlossen mit der Bildung einer Virtualisierungsplattform, die folgende Komponenten umfasst. ·

  • Servervirtualisierung. Hier werden zwei unterschiedliche Technologieansätze angeboten: die Verwendung von Microsoft Virtual Server 2005 und die neue Hyper-V-Serverlösung (derzeit in der Betaphase). ·
  • Virtualisierung für PC. Durchgeführt mit dem kostenlosen Produkt Microsoft Vitrual PC 2007. ·
  • Anwendungsvirtualisierung. Für solche Aufgaben wird das Microsoft SoftGrid Application Virtualization-System (früher SoftGrid genannt) vorgeschlagen. ·
  • Präsentationsvirtualisierung. Es wird mithilfe der Microsoft Windows Server-Terminaldienste implementiert und ist im Allgemeinen ein seit langem bekannter Terminalzugriffsmodus. ·
  • Integriertes Management virtueller Systeme. Der Ende letzten Jahres veröffentlichte System Center Virtual Machine Manager spielt eine Schlüsselrolle bei der Lösung dieser Probleme.

Sun Microsystems bietet eine Reihe mehrstufiger Technologien: traditionelles Betriebssystem, Ressourcenmanagement, Betriebssystemvirtualisierung, virtuelle Maschinen und Festplattenpartitionen. Diese Sequenz basiert auf dem Prinzip, den Grad der Anwendungsisolation zu erhöhen (aber gleichzeitig die Flexibilität der Lösung zu verringern). Alle Sun-Virtualisierungstechnologien sind im Solaris-Betriebssystem implementiert. Hardwareseitig gibt es überall Unterstützung für die x64-Architektur, allerdings sind UltraSPARC-basierte Systeme zunächst besser für diese Technologien geeignet. Andere Betriebssysteme, darunter Windows und Linux, können als virtuelle Maschinen verwendet werden.

Citrix Systems Corporation ist ein anerkannter Marktführer für Infrastrukturen für den Remote-Anwendungszugriff. Durch den Kauf von XenSource, dem Entwickler von Xen, einer der führenden Betriebssystem-Virtualisierungstechnologien, im Jahr 2007 für 500 Millionen US-Dollar hat das Unternehmen seine Position im Bereich der Virtualisierungstechnologien deutlich gestärkt. Kurz vor diesem Deal stellte XenSource eine neue Version seines Flaggschiffprodukts XenEnterprise auf Basis des Xen-4-Kernels vor. Die Übernahme sorgte für einige Verwirrung in der IT-Branche, da Xen ein Open-Source-Projekt ist und seine Technologien kommerziellen Produkten von Anbietern wie z , Sun, Red Hat und Novell. Es besteht immer noch eine gewisse Unsicherheit über die Position von Citrix bei der zukünftigen Förderung von Xen, auch in Bezug auf das Marketing. Das erste auf Xen-Technologie basierende Produkt des Unternehmens, Citrix XenDesktop (zur PC-Virtualisierung), soll im ersten Halbjahr 2008 auf den Markt kommen. Anschließend wird voraussichtlich eine aktualisierte Version von XenServer eingeführt.

Im November 2007 kündigte Oracle seinen Einstieg in den Virtualisierungsmarkt an und führte eine Software namens Oracle VM zur Virtualisierung von Serveranwendungen dieses Unternehmens und anderer Hersteller ein. Die neue Lösung umfasst eine Open-Source-Serversoftwarekomponente und eine integrierte browserbasierte Verwaltungskonsole zum Erstellen und Verwalten virtueller Serverpools, die auf Systemen basierend auf x86- und x86-64-Architekturen ausgeführt werden. Experten sahen darin die Zurückhaltung von Oracle, Benutzer anderer Hersteller zu unterstützen, die ihre Produkte in virtuellen Umgebungen ausführen. Es ist bekannt, dass die Oracle VM-Lösung auf Basis des Xen-Hypervisors implementiert wird. Die Einzigartigkeit dieses Schritts von Oracle liegt in der Tatsache, dass dies das erste Mal in der Geschichte der Computervirtualisierung zu sein scheint, dass die Technologie tatsächlich nicht auf die Betriebsumgebung, sondern auf bestimmte Anwendungen zugeschnitten ist.

Der Virtualisierungsmarkt aus der Sicht von IDC

Der Markt für x86-Architekturvirtualisierung befindet sich in einer Phase rasanter Entwicklung und seine Struktur ist noch nicht festgelegt. Dies erschwert die Beurteilung seiner absoluten Indikatoren und die vergleichende Analyse der hier vorgestellten Produkte. Diese These wird durch den im November letzten Jahres veröffentlichten IDC-Bericht „Enterprise Virtualization Software: Customer Needs and Strategies“ bestätigt. Von größtem Interesse in diesem Dokument ist die Option zur Strukturierung von Servervirtualisierungssoftware, in der IDC vier Hauptkomponenten identifiziert (Abb. 5).

Virtualisierungsplattform. Es basiert auf einem Hypervisor sowie grundlegenden Ressourcenverwaltungselementen und einer An(API). Zu den wichtigsten Merkmalen zählen die Anzahl der Sockets und Prozessoren, die von einer virtuellen Maschine unterstützt werden, die Anzahl der unter einer Lizenz verfügbaren Gäste sowie die Bandbreite der unterstützten Betriebssysteme.

Verwalten virtueller Maschinen. Enthält Tools zur Verwaltung von Host-Software und virtuellen Servern. Hier zeigen sich heute die auffälligsten Unterschiede im Angebot der Anbieter, sowohl in der Zusammensetzung der Funktionen als auch in der Skalierung. IDC ist jedoch zuversichtlich, dass sich die Fähigkeiten der Tools der führenden Anbieter schnell angleichen werden und physische und virtuelle Server über eine einzige Schnittstelle verwaltet werden.

Infrastruktur virtueller Maschinen. Eine breite Palette zusätzlicher Tools, die Aufgaben wie Softwaremigration, automatischer Neustart, Lastausgleich virtueller Maschinen usw. ausführen. Laut IDC sind es die Fähigkeiten dieser Software, die die Lieferantenauswahl der Kunden entscheidend beeinflussen werden, und das ist auch der Fall Auf der Ebene dieser Tools wird der Kampf zwischen den Anbietern ausgetragen.

Virtualisierungslösungen. Eine Reihe von Produkten, die es ermöglichen, die oben genannten Kerntechnologien mit bestimmten Arten von Anwendungen und Geschäftsprozessen zu verknüpfen.

Im Rahmen einer allgemeinen Analyse der Marktsituation identifiziert IDC drei Teilnehmerlager. Die erste Kluft besteht zwischen denen, die auf der obersten Betriebssystemebene (SWsoft und Sun) und auf der untersten Betriebssystemebene (VMware, XenSource, Virtual Iron, Red Hat, Microsoft, Novell) virtualisieren. Mit der ersten Option können Sie die effizientesten Lösungen im Hinblick auf Leistung und zusätzliche Ressourcenkosten erstellen, jedoch nur homogene Computerumgebungen implementieren. Die zweite ermöglicht es, mehrere Betriebssysteme unterschiedlichen Typs auf einem Computer auszuführen. Innerhalb der zweiten Gruppe zieht IDC eine weitere Grenze zwischen Anbietern eigenständiger Virtualisierungsprodukte (VMware, XenSource, Virtual Iron) und Herstellern von Betriebssystemen, die Virtualisierungstools enthalten (Microsoft, Red Hat, Novell).

Aus unserer Sicht ist die von IDC vorgeschlagene Marktstrukturierung nicht sehr zutreffend. Erstens weist IDC aus irgendeinem Grund nicht auf das Vorhandensein von zwei grundlegend unterschiedlichen Arten virtueller Maschinen hin – die ein Host-Betriebssystem (VMware, Virtual Iron, Microsoft) und einen Hypervisor (VMware, XenSource, Red Hat, Microsoft, Novell) verwenden. Zweitens, wenn wir über den Hypervisor sprechen, ist es nützlich, zwischen denen zu unterscheiden, die ihre eigenen Kerntechnologien verwenden (VMware, XenSource, Virtual Iron, Microsoft) und denen, die andere lizenzieren (Red Hat, Novell). Und schließlich muss gesagt werden, dass SWsoft und Sun nicht nur Virtualisierungstechnologien auf Betriebssystemebene in ihrem Arsenal haben, sondern auch Tools zur Unterstützung virtueller Maschinen.

Informationstechnologien haben viele nützliche und interessante Dinge in das Leben der modernen Gesellschaft gebracht. Jeden Tag entwickeln erfinderische und talentierte Menschen immer mehr neue Anwendungen für Computer als effektive Werkzeuge für Produktion, Unterhaltung und Zusammenarbeit. Viele verschiedene Soft- und Hardware, Technologien und Dienste ermöglichen es uns, die tägliche Arbeit mit Informationen komfortabler und schneller zu gestalten. Es wird immer schwieriger, aus der Flut an Technologien, die auf uns zukommen, wirklich nützliche Technologien herauszusuchen und zu lernen, sie mit größtmöglichem Nutzen zu nutzen. In diesem Artikel geht es um eine weitere unglaublich vielversprechende und wirklich effektive Technologie, die schnell in die Welt der Computer Einzug hält – die Virtualisierungstechnologie.

Im weitesten Sinne ist das Konzept der Virtualisierung das Verbergen der realen Implementierung eines Prozesses oder Objekts vor seiner wahren Darstellung für denjenigen, der es nutzt. Ein Virtualisierungsprodukt ist etwas, das bequem zu verwenden ist und tatsächlich eine komplexere oder völlig andere Struktur aufweist, als die, die man bei der Arbeit mit dem Objekt wahrnimmt. Mit anderen Worten: Es gibt eine Trennung zwischen der Darstellung und der Umsetzung von etwas. In der Computertechnologie bezieht sich der Begriff „Virtualisierung“ üblicherweise auf die Abstraktion von Rechenressourcen und die Bereitstellung eines Systems für den Benutzer, das seine eigene Implementierung „kapselt“ (versteckt). Vereinfacht ausgedrückt arbeitet der Benutzer mit einer bequemen Darstellung des Objekts, und es spielt für ihn keine Rolle, wie das Objekt in der Realität aufgebaut ist.

Der Begriff „Virtualisierung“ selbst tauchte in der Computertechnologie in den sechziger Jahren des letzten Jahrhunderts zusammen mit dem Begriff „virtuelle Maschine“ auf, der ein Produkt der Virtualisierung einer Software- und Hardwareplattform bedeutet. Damals war Virtualisierung eher eine interessante technische Entdeckung als eine vielversprechende Technologie. Entwicklungen im Bereich der Virtualisierung wurden in den sechziger und siebziger Jahren ausschließlich von IBM durchgeführt. Mit dem Aufkommen des experimentellen Paging-Systems auf dem IBM M44/44X-Computer wurde erstmals der Begriff „virtuelle Maschine“ verwendet und ersetzte den früheren Begriff „Pseudomaschine“. Dann könnten auf den Mainframes der IBM System 360/370-Serie virtuelle Maschinen verwendet werden, um frühere Versionen von Betriebssystemen beizubehalten. Bis Ende der neunziger Jahre wagte niemand außer IBM, diese ursprüngliche Technologie ernsthaft zu nutzen. Doch in den Neunzigerjahren zeichneten sich die Zukunftsaussichten des Virtualisierungsansatzes ab: Mit zunehmender Hardwarekapazität, sowohl bei Personalcomputern als auch bei Serverlösungen, wird es bald möglich sein, mehrere virtuelle Maschinen auf einer physischen Plattform zu nutzen.

1997 veröffentlichte Connectix die erste Version von Virtual PC für die Macintosh-Plattform und 1998 patentierte VMware seine Virtualisierungstechniken. Anschließend wurde Connectix von Microsoft und VMware von EMC übernommen, und beide Unternehmen sind nun die beiden wichtigsten potenziellen Konkurrenten auf dem Markt für Virtualisierungstechnologie in der Zukunft. Potenzial – denn mittlerweile ist VMware unangefochtener Marktführer, Microsoft hat aber wie immer ein Ass im Ärmel.

Seit ihrer Einführung haben die Begriffe „Virtualisierung“ und „virtuelle Maschine“ viele verschiedene Bedeutungen erhalten und werden in unterschiedlichen Kontexten verwendet. Versuchen wir zu verstehen, was Virtualisierung wirklich ist.

Der Begriff der Virtualisierung lässt sich in zwei grundsätzlich unterschiedliche Kategorien einteilen:

  • Plattformvirtualisierung
    Das Produkt dieser Art der Virtualisierung sind virtuelle Maschinen – bestimmte Software-Abstraktionen, die auf der Plattform realer Hardware- und Softwaresysteme laufen.
  • Ressourcenvirtualisierung
    Diese Art der Virtualisierung zielt darauf ab, die Darstellung von Hardwareressourcen für den Benutzer zu kombinieren oder zu vereinfachen und bestimmte Benutzerabstraktionen von Geräten, Namensräumen, Netzwerken usw. zu erhalten.

Plattformvirtualisierung

Unter Plattformvirtualisierung versteht man die Erstellung von Softwaresystemen auf Basis bestehender Hardware- und Softwaresysteme, abhängig oder unabhängig von diesen. Das System, das die Hardwareressourcen und Software bereitstellt, wird Host genannt, und die Systeme, die es simuliert, werden Gäste genannt. Damit Gastsysteme stabil auf der Hostsystemplattform funktionieren, ist es notwendig, dass die Host-Software und -Hardware ausreichend zuverlässig ist und über die erforderlichen Schnittstellen für den Zugriff auf seine Ressourcen verfügt. Es gibt verschiedene Arten der Plattformvirtualisierung, von denen jede ihre eigene Herangehensweise an das Konzept der „Virtualisierung“ hat. Die Arten der Plattformvirtualisierung hängen davon ab, wie vollständig die Hardware simuliert wird. Es besteht immer noch kein Konsens über die Virtualisierungsbegriffe, daher können einige der unten aufgeführten Virtualisierungsarten von den Angaben anderer Quellen abweichen.

Arten der Plattformvirtualisierung:

  1. Vollständige Emulation (Simulation).

    Bei dieser Art der Virtualisierung virtualisiert die virtuelle Maschine die gesamte Hardware vollständig, während das Gastbetriebssystem unverändert bleibt. Mit diesem Ansatz können Sie verschiedene Hardwarearchitekturen emulieren. Beispielsweise können Sie virtuelle Maschinen mit Gästen für x86-Prozessoren auf Plattformen mit anderen Architekturen (z. B. auf Sun RISC-Servern) ausführen. Lange Zeit wurde diese Art der Virtualisierung genutzt, um Software für neue Prozessoren zu entwickeln, noch bevor diese physisch verfügbar waren. Solche Emulatoren werden auch zum Low-Level-Debugging von Betriebssystemen verwendet. Der Hauptnachteil dieses Ansatzes besteht darin, dass die emulierte Hardware die Leistung des Gastsystems sehr, sehr stark verlangsamt, was die Arbeit damit sehr umständlich macht. Daher wird dieser Ansatz außer für die Entwicklung von Systemsoftware sowie für Bildungszwecke verwendet wird selten verwendet.

    Beispiele für Produkte zum Erstellen von Emulatoren: Bochs, PearPC, QEMU (ohne Beschleunigung), Hercules Emulator.

  2. Teilweise Emulation (native Virtualisierung).

    In diesem Fall virtualisiert die virtuelle Maschine nur die erforderliche Menge an Hardware, sodass sie isoliert ausgeführt werden kann. Mit diesem Ansatz können Sie Gastbetriebssysteme ausführen, die nur für dieselbe Architektur wie der Host konzipiert sind. Auf diese Weise können mehrere Gastinstanzen gleichzeitig ausgeführt werden. Diese Art der Virtualisierung kann die Leistung von Gastsystemen im Vergleich zur vollständigen Emulation deutlich steigern und ist heute weit verbreitet. Um die Leistung zu steigern, verwenden Virtualisierungsplattformen, die diesen Ansatz verwenden, außerdem eine spezielle „Schicht“ zwischen dem Gastbetriebssystem und der Hardware (Hypervisor), die es dem Gastsystem ermöglicht, direkt auf Hardwareressourcen zuzugreifen. Der Hypervisor, auch Virtual Machine Monitor genannt, ist eines der Schlüsselkonzepte in der Welt der Virtualisierung. Durch den Einsatz eines Hypervisors, der eine Verbindung zwischen Gastsystemen und Hardware darstellt, wird die Leistung der Plattform deutlich gesteigert und nähert sich der Leistung der physischen Plattform an.

    Zu den Nachteilen dieser Art der Virtualisierung gehört die Abhängigkeit virtueller Maschinen von der Architektur der Hardwareplattform.

    Beispiele für native Virtualisierungsprodukte: VMware Workstation, VMware Server, VMware ESX Server, Virtual Iron, Virtual PC, VirtualBox, Parallels Desktop und andere.

  3. Teilvirtualisierung sowie „Adressraumvirtualisierung“.

    Bei diesem Ansatz simuliert die virtuelle Maschine mehrere Instanzen der Hardwareumgebung (aber nicht alle), insbesondere den Adressraum. Diese Art der Virtualisierung ermöglicht die gemeinsame Nutzung von Ressourcen und die Isolierung von Prozessen, ermöglicht jedoch nicht die Trennung von Instanzen von Gastbetriebssystemen. Streng genommen werden bei dieser Art der Virtualisierung virtuelle Maschinen nicht vom Benutzer erstellt, sondern einige Prozesse werden auf Betriebssystemebene isoliert. Derzeit verwenden viele der bekannten Betriebssysteme diesen Ansatz. Ein Beispiel ist die Verwendung von UML (User-mode Linux), bei dem der „Gast“-Kernel im Benutzerbereich des Basiskernels (in seinem Kontext) läuft.

  4. Paravirtualisierung.

    Bei der Paravirtualisierung ist keine Simulation der Hardware erforderlich, sondern (oder zusätzlich) wird eine spezielle An(API) zur Interaktion mit dem Gastbetriebssystem verwendet. Dieser Ansatz erfordert eine Änderung des Gastsystemcodes, was aus Sicht der Open-Source-Community nicht so kritisch ist. Auch Systeme zur Paravirtualisierung verfügen über einen eigenen Hypervisor, API-Aufrufe an das Gastsystem werden „Hypercalls“ genannt. Viele bezweifeln die Aussichten dieses Virtualisierungsansatzes, da derzeit alle Entscheidungen der Hardwarehersteller zur Virtualisierung auf Systeme mit nativer Virtualisierung abzielen und Paravirtualisierungsunterstützung von Betriebssystemherstellern eingeholt werden muss, die wenig Vertrauen in die Fähigkeiten des Tools haben Sie bieten an. Derzeit gehören zu den Paravirtualisierungsanbietern XenSource und Virtual Iron, die behaupten, dass Paravirtualisierung schneller sei.

  5. Virtualisierung auf Betriebssystemebene.

    Der Kern dieser Art der Virtualisierung besteht in der Virtualisierung eines physischen Servers auf Betriebssystemebene, um mehrere sichere virtualisierte Server auf einem physischen Server zu erstellen. Das Gastsystem teilt sich in diesem Fall die Nutzung eines Kernels des Host-Betriebssystems mit anderen Gastsystemen. Eine virtuelle Maschine ist eine Umgebung für Anwendungen, die isoliert ausgeführt werden. Diese Art der Virtualisierung wird bei der Organisation von Hosting-Systemen verwendet, wenn es erforderlich ist, mehrere virtuelle Client-Server innerhalb einer Kernel-Instanz zu unterstützen.

    Beispiele für Virtualisierung auf Betriebssystemebene: Linux-VServer, Virtuozzo, OpenVZ, Solaris-Container und FreeBSD-Jails.

  6. Virtualisierung der Anwendungsschicht.

    Diese Art der Virtualisierung ist nicht wie alle anderen: Wenn in früheren Fällen virtuelle Umgebungen oder virtuelle Maschinen erstellt wurden, die zur Isolierung von Anwendungen verwendet werden, wird in diesem Fall die Anwendung selbst in einem Container mit den für ihren Betrieb erforderlichen Elementen platziert: der Registrierung Dateien, Konfigurationsdateien, Benutzer- und Systemobjekte. Das Ergebnis ist eine Anwendung, die keine Installation auf einer ähnlichen Plattform erfordert. Wenn eine solche Anwendung auf eine andere Maschine übertragen und gestartet wird, löst die für das Programm erstellte virtuelle Umgebung Konflikte zwischen ihr und dem Betriebssystem sowie anderen Anwendungen. Diese Methode der Virtualisierung ähnelt dem Verhalten von Interpretern verschiedener Programmiersprachen (nicht umsonst fällt auch der Interpreter, die Java Virtual Machine (JVM), in diese Kategorie).

    Beispiele für diesen Ansatz sind: Thinstall, Altiris, Trigence, Softricity.

Ressourcenvirtualisierung

Bei der Beschreibung der Plattformvirtualisierung haben wir das Konzept der Virtualisierung im engeren Sinne betrachtet und es hauptsächlich auf den Prozess der Erstellung virtueller Maschinen angewendet. Wenn wir Virtualisierung jedoch im weitesten Sinne betrachten, können wir zum Konzept der Ressourcenvirtualisierung kommen, das Ansätze zur Erstellung virtueller Systeme verallgemeinert. Mit der Ressourcenvirtualisierung können Sie die Verwaltung von Ressourcengruppen wie Netzwerken, Datenspeichern und Namespaces konzentrieren, abstrahieren und vereinfachen.

Arten der Ressourcenvirtualisierung:

  1. Kombination, Aggregation und Konzentration von Komponenten.

    Bei dieser Art der Ressourcenvirtualisierung handelt es sich um die Organisation mehrerer physischer oder logischer Objekte in Ressourcenpools (Gruppen), die dem Benutzer praktische Schnittstellen bieten. Beispiele für diese Art der Virtualisierung:

    • Multiprozessorsysteme, die uns als ein leistungsfähiges System erscheinen,
    • RAID-Arrays und Volume-Management-Tools, die mehrere physische Festplatten zu einer logischen Festplatte kombinieren,
    • Virtualisierung von Speichersystemen, die beim Aufbau von SAN-Speichernetzwerken (Storage Area Network) verwendet werden,
    • Virtuelle private Netzwerke (VPN) und Netzwerkadressübersetzung (NAT), die die Erstellung virtueller Räume von Netzwerkadressen und -namen ermöglichen.
  2. Computerclustering und verteiltes Rechnen (Grid Computing).

    Bei dieser Art der Virtualisierung handelt es sich um Techniken, mit denen viele einzelne Computer zu globalen Systemen (Metacomputern) zusammengefasst werden, die gemeinsam ein gemeinsames Problem lösen.

  3. Partitionierung.

    Bei der Aufteilung von Ressourcen im Virtualisierungsprozess wird eine große Ressource in mehrere Objekte desselben Typs aufgeteilt, die für die Verwendung geeignet sind. In Speichernetzwerken wird dies als Ressourcenzonierung bezeichnet.

  4. Verkapselung.

    Viele Menschen kennen dieses Wort als ein Objekt, das seine Verwirklichung in sich verbirgt. In Bezug auf die Virtualisierung können wir sagen, dass es sich hierbei um den Prozess der Erstellung eines Systems handelt, das dem Benutzer eine komfortable Schnittstelle zum Arbeiten damit bietet und die Details der Komplexität seiner Implementierung verbirgt. Beispielsweise spiegelt sich die Verwendung des Caches durch die CPU zur Beschleunigung von Berechnungen nicht in ihren externen Schnittstellen wider.

Ressourcenvirtualisierung hat im Gegensatz zur Plattformvirtualisierung eine umfassendere und vagere Bedeutung und stellt viele verschiedene Ansätze dar, die darauf abzielen, die Benutzererfahrung von Systemen als Ganzes zu verbessern. Daher werden wir uns weiterhin hauptsächlich auf das Konzept der Plattformvirtualisierung verlassen, da die mit diesem Konzept verbundenen Technologien derzeit die dynamischsten und effektivsten sind.

Wo wird Virtualisierung eingesetzt?

Die Betriebssystemvirtualisierung hat in den letzten drei bis vier Jahren sowohl technologisch als auch marketingtechnisch große Fortschritte gemacht. Einerseits ist die Nutzung von Virtualisierungsprodukten deutlich einfacher geworden, sie sind zuverlässiger und funktionaler geworden und andererseits wurden viele neue interessante Anwendungen für virtuelle Maschinen gefunden. Der Anwendungsbereich der Virtualisierung kann als „der Ort, an dem sich Computer befinden“ definiert werden, derzeit sind jedoch folgende Einsatzmöglichkeiten von Virtualisierungsprodukten erkennbar:

  1. Serverkonsolidierung.

    Derzeit verursachen Anwendungen, die auf Servern in der IT-Infrastruktur von Unternehmen laufen, eine geringe Belastung der Hardwareressourcen des Servers (durchschnittlich 5-15 Prozent). Durch die Virtualisierung können Sie von diesen physischen Servern auf virtuelle Server migrieren und sie alle auf einem physischen Server unterbringen, wodurch sich die Auslastung auf 60 bis 80 Prozent erhöht und dadurch die Auslastung der Geräte erhöht wird, wodurch Sie erheblich Geräte, Wartung und Strom einsparen können.

  2. Anwendungsentwicklung und -tests.

    Viele Virtualisierungsprodukte ermöglichen die gleichzeitige Ausführung mehrerer verschiedener Betriebssysteme, sodass Entwickler und Softwaretester ihre Anwendungen auf verschiedenen Plattformen und Konfigurationen testen können. Mit praktischen Tools zum Erstellen von „Schnappschüssen“ des aktuellen Systemzustands mit einem Mausklick und der einfachen Wiederherstellung aus diesem Zustand können Sie außerdem Testumgebungen für verschiedene Konfigurationen erstellen, was die Geschwindigkeit und Qualität der Entwicklung erheblich erhöht.

  3. Geschäftliche Nutzung.

    Dieser Anwendungsfall für virtuelle Maschinen ist der umfangreichste und kreativste. Es umfasst alles, was im täglichen Umgang mit IT-Ressourcen im Unternehmen benötigt wird. Basierend auf virtuellen Maschinen können Sie beispielsweise problemlos Sicherungskopien von Workstations und Servern erstellen (durch einfaches Kopieren eines Ordners), Systeme erstellen, die eine minimale Wiederherstellungszeit nach Ausfällen bieten usw. Diese Gruppe von Anwendungsfällen umfasst alle Geschäftslösungen, die verwendet werden die grundlegenden Vorteile virtueller Maschinen.

  4. Nutzung virtueller Arbeitsplätze.

    Mit dem Aufkommen der Ära der virtuellen Maschinen wird es sinnlos sein, sich einen Arbeitsplatz mit Hardware-Anbindung zu schaffen. Sobald Sie nun eine virtuelle Maschine mit Ihrer Arbeits- oder Heimumgebung erstellt haben, können Sie diese auf jedem anderen Computer verwenden. Sie können auch vorgefertigte Vorlagen für virtuelle Maschinen (Virtual Appliances) verwenden, die eine bestimmte Aufgabe lösen (z. B. einen Anwendungsserver). Das Konzept, virtuelle Workstations auf diese Weise zu nutzen, lässt sich auf der Basis von Hosting-Servern umsetzen, auf denen Roaming-Benutzer-Desktops laufen (ähnlich wie bei Mainframes). Zukünftig kann der Nutzer diese Desktops mitnehmen, ohne die Daten mit dem Laptop zu synchronisieren. Dieser Anwendungsfall bietet auch die Möglichkeit, sichere Benutzerarbeitsplätze zu erstellen, die beispielsweise verwendet werden können, um einem Kunden die Fähigkeiten der Software zu demonstrieren. Sie können die Nutzungsdauer einer virtuellen Maschine begrenzen – nach dieser Zeit startet die virtuelle Maschine nicht mehr. Dieser Anwendungsfall hat großes Potenzial.

Alle aufgeführten Anwendungsfälle für virtuelle Maschinen sind im Moment eigentlich nur Anwendungsbereiche; im Laufe der Zeit werden zweifellos neue Möglichkeiten auftauchen, virtuelle Maschinen in verschiedenen IT-Branchen zum Laufen zu bringen. Aber schauen wir mal, wie es jetzt mit der Virtualisierung steht.

Wie Virtualisierung heute funktioniert

Heutzutage werden Projekte zur Virtualisierung der IT-Infrastruktur von vielen führenden Systemintegrationsunternehmen, die autorisierte Partner von Anbietern von Virtualisierungssystemen sind, aktiv umgesetzt. Bei der Virtualisierung der IT-Infrastruktur entsteht eine virtuelle Infrastruktur – eine Reihe von Systemen auf Basis virtueller Maschinen, die das Funktionieren der gesamten IT-Infrastruktur sicherstellen, die über viele neue Funktionen verfügt und gleichzeitig das bestehende Aktivitätsmuster der IT-Ressourcen beibehält. Anbieter verschiedener Virtualisierungsplattformen informieren gerne über erfolgreiche Projekte zur Implementierung virtueller Infrastruktur in großen Banken, Industrieunternehmen, Krankenhäusern und Bildungseinrichtungen. Die vielen Vorteile der Betriebssystemvirtualisierung ermöglichen es Unternehmen, Einsparungen bei Wartung, Personal, Hardware, Geschäftskontinuität, Datenreplikation und Notfallwiederherstellung zu erzielen. Außerdem ist der Virtualisierungsmarkt zunehmend mit leistungsstarken Tools für die Verwaltung, Migration und Unterstützung virtueller Infrastrukturen gefüllt, mit denen Sie die Vorteile der Virtualisierung optimal nutzen können. Schauen wir uns genau an, wie Virtualisierung es Unternehmen, die eine virtuelle Infrastruktur implementieren, ermöglicht, Geld zu sparen.

10 Gründe für den Einsatz virtueller Maschinen

  1. Hardware-Einsparungen durch Serverkonsolidierung.

    Durch die Platzierung mehrerer virtueller Produktionsserver auf einem physischen Server ergeben sich erhebliche Einsparungen beim Kauf von Hardware. Abhängig vom Anbieter der Virtualisierungsplattform stehen Optionen für den Arbeitslastausgleich, die Kontrolle der zugewiesenen Ressourcen, die Migration zwischen physischen Hosts und die Sicherung zur Verfügung. All dies führt zu echten Einsparungen bei der Wartung, Verwaltung und Verwaltung der Serverinfrastruktur.

  2. Möglichkeit zur Unterstützung älterer Betriebssysteme aus Kompatibilitätsgründen.

    Wenn eine neue Version des Betriebssystems veröffentlicht wird, kann die alte Version auf einer virtuellen Maschine unterstützt werden, bis das neue Betriebssystem vollständig getestet ist. Umgekehrt können Sie ein neues Betriebssystem auf eine virtuelle Maschine „heben“ und ausprobieren, ohne das Hauptsystem zu beeinträchtigen.

  3. Fähigkeit, potenziell gefährliche Umgebungen zu isolieren.

    Wenn eine Anwendung oder Komponente Zweifel an ihrer Zuverlässigkeit und Sicherheit aufkommen lässt, können Sie sie in einer virtuellen Maschine verwenden, ohne das Risiko einer Beschädigung wichtiger Systemkomponenten einzugehen. Diese isolierte Umgebung wird auch Sandbox genannt. Darüber hinaus können Sie virtuelle Maschinen erstellen, die durch Sicherheitsrichtlinien eingeschränkt sind (z. B. stoppt der Start der Maschine nach zwei Wochen).

  4. Möglichkeit, erforderliche Hardwarekonfigurationen zu erstellen.

    Manchmal ist es notwendig, eine bestimmte Hardwarekonfiguration (Prozessorzeit, Menge des zugewiesenen RAM und Festplattenspeichers) zu verwenden, wenn die Leistung von Anwendungen unter bestimmten Bedingungen überprüft wird. Es ist ziemlich schwierig, eine physische Maschine ohne eine virtuelle Maschine in solche Bedingungen zu „treiben“. In virtuellen Maschinen sind es nur ein paar Mausklicks.

  5. Virtuelle Maschinen können Ansichten von Geräten erstellen, die Sie nicht haben.

    Viele Virtualisierungssysteme ermöglichen beispielsweise die Erstellung virtueller SCSI-Festplatten, virtueller Mehrkernprozessoren usw. Dies kann für die Erstellung verschiedener Arten von Simulationen nützlich sein.

  6. Auf einem Host können mehrere virtuelle Maschinen gleichzeitig laufen, vereint in einem virtuellen Netzwerk.

    Diese Funktion bietet unbegrenzte Möglichkeiten zum Erstellen virtueller Netzwerkmodelle zwischen mehreren Systemen auf einem physischen Computer. Dies ist insbesondere dann erforderlich, wenn Sie ein verteiltes System bestehend aus mehreren Maschinen simulieren müssen. Sie können auch mehrere isolierte Benutzerumgebungen erstellen (für Arbeit, Unterhaltung, Surfen im Internet), diese starten und bei Bedarf zwischen ihnen wechseln, um bestimmte Aufgaben auszuführen.

  7. Virtuelle Maschinen bieten hervorragende Lernmöglichkeiten für Betriebssysteme.

    Sie können ein Repository mit gebrauchsfertigen virtuellen Maschinen mit verschiedenen Gastbetriebssystemen erstellen und diese bei Bedarf zu Schulungszwecken ausführen. Sie können ungestraft allen möglichen Experimenten ausgesetzt werden, denn wenn das System beschädigt ist, dauert die Wiederherstellung aus einem gespeicherten Zustand ein paar Minuten.

  8. Virtuelle Maschinen erhöhen die Mobilität.

    Der Ordner mit der virtuellen Maschine kann auf einen anderen Computer verschoben und die virtuelle Maschine dort sofort gestartet werden. Für die Migration müssen keine Images erstellt werden und zudem ist die virtuelle Maschine von spezifischer Hardware entkoppelt.

  9. Virtuelle Maschinen können in „Anwendungspaketen“ organisiert werden..

    Sie können eine virtuelle Umgebung für einen bestimmten Anwendungsfall erstellen (z. B. die Maschine eines Designers, die Maschine eines Managers usw.), die gesamte erforderliche Software darin installieren und Desktops nach Bedarf bereitstellen.

  10. Virtuelle Maschinen sind einfacher zu verwalten.

    Die Verwendung virtueller Maschinen verbessert die Verwaltbarkeit von Backups, Snapshots virtueller Maschinen und der Notfallwiederherstellung erheblich.

Natürlich enden die Vorteile virtueller Maschinen hier nicht; dies ist lediglich ein Denkanstoß und eine Erforschung ihrer Fähigkeiten. Natürlich haben virtuelle Maschinen, wie jede neue und vielversprechende Lösung, auch Nachteile:

  1. Es können nicht alle Geräte emuliert werden.

    Derzeit werden alle wichtigen Hardwareplattformgeräte von den Anbietern von Virtualisierungssystemen unterstützt. Wenn Sie jedoch beispielsweise Controller oder Geräte verwenden, die von diesen nicht unterstützt werden, müssen Sie auf die Virtualisierung einer solchen Umgebung verzichten.

  2. Die Virtualisierung erfordert zusätzliche Hardwareressourcen.

    Derzeit ist es durch den Einsatz verschiedener Virtualisierungstechniken möglich, die Leistung virtueller Maschinen der realen anzunähern. Damit ein physischer Host jedoch mindestens ein paar virtuelle Maschinen ausführen kann, ist eine ausreichende Menge an Hardware erforderlich welche Ressourcen dafür benötigt werden.

  3. Einige Virtualisierungsplattformen erfordern spezielle Hardware.

    Insbesondere die großartige Plattform von VMware, ESX Server, wäre großartig, wenn sie keine strengen Hardwareanforderungen hätte.

  4. Gute Virtualisierungsplattformen kosten gutes Geld.

    Manchmal sind die Kosten für die Bereitstellung eines virtuellen Servers genauso hoch wie die Kosten für einen anderen physischen Server; unter bestimmten Bedingungen ist dies möglicherweise nicht praktikabel. Glücklicherweise gibt es viele kostenlose Lösungen, diese richten sich jedoch hauptsächlich an Privatanwender und kleine Unternehmen.

Trotz der aufgeführten und vollständig behebbaren Mängel gewinnt die Virtualisierung weiter an Dynamik, und im Jahr 2007 wird eine deutliche Expansion sowohl des Marktes für Virtualisierungsplattformen als auch für Tools zur Verwaltung virtueller Infrastrukturen erwartet. In den letzten Jahren ist das Interesse an Virtualisierung deutlich gestiegen, wie aus den Statistiken von Google Trends hervorgeht:

Statistiken zum Virtualisierungstrend

Aufgrund der Komplexität und der hohen Kosten für die Bereitstellung und Wartung virtueller Infrastruktur sowie der Schwierigkeit, den Return on Investment richtig einzuschätzen, scheitern jedoch viele Virtualisierungsprojekte. Laut einer von Computer Associates durchgeführten Studie unter verschiedenen Unternehmen, die Virtualisierungsversuche unternommen haben, konnten 44 Prozent das Ergebnis nicht als erfolgreich bezeichnen. Dieser Umstand hält viele Unternehmen davon ab, Virtualisierungsprojekte zu planen. Ein weiteres Problem ist der Mangel an wirklich kompetenten Spezialisten auf diesem Gebiet.

Wie sieht die Zukunft der Virtualisierung aus?

2006 war ein Schlüsseljahr für Virtualisierungstechnologien: Viele neue Akteure sind in diesen Markt eingetreten, viele Veröffentlichungen von Virtualisierungsplattformen und Verwaltungstools sowie eine beträchtliche Anzahl geschlossener Partnerschaftsvereinbarungen und Allianzen deuten darauf hin, dass die Technologie in Zukunft sehr, sehr vielversprechend sein wird gefragt. Der Virtualisierungsmarkt befindet sich in der Endphase seiner Entstehung. Viele Hardwarehersteller haben die Unterstützung von Virtualisierungstechnologien angekündigt, und dies ist eine sichere Garantie für den Erfolg jeder neuen Technologie. Die Virtualisierung rückt immer näher an den Menschen heran: Schnittstellen zur Nutzung virtueller Maschinen werden vereinfacht, es entstehen Vereinbarungen über die Nutzung verschiedener Tools und Techniken, die noch nicht offiziell etabliert sind, und die Migration von einer virtuellen Plattform auf eine andere wird vereinfacht. Natürlich wird die Virtualisierung ihren Platz in der Liste der notwendigen Technologien und Tools bei der Gestaltung der IT-Infrastruktur von Unternehmen einnehmen. Auch normale Benutzer finden Verwendung für virtuelle Maschinen. Mit zunehmender Leistung von Desktop-Computer-Hardwareplattformen wird es möglich, mehrere Benutzerumgebungen auf einem Computer zu unterstützen und zwischen ihnen zu wechseln.

Auch Hardware-Hersteller bleiben nicht stehen: Zusätzlich zu den bestehenden Hardware-Virtualisierungstechniken werden bald Hardware-Systeme auf den Markt kommen, die die Virtualisierung nativ unterstützen und komfortable Schnittstellen für die zu entwickelnde Software bereitstellen. Dadurch können Sie schnell zuverlässige und effiziente Virtualisierungsplattformen entwickeln. Es ist möglich, dass jedes installierte Betriebssystem sofort virtualisiert wird und spezielle Low-Level-Software, unterstützt durch Hardwarefunktionen, zwischen laufenden Betriebssystemen wechselt, ohne die Leistung zu beeinträchtigen.

Die den Virtualisierungstechnologien innewohnende Idee eröffnet vielfältige Einsatzmöglichkeiten. Letztendlich wird alles für die Bequemlichkeit des Benutzers und die Vereinfachung der Verwendung von ihm vertrauten Dingen getan. Ob hier deutlich Geld gespart werden kann, wird die Zeit zeigen.

Frage 56

Betriebssystemvirtualisierungssysteme. Grundkonzepte, Paravirtualisierung, Hardwarevirtualisierung, Hypervisor. Anwendungsbeispiele.

Virtualisierung ist eine Technologie, die Prozesse und deren Darstellung von Rechenressourcen abstrahiert. Das Konzept der Virtualisierung ist alles andere als neu und wurde bereits in den 60er Jahren eingeführt UnternehmenIBM.

Folgende Virtualisierungsarten lassen sich unterscheiden:

    Servervirtualisierung . Bei der Servervirtualisierung werden mehrere virtuelle Server auf einem physischen Server ausgeführt. Virtuelle Maschinen oder Server sind Anwendungen, die auf einem Host-Betriebssystem ausgeführt werden und die physische Hardware des Servers emulieren. Jede virtuelle Maschine kann über ein Betriebssystem verfügen, auf dem Anwendungen und Dienste installiert werden können. Typische Vertreter sind Produkte VMware vSphere Und Microsoft Hyper-V.

    Anwendungsvirtualisierung . Bei der Anwendungsvirtualisierung werden Betriebssystemressourcen (Registrierung, Dateien usw.) emuliert. Mit dieser Technologie können Sie mehrere inkompatible Anwendungen gleichzeitig auf einem Computer bzw. demselben Betriebssystem verwenden. Die Anwendungsvirtualisierung wird auf Basis des Microsoft Application Virtualization (AppV)-Produkts implementiert. Mit AppV können Benutzer dieselbe vorkonfigurierte Anwendung oder Anwendungsgruppe vom Server ausführen. In diesem Fall funktionieren die Anwendungen unabhängig voneinander, ohne dass Änderungen am Betriebssystem vorgenommen werden müssen. Darüber hinaus geschieht dies alles für den Benutzer transparent, als würde er mit einer regulären lokal installierten Anwendung arbeiten.

    Virtualisierung anzeigen . Bei der Ansichtsvirtualisierung wird die Benutzeroberfläche emuliert. Diese. Der Benutzer sieht die Anwendung und arbeitet mit ihr auf seinem Terminal, obwohl die Anwendung tatsächlich auf einem Remote-Server läuft und nur ein Abbild der Remote-Anwendung an den Benutzer übertragen wird. Je nach Betriebsmodus sieht der Benutzer den Remote-Desktop und die darauf laufende Anwendung oder nur das Anwendungsfenster selbst. Die Umsetzung erfolgt auf Basis der Microsoft Terminal Services und auf Basis von Citrix-Lösungen.

    Virtualisierung auf Betriebssystemebene . Bei der Virtualisierung auf Betriebssystemebene werden Dienste innerhalb einer einzelnen Instanz des Betriebssystemkernels isoliert. Dies ist auf Parallels (SWsoft) Virtuozzo implementiert und wird am häufigsten von Hosting-Unternehmen verwendet.

Was Virtualisierung kann:

    Führen Sie mehrere Betriebssysteme gleichzeitig aus.

    Garantierte Isolierung der Betriebssysteme voneinander.

    Möglichkeit der flexiblen Ressourcenteilung zwischen Maschinen.

Vorteile der Virtualisierung:

    Erhöhte Isolierung.

    Beschränken Sie einen oder eine Gruppe eng gekoppelter Dienste auf eine eigene virtuelle Maschine.

    Reduzierung der Fehlerwahrscheinlichkeit aufgrund gegenseitiger Beeinflussung von Programmen.

    Sicherheit.

    Verteilung der Verwaltungsaufgaben – die Möglichkeit, die Rechte jedes Administrators auf das Nötigste zu beschränken.

    Reduzierung der potenziell schädlichen Folgen eines Hackerangriffs auf einen der Dienste.

    Ressourcenverteilung – jede Maschine erhält so viele Ressourcen, wie sie benötigt, aber nicht mehr.

    Priorisierung von Aufgaben.

    Speicherzuweisung nach Bedarf.

    Flexible Verteilung des Netzwerkverkehrs zwischen Maschinen.

    Zuweisung von Festplattenressourcen.

    Ständige Verfügbarkeit.

    Es ist möglich, eine Live-Migration von Maschinen durchzuführen.

    Reibungslose Aktualisierung kritischer Server.

    Verbesserung der Verwaltungsqualität.

    Fähigkeit zur Durchführung von Regressionstests.

    Gelegenheit zum Experimentieren und Erkunden.

Prinzipien und Arten der Virtualisierung:

    Interpretation und dynamische Neukompilierung - Bei Verwendung der dynamischen Neukompilierung wandelt das Emulatorprogramm Fragmente des ausführbaren Programms in Code um, der direkt während der Ausführung auf einem anderen Computer ausgeführt werden kann. Der Recompiler ist weniger kompatibel als der Interpreter, aber er ist schneller.

Beispiele: Bochs, PearPC, QEMU, Microsoft VirtualPC für MAC.

    Paravirtualisierung und Portierung - Der Kernel des Gastbetriebssystems wird so geändert, dass er einen neuen Satz von APIs enthält, über die er direkt mit der Hardware arbeiten kann, ohne dass es zu Konflikten mit anderen virtuellen Maschinen kommt. In diesem Fall ist es nicht erforderlich, ein vollwertiges Betriebssystem als Host-Software zu verwenden, dessen Funktionen in diesem Fall von einem speziellen System namens Hypervisor ausgeführt werden. Diese Art der Virtualisierung ist hardwarebasiert.

Hypervisor (oder Monitor für virtuelle Maschinen ) - Programm oder eine Hardwareschaltung, die die gleichzeitige, parallele Ausführung mehrerer oder sogar vieler ermöglicht oder ermöglicht Betriebssysteme auf demselben Host-Computer. Der Hypervisor bietet außerdem die Isolierung der Betriebssysteme voneinander, Schutz und Sicherheit, die gemeinsame Nutzung von Ressourcen zwischen verschiedenen Betriebssystemen und die Ressourcenverwaltung.

Der Hypervisor kann (ist aber nicht dazu verpflichtet) Betriebssystemen, die unter seiner Kontrolle auf demselben Host-Computer laufen, die Möglichkeit geben, miteinander zu kommunizieren und zu interagieren (z. B. durch Dateifreigabe oder Netzwerkverbindungen), als ob diese Betriebssysteme dies wären läuft auf verschiedenen physischen Computern.

Der Hypervisor selbst ist in gewisser Weise ein minimales Betriebssystem (Mikrokernel). oder Nanokern ). Es stellt einen Dienst für Betriebssysteme bereit, die unter seiner Kontrolle laufen. virtuelle Maschine, die die reale (physische) Hardware einer bestimmten Maschine virtualisiert oder emuliert, diese virtuellen Maschinen verwaltet und ihnen Ressourcen zuweist und freigibt. Der Hypervisor ermöglicht das unabhängige „Einschalten“, Neustarten und „Ausschalten“ jeder virtuellen Maschine, auf der ein bestimmtes Betriebssystem ausgeführt wird. Allerdings kann ein Betriebssystem, das in einer virtuellen Maschine läuft, auf der ein Hypervisor läuft, „wissen“, muss aber nicht, dass es in einer virtuellen Maschine und nicht auf realer Hardware läuft.Das Wort „Hypervisor“ tauchte auf eine interessante Weise auf: Es war einmal, vor sehr langer Zeit, hieß das Betriebssystem „Supervisor“ und die Software, die „unter Aufsicht“ stand, hieß „Hypervisor“.

Hypervisor-Typen:

    Autonom Hypervisor (Typ 1)

Es verfügt über eigene integrierte Gerätetreiber, Treibermodelle und einen eigenen Zeitplaner und ist daher unabhängig vom zugrunde liegenden Betriebssystem. Da ein eigenständiger Hypervisor direkt auf der Hardware läuft, ist er produktiver.

Beispiel:VMware ESX

    Basierend auf dem Basisbetriebssystem (Typ 2, V)

Dabei handelt es sich um eine Komponente, die im selben Ring wie der Hauptkernel des Betriebssystems (Ring 0) läuft. Schutzringe sind eine Architektur für Informationssicherheit und funktionale Fehlertoleranz, die eine Hardware-Trennung von System- und Benutzerberechtigungsebenen implementiert.

Gastcode kann direkt auf dem physischen Prozessor ausgeführt werden, der Zugriff auf die E/A-Geräte des Computers vom Gastbetriebssystem erfolgt jedoch über eine zweite Komponente, den normalen Überwachungsprozess auf Benutzerebene des Hostbetriebssystems.

Beispiele: Microsoft Virtual PC, VMware Workstation, QEMU, Parallels,VirtualBox .

    Hybrid (Typ 1+)

Ein Hybrid-Hypervisor besteht aus zwei Teilen: einem Thin-Hypervisor, der den Prozessor und den Speicher steuert, sowie einem speziellen Service-Betriebssystem, das unter seiner Kontrolle in einem Ring auf niedrigerer Ebene läuft. Über das Dienstbetriebssystem erhalten Gastbetriebssysteme Zugriff auf physische Hardware.

Beispiele: Microsoft Virtual Server, Sun Logical Domains, Xen, Citrix XenServer, Microsoft Hyper-V

Paravirtualisierung (Englisch)Paravirtualisierung) - Technik Virtualisierung, in der Gäste Betriebssystem werden für die Ausführung in einer virtualisierten Umgebung vorbereitet, für die ihr Kernel leicht modifiziert wird. Das Betriebssystem interagiert mit dem Programm Der Hypervisor, der es dem Gast zur Verfügung stellt API, anstatt Ressourcen wie die Speicherseitentabelle direkt zu verwenden. Code im Zusammenhang mit der Virtualisierung wird direkt im Betriebssystem lokalisiert. Die Paravirtualisierung erfordert also eine Modifikation des Gastbetriebssystems für den Hypervisor, was einen Nachteil der Methode darstellt, da eine solche Modifikation nur möglich ist, wenn das Gastbetriebssystem Open Source ist, das unter einer Lizenz geändert werden kann. Aber die Paravirtualisierung bietet eine Leistung, die fast der eines echten, nicht virtualisierten Systems entspricht. Wie bei der Vollvirtualisierung können viele verschiedene Betriebssysteme gleichzeitig unterstützt werden.

Das Ziel der Schnittstellenänderung besteht darin, den Prozentsatz der Gastausführungszeit zu reduzieren, die für die Ausführung von Vorgängen aufgewendet wird, die in einer virtuellen Umgebung deutlich schwieriger auszuführen sind als in einer nicht virtuellen Umgebung. Paravirtualisierung bietet speziell installierte Interrupt-Handler, damit der/die Gast(e) und der Host diese Aufgaben akzeptieren und erkennen können, die andernfalls in der virtuellen Domäne (wo die Leistung geringer ist) ausgeführt würden. Dies kann eine erfolgreiche paravirtualisierte Plattform ermöglichen Monitor der virtuellen Maschine (VMM) einfacher sein (durch Verlagerung kritischer Aufgaben von der virtuellen Domäne auf den Domänenhost) und/oder den Gesamtleistungsaufwand der Maschinenausführung innerhalb des virtuellen Gasts reduzieren.

Der Begriff tauchte erstmals im Projekt auf Denali und danach wurde dieses Wort von Forschern des Computerlabors der Universität Cambridge im Projekt verwendet Xen, es hat sich endlich in der Terminologie etabliert. Das Präfix „para“ im Wort Paravirtualisierung hat keine Bedeutung, die Autoren dieser Idee brauchten lediglich einen neuen Begriff.

      Vorteile: Es ist kein Host-Betriebssystem erforderlich. Die virtuelle Maschine wird virtuell auf Bare Metal installiert und Hardware-Ressourcen werden effizient genutzt.

      Mängel: die Komplexität der Implementierung des Ansatzes und die Notwendigkeit, einen spezialisierten Betriebssystem-Hypervisor zu erstellen.

Beispiele: Xen, UML, lguest, Microsoft Hyper-V, KVM, VMware ESX Server.

    Virtualisierung auf Betriebssystemebene – Dieser Ansatz verwendet einen Host-Betriebssystemkern, um unabhängige parallele Betriebsumgebungen zu erstellen. Der Kernel sorgt für eine vollständige Containerisolation, sodass sich Programme aus verschiedenen Containern nicht gegenseitig beeinflussen können.

    • Vorteile: hohe Effizienz bei der Nutzung von Hardware-Ressourcen, geringer technischer Aufwand, hervorragende Verwaltbarkeit, Minimierung der Kosten für den Erwerb von Lizenzen.

      Nachteile: Implementierung nur homogener Rechenumgebungen.

Beispiele: FreeVPS, iCore Virtual Accounts, Linux-VServer, OpenVZ, Parallels VirtuozzoContainer, Zonen, FreeBSD, Jail, Sysjail, WPARs, Solaris-Container.

    Vollständige Virtualisierung - Bei diesem Ansatz werden unveränderte Kopien von Gastbetriebssystemen verwendet, und um den Betrieb dieser Betriebssysteme zu unterstützen, wird eine gemeinsame Emulationsebene ihrer Ausführung auf dem Host-Betriebssystem, bei dem es sich um ein reguläres Betriebssystem handelt, verwendet.

    • Vorteile: relative einfache Implementierung, Vielseitigkeit und Zuverlässigkeit der Lösung; Sämtliche Verwaltungsfunktionen werden vom Host-Betriebssystem übernommen.

      Mängel: hohe zusätzliche Overhead-Kosten für die genutzten Hardware-Ressourcen, mangelnde Berücksichtigung der Features des Gastbetriebssystems, ungenügende Flexibilität bei der Nutzung der Hardware.

Beispiele: VMware Workstation, VMware Server, Parallels Desktop, Parallels Server, Microsoft VirtualPC, Microsoft Virtual Server, Microsoft Hyper-V, QEMUMit Modulkqemu, KVM, Virtual Iron.

    Kompatibilitätsschicht

Unter der Kompatibilitätsschicht kann ein Softwareprodukt verstanden werden, das die Ausführung von Programmen ermöglicht, die nicht für die Arbeitsumgebung bestimmt sind. Zum Beispiel,Weinermöglicht Ihnen die Arbeit mit ProgrammenWindowsim BetriebssystemLinux.

Beispiele:Cygwin, Wein.

Wenn Sie einen Fehler bemerken, wählen Sie einen Textabschnitt aus und drücken Sie Strg+Eingabetaste
AKTIE:
Computer und moderne Geräte