Was ist eine virtuelle Maschine? (Warum und wann man sie benutzt)

  • Teile Das
Cathy Daniels

Wenn Sie in der Softwarebranche arbeiten, haben Sie wahrscheinlich schon von virtuellen Maschinen gehört, und wenn nicht, fragen Sie sich vielleicht, was sie sind und wofür sie verwendet werden.

Als Softwareentwickler habe ich täglich mit virtuellen Maschinen zu tun. Sie sind ein mächtiges Werkzeug in der Softwareentwicklung, aber sie haben auch noch andere Verwendungszwecke. Viele Unternehmen setzen sie wegen ihrer Flexibilität, Zuverlässigkeit und Kosteneffizienz ein, und sie verhindern auch Katastrophen durch unkontrollierte Softwaretests.

Werfen wir einen Blick darauf, was virtuelle Maschinen sind und warum sie verwendet werden.

Was ist eine virtuelle Maschine?

Eine virtuelle Maschine ist eine Instanz eines Betriebssystems (OS) wie Windows, Mac OS oder Linux, die innerhalb des Hauptbetriebssystems eines Computers läuft.

In der Regel wird sie in einem Anwendungsfenster auf Ihrem Desktop ausgeführt. Eine virtuelle Maschine verfügt über alle Funktionen und verhält sich wie ein separater Computer oder eine Maschine. Im Wesentlichen ist eine virtuelle Maschine ein virtueller Computer, der auf einem anderen Computer, dem so genannten Host-Computer, läuft.

Abbildung 1: Virtuelle Maschine auf einem Laptop.

Eine virtuelle Maschine verfügt nicht über Hardware (Arbeitsspeicher, Festplatte, Tastatur oder Monitor). Sie verwendet die simulierte Hardware des Host-Rechners. Daher können mehrere VMs, auch "Gäste" genannt, auf einem einzigen Host-Rechner ausgeführt werden.

Abbildung 2: Host-Rechner mit mehreren VMs.

Der Host kann auch mehrere virtuelle Maschinen mit unterschiedlichen Betriebssystemen ausführen, z. B. Linux, Mac OS und Windows. Diese Fähigkeit hängt von einer Software ab, die als Hypervisor bezeichnet wird (siehe Abbildung 1 oben). Der Hypervisor wird auf dem Host-Computer ausgeführt und ermöglicht die Erstellung, Konfiguration, Ausführung und Verwaltung virtueller Maschinen.

Der Hypervisor weist Festplattenspeicher zu, plant die Verarbeitungszeit und verwaltet die Speichernutzung für jede VM. Dies ist die Aufgabe von Anwendungen wie Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V und vielen anderen: Sie sind Hypervisoren.

Ein Hypervisor kann auf einem Laptop, PC oder Server laufen und macht virtuelle Maschinen für den lokalen Computer oder für über ein Netzwerk verteilte Benutzer verfügbar.

Verschiedene Arten von virtuellen Maschinen und Umgebungen erfordern verschiedene Arten von Hypervisoren, von denen wir uns einige ansehen wollen.

Arten von virtuellen Maschinen

System Virtuelle Maschinen

System-VMs, manchmal auch als vollständige Virtualisierung bezeichnet, werden von einem Hypervisor ausgeführt und bieten die Funktionalität eines echten Computersystems. Sie verwenden das native Betriebssystem des Hosts, um Systemressourcen zu verwalten und gemeinsam zu nutzen.

Virtuelle Systemmaschinen benötigen oft einen leistungsstarken Host mit schnellen oder mehreren CPUs, viel Arbeitsspeicher und viel Festplattenspeicher. Einige, die auf PCs oder Laptops ausgeführt werden, benötigen vielleicht nicht die Rechenleistung, die große virtuelle Unternehmensserver benötigen; sie werden jedoch langsam laufen, wenn das Hostsystem nicht angemessen ist.

Virtuelle Maschinen verarbeiten

Virtuelle Prozessmaschinen unterscheiden sich deutlich von SVMs - möglicherweise laufen sie auf Ihrem Rechner, ohne dass Sie es wissen. Sie werden auch als virtuelle Anwendungsmaschinen oder verwaltete Laufzeitumgebungen (MREs) bezeichnet. Diese virtuellen Maschinen laufen innerhalb eines Host-Betriebssystems und unterstützen Anwendungen oder Systemprozesse.

