GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist eine virtuelle Maschine und warum sollte man sie verwenden?

In Zukunft werden wir in der Lage sein, solche perfekt gestalteten Virtual-Reality-Systeme so einzusetzen, dass sie von der Realität kaum zu unterscheiden sind. Umgebungen, die nicht da sind, aber man kann sie sehen und fühlen. Bei uns selbst sind wir zwar noch nicht so weit, aber bei unseren Computern schon. Die Virtualisierungstechnologie schafft diese Möglichkeit für unsere Computer. Dies hat verschiedene Anwendungen und Arbeitsprinzipien, und wir werden versuchen, sie Ihnen etwas detaillierter zu erklären.

Virtuelle Maschine und ihre Notwendigkeit

Einführung

Das Ausführen eines vollständigen Betriebssystems erfordert traditionell eine Reihe grundlegender Hardware, die dem Betriebssystem zur Verfügung steht. Um mehrere Betriebssysteme auszuführen, können Sie auch mehrfach booten, aber in diesem Fall können Sie nicht zwei Betriebssysteme gleichzeitig ausführen. Virtuelle Maschinen haben uns die Möglichkeit gegeben, mehr als ein Betriebssystem gleichzeitig auf derselben Hardware zu verwenden .

Im Fall einer virtuellen Maschine gibt es einige offensichtliche Punkte, die wir ansprechen können. Genau wie wir diesen Artikel begonnen haben, ist es eine Art VR für Betriebssysteme. Die von uns erstellten VMs verwenden „virtuelle“ Hardware. Die Hardware, die das gehostete Betriebssystem verwendet, ist so real wie jede andere, wenn es um das Verständnis dieses Betriebssystems selbst geht, aber das Betriebssystem ist nur dafür gemacht, es so zu sehen. Die vom Betriebssystem verwendete RAM-, Speicher- und Prozessorleistung ist die Nutzung von nur Bruchteilen der realen Hardware. All diese Virtualisierung und Verwaltung erfolgt durch den sogenannten Hypervisor.

Hypervisor

Ein Hypervisor ist Firmware, Software oder Hardware, die die zentrale Komponente einer VM darstellt. Lassen Sie uns hier ein wenig Terminologie klären:Das System, auf dem die VMs installiert werden, wird als Hostsystem bezeichnet und die auf den VMs installierten Maschinen werden als Gastsysteme bezeichnet . Der Hypervisor ist die Ebene, die alle Ressourcen zwischen den VMs und der tatsächlichen Hardware des Systems (oder dem Betriebssystem, das den Hypervisor hostet) verwaltet. Obwohl die Betriebssysteme auf virtueller Hardware ausgeführt werden, ist es die Aufgabe des Hypervisors, den Anschein zu erwecken, als hätte das Betriebssystem Zugriff auf die reale Hardware.

Hypervisoren bieten eine stabile, uneinnehmbare Grenze zwischen den verschiedenen Betriebssystemen, die als VMs ausgeführt werden. Der Hypervisor simuliert die Hardwarekomponenten für die VM, die vom Benutzer konfiguriert werden. Die Hardware, die VMs (über Hypervisoren) verwenden, sind Bruchteile der tatsächlichen Hardware des Systems. Somit kann man die realen Hardwaregrenzen nicht überschreiten. Wenn Sie beispielsweise 16 GB RAM haben, können Sie diese als 8 GB auf zwei VMs aufteilen.

Der kritische Punkt ist, dass die Technologie, die VMs ermöglicht:Hypervisoren; erfordert keine spezielle Hardware. Es ist nur eine wesentliche Softwarekomponente. Es gibt zwei wesentliche Arten von Hypervisoren:

Typ 2:Gehostete Hypervisoren

Ich bin mir bewusst, dass ich Typ 2 vor 1 demonstriere, aber es gibt eine Sequenz. Die gehosteten Hypervisoren verbleiben auf Anwendungsebene. Dies könnte Ihnen vertraut sein, wenn Sie jemals Oracle VM VirtualBox, VMWare oder GNOME Boxes verwendet haben.

Dies ist eine Anwendung, mit der Sie ein Betriebssystem als virtuelle Maschine innerhalb Ihres Betriebssystems installieren können (das Betriebssystem, in dem die Anwendung selbst installiert ist). Dies ist sehr einfach einzurichten und zu verwenden. Sie müssen lediglich eine Anwendung installieren, mit der Sie VMs erstellen und ein Image des erforderlichen Betriebssystems abrufen können. Sie können direkt angeben, wie viel RAM, Festplattenspeicher usw. Sie für die Verwendung durch die VM zulassen möchten.