Warum eine PVM? Sie führen Dienste aus, ohne von bestimmten Betriebssystemen oder Hardware abhängig zu sein. Sie haben ihr eigenes kleines Betriebssystem mit nur den Ressourcen, die sie benötigen. Das MRE befindet sich in einer separaten Umgebung; es spielt keine Rolle, ob es auf Windows, Mac OS, Linux oder einem anderen Host-Rechner läuft.

Eine der am weitesten verbreiteten Prozessvirtualmaschinen, von der Sie wahrscheinlich schon einmal gehört haben, ist die Java Virtual Machine (kurz JVM), die zur Ausführung von Java-Anwendungen verwendet wird.

Arten von Hypervisoren

Die meisten virtuellen Maschinen, mit denen wir uns beschäftigen, verwenden einen Hypervisor, da sie ein ganzes Computersystem emulieren. Es gibt zwei verschiedene Arten von Hypervisoren: Bare Metal Hypervisors und Hosted Hypervisors. Schauen wir uns beide kurz an.

Bare Metal Hypervisor

BMHs können auch als native Hypervisoren bezeichnet werden, die direkt auf der Hardware des Hosts und nicht innerhalb des Betriebssystems des Hosts laufen. Sie treten an die Stelle des Betriebssystems des Hosts und planen und verwalten die Hardware-Nutzung durch jede virtuelle Maschine, wodurch der "Zwischenmann" (das Betriebssystem des Hosts) ausgeschaltet wird.

Native Hypervisors werden in der Regel für groß angelegte Unternehmens-VMs verwendet, mit denen Unternehmen ihren Mitarbeitern Serverressourcen zur Verfügung stellen. Microsoft Azure oder Amazon Web Services sind VMs, die auf dieser Art von Architektur gehostet werden. Weitere Beispiele sind KVM, Microsoft Hyper-V und VMware vSphere.

Gehosteter Hypervisor

Hosted Hypervisors laufen auf Standard-Betriebssystemen - wie jede andere Anwendung, die wir auf unseren Rechnern ausführen. Sie nutzen das Betriebssystem des Hosts, um Ressourcen zu verwalten und zu verteilen. Diese Art von Hypervisor eignet sich besser für einzelne Benutzer, die mehrere Betriebssysteme auf ihren Rechnern ausführen müssen.

Dazu gehören Anwendungen wie Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop u.v.m. Ausführlichere Informationen zu gehosteten Hypervisoren finden Sie in unserem Artikel Beste Software für virtuelle Maschinen.

Warum virtuelle Maschinen verwenden?

Nachdem Sie nun wissen, was eine virtuelle Maschine ist, fallen Ihnen wahrscheinlich einige hervorragende Anwendungen ein. Hier sind einige der Hauptgründe, warum Menschen virtuelle Maschinen verwenden.

1. kosteneffektiv

Virtuelle Maschinen sind in vielen Situationen kosteneffizient. Eine der bekanntesten ist die Unternehmenswelt. Die Verwendung physischer Server zur Bereitstellung von Ressourcen für Mitarbeiter kann sehr teuer sein. Die Hardware ist nicht billig, und ihre Wartung ist noch kostspieliger.

Die Verwendung virtueller Maschinen als Unternehmensserver ist mittlerweile die Norm. Mit VMs von einem Anbieter wie MS Azure fallen keine anfänglichen Hardware-Anschaffungen und keine Wartungsgebühren an. Diese VMs können für nur wenige Cent pro Stunde eingerichtet, konfiguriert und verwendet werden. Sie können auch heruntergefahren werden, wenn sie nicht verwendet werden, und verursachen keinerlei Kosten.

Die Verwendung einer VM auf Ihrem Rechner kann auch eine enorme Kostenersparnis bedeuten. Wenn Sie mit mehreren Betriebssystemen oder unterschiedlichen Hardwarekonfigurationen arbeiten müssen, können Sie

Nutzung mehrerer virtueller Maschinen auf einem Host - Sie müssen nicht für jede Aufgabe einen eigenen Computer kaufen.

2. skalierbar und flexibel