Die Verwendung eines gehosteten Hypervisors hat erhebliche Vorteile, insbesondere für normale Benutzer wie uns. Es gibt jedoch ein Problem. Der übliche Aufbau eines Computersystems folgt dieser Reihenfolge:

  • Physische Hardware
  • Firmware
  • Treiber
  • Betriebssystem
  • Bewerbungen

Um ein wenig auf die technischen Einzelheiten einzugehen, hat die Software, die wir auf einem Computersystem verwenden, unterschiedliche „Privilegien“. Wenn Sie zum Beispiel nur jedem Softwarezugriff erlauben, die Leistung Ihres Prozessors zu konfigurieren, kann dies Ihr gesamtes System leicht durcheinander bringen. Dies ist eine schlechte Sicherheitspraxis. In Wirklichkeit passiert, dass der Kernel eines Betriebssystems mit der Hardware interagiert. Wenn eine App Zugriff auf eine Hardwarekomponente benötigt, kann sie eine Anfrage an den Kernel senden, und der Kernel gibt eine entsprechende Antwort. Diese Anfragen werden Systemaufrufe genannt oder Systemaufrufe .

Nehmen wir nun den Fall einer VM auf einem gehosteten Hypervisor. Beispielsweise führen Sie eine Anwendung auf dem Gastbetriebssystem aus. Dadurch wird ein Systemaufruf an den Kernel des Gastbetriebssystems gesendet. Dies wiederum wird vom Hypervisor interpretiert und in einen anderen Systemaufruf konvertiert, der diesen Systemaufruf nun an den Kernel des Host-Betriebssystems sendet (denn denken Sie daran, dass der gehostete Hypervisor nur eine weitere Anwendung für das Host-Betriebssystem ist). Der Kernel des Hostbetriebssystems sendet die Antwort an den Hypervisor, die nun in die entsprechende Antwort für die Anwendung im Gastbetriebssystem umgewandelt werden muss. Puh.

All dies bedeutet, dass gehostete Hypervisoren einen ziemlich langen Prozess durchlaufen müssen. Auf den meisten modernen Hardware dauert es nicht so lange, wie es scheint, ist aber nicht wie native Geschwindigkeit und Leistung. Die Lösung dafür ist Typ-1-Hypervisor.

Typ 1:Bare-Metal-Hypervisor

Kurz gesagt, der Bare-Metal-Hypervisor sitzt auf der Firmware-/Treiberschicht. Dies bedeutet, dass es wie ein Betriebssystem direkt mit der Hardware interagieren kann. Alle erforderlichen Betriebssysteme werden auf dem Bare-Metal-Hypervisor installiert und die Anwendungen darauf. Dies fügt mehrere Vorteile hinzu. Alle auf dem Hypervisor installierten Betriebssysteme laufen sehr gut, fast wie native Betriebssysteme, mit minimaler Verzögerung oder Stottern. Wenn die Hardware, auf der der Hypervisor installiert wird, leistungsstark ist (wie es normalerweise bei Gaming-Computern oder -Servern der Fall ist), kann er problemlos mehrere Betriebssysteme verwalten.

Einige gängige Beispiele für Bare-Metal-Hypervisoren sind VMWare ESXi, Microsoft Hyper-V, Citrix XenServer, Xen, Linux KVM usw.

Container

Container sind VMs etwas ähnlich, aber es gibt einige Unterschiede. Wie wir im Fall von gehosteten Hypervisoren gesehen haben, werden VMs verwendet, um ein ganzes Betriebssystem zu installieren, und dann werden Anwendungen installiert und auf diesen Betriebssystemen verwendet. Ein Container hingegen verpackt den Code einer Anwendung, ihre Abhängigkeiten, Tools, Bibliotheken, Laufzeiten und alle anderen erforderlichen Dinge und führt genau diese Anwendung in einer virtuellen Umgebung aus.

Das Bild macht die Hierarchie klarer. Beachten Sie, dass der Container auf dem Betriebssystem installiert wird und die Anwendungen dann direkt im Container ausgeführt werden. Es gibt kein Betriebssystem innerhalb des Containers, wie es bei VMs der Fall ist.

Verwendung

Wir haben uns also bereits mit den Details der Arbeitsprinzipien von VMs befasst. Es ist an der Zeit, herauszufinden, wie es in realen Szenarien nützlich sein kann.

Mehrere Workstations von einem einzigen System

Der erste Punkt und das wichtigste Verkaufsargument von VMs ist die Tatsache, dass Sie mehrere voneinander getrennte Betriebssysteme gleichzeitig auf derselben Maschine verwenden können. Das eröffnet unglaubliche Möglichkeiten. Wenn Sie beispielsweise zwei Workstations am selben Ort benötigen, können Sie ein leistungsstarkes System kaufen, das in der Lage ist, zwei separate Systeme gleichzeitig zu betreiben. Dies wird sich in der Tat als sehr effizient erweisen.