Virtuelle Maschinen sind skalierbar, ganz gleich, ob es sich um Unternehmensserver oder um VMs handelt, die auf Ihrem Laptop laufen. Sie können die Ressourcen ganz einfach an Ihre Bedürfnisse anpassen. Wenn Sie mehr Arbeitsspeicher oder Festplattenspeicher benötigen, gehen Sie einfach in den Hypervisor und konfigurieren Sie die VM so, dass sie über mehr Speicherplatz verfügt. Es ist nicht nötig, neue Hardware zu kaufen, und der Vorgang kann schnell abgeschlossen werden.

3. schnelle Einrichtung

Ich hatte schon Fälle, in denen ich eine neue VM einrichten musste, meinen Kollegen anrief, der sie verwaltet, und sie in weniger als einer Stunde einsatzbereit hatte.

4. die Wiederherstellung im Katastrophenfall

Wenn Sie Datenverlusten vorbeugen und sich auf die Wiederherstellung im Katastrophenfall vorbereiten wollen, können VMs ein hervorragendes Werkzeug sein. Sie lassen sich leicht sichern und können bei Bedarf auf verschiedene Standorte verteilt werden. Wenn ein Drittanbieter wie Microsoft oder Amazon die virtuellen Maschinen hostet, sind sie außerhalb des Standorts, d. h. Ihre Daten sind sicher, wenn Ihr Büro abbrennt.

5. leicht zu reproduzieren

Die meisten Hypervisors ermöglichen es Ihnen, eine Kopie oder ein Image einer VM zu erstellen. Mit Imaging können Sie ganz einfach exakte Reproduktionen der gleichen Basis-VM für jede Situation erstellen.

In der Umgebung, in der ich arbeite, stellen wir jedem Entwickler eine VM zur Verfügung, die er für die Entwicklung und das Testen verwenden kann. Dieser Prozess ermöglicht es uns, ein Image mit allen benötigten Tools und Software zu konfigurieren. Wenn wir einen neuen Entwickler einarbeiten, müssen wir nur eine Kopie dieses Images erstellen, und er hat alles, was er braucht, um zu arbeiten.

6. perfekt für Entwicklung/Test

Einer der größten Vorteile des Einsatzes virtueller Maschinen ist, dass sie ein perfektes Werkzeug für die Softwareentwicklung und -tests sind. VMs ermöglichen Entwicklern die Entwicklung auf mehreren Plattformen und Umgebungen auf einem einzigen Rechner. Wenn diese VM beschädigt oder zerstört wird, kann schnell eine neue erstellt werden.

Ich habe an Projekten gearbeitet, bei denen wir automatisierte Testskripte eingerichtet haben, die eine neue VM erstellen, die neueste Softwareversion installieren, alle erforderlichen Tests durchführen und die VM nach Abschluss der Tests löschen.

VMs eignen sich hervorragend für Produkttests und -bewertungen, wie wir sie hier bei SoftwareHow.com durchführen. Ich kann Anwendungen in einer VM installieren, die auf meinem Rechner läuft, und sie testen, ohne meine primäre Umgebung zu überlasten.

Wenn ich mit dem Testen fertig bin, kann ich die virtuelle Maschine jederzeit löschen und eine neue erstellen, wenn ich sie brauche. Dieses Verfahren ermöglicht es mir auch, auf mehreren Plattformen zu testen, obwohl ich nur einen Windows-Rechner habe.

Letzte Worte

Wie Sie sehen, sind virtuelle Maschinen ein kosteneffizientes, vielseitiges Tool, das für viele Anwendungen eingesetzt werden kann. Wir müssen keine teure Hardware mehr kaufen, einrichten und warten, um Testern, Entwicklern und anderen Personen Zugang zu Servern zu verschaffen. VMs geben uns die Flexibilität, einfach und schnell die Betriebssysteme, Hardware und Umgebungen zu erstellen, die wir benötigen - zu jeder Zeit.

Ich bin Cathy Daniels, eine Expertin für Adobe Illustrator. Ich verwende die Software seit Version 2.0 und erstelle seit 2003 Tutorials dafür. Mein Blog ist eines der beliebtesten Ziele im Internet für Leute, die Illustrator lernen möchten. Neben meiner Arbeit als Blogger bin ich auch Autor und Grafikdesigner.