Dies hat auch eine weit verbreitete Verwendung. Wenn Sie eine Anwendung benötigen, die auf einem Betriebssystem läuft, das Sie nicht verwenden, müssen Sie das Betriebssystem nicht auf Ihrem Computer installieren. Sie können eine gehostete Hypervisor-Software auf Ihrem Betriebssystem installieren und das unterstützte Betriebssystem installieren. Es ist viel einfacher zu handhaben und erledigt die Arbeit.

Maximale Nutzung

Die maximale Ausnutzung der Ressourcen ist der Grund, warum Virtualisierung bei Servern sehr beliebt ist. Ein Server ist ein sehr, sehr leistungsfähiger Computer. Für ein einzelnes Betriebssystem ist es schwierig, die Ressourcen der Hardware tatsächlich vollständig zu nutzen. Lösung? Installieren Sie einen Bare-Metal-Hypervisor und führen Sie mehrere Betriebssysteme aus, die zusammen die gesamte Hardware nutzen.

Somit nutzen VMs die Ressourcen maximal aus. Aber es sind nicht nur die Server, über die wir sprechen. Wenn Sie beispielsweise einen leistungsstarken Gaming-Computer haben, können Sie stattdessen dessen Hardware vollständig nutzen, indem Sie beispielsweise ein Betriebssystem als primäre Workstation und eines als NAS verwenden. Oder vielleicht eine größere Anzahl von Betriebssystemen und Aufgaben.

Leistungseffizienz

Da Sie jetzt zwei Systeme mit einer Maschine betreiben können, anstatt zwei separate Maschinen für zwei verschiedene Systeme, sparen Sie viel Strom und Energie. Es ist gut für Ihre Stromrechnung; es ist auch zweifellos gut für die Umwelt.

Physischer Raum/Mobilität

Sie können eine Maschine für mehrere Systeme anstelle verschiedener Geräte verwenden, sodass Sie jetzt natürlich viel physischen Platz sparen. Das bedeutet, dass Sie mit einer sehr leistungsstarken Maschine die Anforderungen mehrerer Maschinen erfüllen können. Wenn Sie also Ihre Infrastruktur von einem Ort an einen anderen verlegen müssen, müssen Sie jetzt weniger physische Hardware verschieben als sonst .

Wiederherstellung

Dies ist eine praktische Funktion. VMs haben die Eigenschaft, „Schnappschüsse“ zu machen. Da das gesamte System virtuell ist, erstellen VMs in bestimmten Zeitabständen Kopien ihrer Eigenschaften, Einstellungen und Daten. Wenn also Ihr System irgendwann durcheinander gebracht oder beschädigt wird, können Sie zu einem der stabilen Zustände zurückkehren, und es wird nicht viel Schaden angerichtet.

Testbereich

Eine VM (eigentlich auch ein Container) wird oft als Testgelände verwendet. Jegliche Probleme, die Sie in einem virtuellen Setup verursachen könnten, können der realen Hardware nichts anhaben, und daher ist dies ein idealer Ort zum Testen der neuen Software (insbesondere der Firmware). Entwickler verwenden VMs oft auch, um die Kompatibilität mit verschiedenen Betriebssystemen zu prüfen.

Schlussfolgerung

Virtuelle Maschinen haben uns gegenüber unseren alten Methoden viele Verbesserungen gebracht. Wir können jetzt Systeme auf kleinerem Raum effizienter und sicherer betreiben. Sie sind zu einer einfachen Lösung für die Verwendung von Software geworden, die von Ihrem Betriebssystem nicht nativ unterstützt wird. VMs sind zu einem Paradies für Testzwecke geworden – alles in allem großartig für private, berufliche und umweltbezogene Zwecke.

Wir hoffen, dass Sie diesen Artikel informativ und hilfreich fanden.


Linux
  1. Was ist ein Chown-Befehl unter Linux und wie wird er verwendet?

  2. Was ist ein cURL-Befehl und wie wird er verwendet?

  3. Chroot „Gefängnis“ – Was ist das und wie benutzt man es?

  4. Wann und warum sollte ich Apt-get Update verwenden?

  5. Warum Deis und was ist das?

Was ist Kubernetes DaemonSet und wie wird es verwendet?

Linux-Dateibefehl:Was macht er und wie wird er verwendet?

Linux-Tail-Befehl:Was es ist und wie man es verwendet

Was sind Firefox Multi-Account-Container? Warum und wie wird es verwendet?

Was ist EasyApache und wie verwende ich es?

Was ist die ONLYOFFICE Community-Funktion und warum sollten Sie sie verwenden?