Was ist eine virtuelle Maschine?

A virtual machine (VM) is an emulated or digital version of a physical computer. Virtual machines can be used to run different operating systems and applications, store data, connect to networks, as well as perform other tasks like a physical device. Virtual machines run on a physical device called a host or parent server. And a virtual machine is called a guest or child.

In diesem Artikel werde ich erklären, wie virtuelle Maschinen funktionieren und wie sie sich von Containern unterscheiden. Ich werde auch einige der wichtigsten Anwendungsfälle für virtuelle Maschinen detaillieren, darunter die plattformübergreifende Softwareentwicklung und die Malware-Untersuchung.

Werbung

Wie funktioniert eine virtuelle Maschine?

Grundsätzlich ermöglicht die Virtualisierungstechnologie Benutzern, mehrere virtuelle Maschinen gleichzeitig auf einem einzigen Host zu erstellen und auszuführen. Zum Beispiel kann ein Windows-Host verschiedene virtuelle Maschinen mit Windows, CentOS, Ubuntu und anderen Linux-Distributionen ausführen.

A virtual server uses hypervisor software to interact with the underlying physical hardware. It makes it possible to keep VMs separate and evenly allocate host resources (CPUs, storage, and memory) to each VM guest as needed. The hypervisor can also schedule operations to prevent deadlocks.

Source: Microsoft

Die zwei Arten von Hypervisoren

Es gibt zwei Hauptarten von Hypervisoren, die in der Virtualisierung verwendet werden.

Typ-1-Hypervisoren (Prozess-VM)

Zunächst läuft ein Typ-1-Hypervisor, auch als Bare-Metal-Hypervisor bezeichnet, nativ auf dem physischen Computer. In der Regel ist ein separates Verwaltungstool erforderlich, um virtuelle Maschinen zu erstellen/verwalten und Berechtigungen auf dem Hypervisor zu verwalten. Microsoft Hyper-V und Citrix Hypervisor sind Beispiele für Typ-1-Hypervisoren.

Werbung

Typ-2-Hypervisoren (System-VM)

A type 2 hypervisor, also known as a hosted hypervisor, can run as an application on the host OS. It allows users to manually create a virtual machine instance and install a guest operating system.

Der Typ-2-Hypervisor ist im Vergleich langsamer, da jede Anfrage einer virtuellen Maschine an das Host-Betriebssystem weitergeleitet werden muss. Er eignet sich für Einzelpersonen, Entwickler und kleine Unternehmen, die sich keinen dedizierten Server leisten können. Einige gängige Beispiele für Typ-2-Hypervisoren sind Oracle VirtualBox und VMware Workstation.

Was ist Virtualisierung?

Virtualisierung ist eine Technologie, die die Erstellung einer Abstraktionsschicht über einer physischen Host-Maschine umfasst. Sie hilft dabei, Hardware-Ressourcen (CPU, RAM und Speicher) eines einzelnen Computers in verschiedene virtuelle Computer namens virtuelle Maschinen aufzuteilen.

Jede virtuelle Maschine fungiert als unabhängiger Computer mit seinem eigenen Betriebssystem. Es ist eine kostengünstige Lösung für Organisationen, die mehrere Betriebssysteme und Anwendungen auf einem einzigen physischen Server ausführen möchten.

Werbeanzeige

Die fünf Arten von Virtualisierung

Es gibt fünf gängige Arten von Virtualisierung: Hardware, Software, Speicher, Netzwerk- und Desktop-Virtualisierung.

1. Hardware-Virtualisierung

Die Hardware-Virtualisierung, auch als Server-Virtualisierung bekannt, ist eine Technik, die es Benutzern ermöglicht, virtuelle Versionen von Computern und Betriebssystemen zu erstellen. Sie ermöglicht es, mehrere Betriebssysteme gleichzeitig auf derselben physischen Maschine auszuführen. Die Hardware-Virtualisierung optimiert auch die Nutzung von Hardware-Ressourcen.

2. Software-Virtualisierung

Die Softwarevirtualisierung ist eine Methode, die es einer physischen Hostmaschine ermöglicht, mehrere virtuelle Computer auszuführen. Sie nutzt Hypervisor-Software, um die Hardware-Ressourcen (wie Speicher, Prozessoren und Arbeitsspeicher) auf verschiedene virtuelle Maschinen (VMs) zu verteilen. Zum Beispiel kann eine Linux-Distribution in einer virtuellen Maschine auf einem Computer ausgeführt werden, der ein Windows-Betriebssystem ausführt.

3. Speichervirtualisierung

Die Speichervirtualisierung konsolidiert den physischen Speicher von mehreren Netzwerkspeichergeräten, um als eine einzige virtuelle Festplatte erscheinen. Sie hat verschiedene Vorteile, darunter reduzierte Kosten, Lastenausgleich, Notfallwiederherstellungsplanung und verbesserte Leistung und Geschwindigkeit.

4. Netzwerkvirtualisierung

Die Netzwerkvirtualisierung ist ein Prozess, der verwendet wird, um physische Netzwerke in ein einziges softwarebasiertes virtuelles Netzwerk zu gruppieren. Sie hilft dabei, die verfügbare Bandbreite in verschiedene Kanäle aufzuteilen und sie Geräten und Servern zuzuweisen. Sie bietet Vorteile wie verbesserte Sicherheit, Zuverlässigkeit und Netzwerkgeschwindigkeit.

5. Desktopvirtualisierung

Die Desktopvirtualisierung ermöglicht es Benutzern, eine Workstation-Last zu simulieren, sodass sie von überall und auf jedem Gerät darauf zugreifen können. Ihre Hauptvorteile sind Kosteneinsparungen, Ressourcenoptimierung, verbesserte Datensicherheit und einfachere Verwaltung.

Was sind die Hauptvorteile der Verwendung von VMs?

VMs bieten sowohl Endbenutzern als auch IT-Administratoren verschiedene Vorteile. Hier ist eine Liste einiger Funktionen, die virtuelle Maschinen in Unternehmensumgebungen sehr attraktiv machen:

1. Cloud-Computing

Die Virtualisierungstechnologie bietet die Grundarchitektur für Cloud-Computing. Sie ermöglicht es Unternehmen, cloudbasierte virtuelle Maschinen in unternehmenseigene Serverumgebungen zu implementieren und zu migrieren und Hybrid-Clouds zu nutzen.

Organisationen können auch Cloud-Ressourcen in Echtzeit zuweisen und ändern, um ihren dynamischen Nutzungsanforderungen gerecht zu werden. Cloud-basierte VM-Dienste sind beliebt für die Ausführung von SaaS-Anwendungen, die Datensicherung und das Hosting von E-Mail- und Zugriffsverwaltungsdiensten.

2. Kosteneffizienz

Virtuelle Maschinen ermöglichen es Organisationen, mehrere virtuelle Maschinen auf einem einzigen Server zu erstellen und auszuführen. Da IT-Hardwarekosten für Unternehmen eine echte Herausforderung sein können, können VMs die Kosteneffizienz steigern, indem sie minimale physische Hardware-Ressourcen verwenden. So können IT-Administratoren beispielsweise eine einzige Servermaschine verwenden, um verschiedene Anwendungen in einer Unternehmensumgebung bereitzustellen.

3. Sicherheit

Benutzer können virtuelle Umgebungen erstellen, um die Sicherheit zu erhöhen und zu verhindern, dass Malware die zugrunde liegende Hardware und das Betriebssystem beeinträchtigt. Es ist möglich, dass Benutzer im Falle eines Cyberangriffs schnell und einfach auf ältere Versionen eines kompromittierten VM zurückgreifen können.

Entwickler können VMs nutzen, um Softwareupdates und Apps zu testen, bevor sie sie für Produktionsbenutzer freigeben. VMs sind auch hilfreich für Forscher, um schädliche Software zu testen.

4. Skalierbarkeit und Portabilität

Die Virtualisierung ermöglicht es Kunden, schnell verschiedene Arten von VMs mit den Betriebssystemen ihrer Wahl und einem spezifischen Satz von Ressourcen bereitzustellen. VMs können Organisationen auch dabei helfen, besser auf Schwankungen in Arbeitslasten zu reagieren. Sie können auch die zusätzliche Zeit und Mühe einsparen, die für die Installation unterschiedlicher Betriebssysteme auf physischen Servern erforderlich ist.

5. Arbeitslastmigration

Virtuelle Maschinen werden als „selbstständige Pakete“ bezeichnet, die von dem physischen Computer entkoppelt sind. Dies erleichtert es IT-Teams, zu schnellerer Hardware zu migrieren, eine VM von einem Server auf einen anderen zu verschieben und sich von Ausfällen zu erholen.

6. Datensicherung und Wiederherstellung bei Katastrophen

Organisationen können virtuelle Maschinen nutzen, um ihre Systeme in Cloud-Umgebungen zu sichern. Diese Funktion bietet eine zusätzliche Sicherheitsebene und minimiert das Risiko von Datenverlust in Szenarien wie Hardwareausfällen.

7. Unterstützung für DevOps

VMs bieten maximale Flexibilität zur Unterstützung von Unternehmensentwicklern. Sie können isolierte Umgebungen mit vollständiger Funktionalität für den Softwareentwicklungs- und Testprozess erstellen. VMs ermöglichen es Entwicklern auch, inkompatible Software auf verschiedenen Betriebssystemen auszuführen und zu testen.

Virtuelle Maschinen vs. Container

Genau wie virtuelle Maschinen ermöglichen Container die Ausführung von Anwendungen, die von dem zugrunde liegenden Host isoliert sind. Lassen Sie uns jedoch die Hauptunterschiede zwischen virtuellen Maschinen und Containern genauer betrachten:

Virtual Machines Containers
Hardware-level process isolation Operating system-level process isolation
A virtual machine offers complete isolation of apps from the host OS Containers can share some resources with the host OS
VMs use a few GBs of system memory Containers require less memory space (KBs or MBs)
Each VM has a dedicated OS Containers can share OS resources
VM is more secure Containers are less secure
Boots in minutes Boots in seconds
VMs consume more system resources Containers consume fewer resources
VMs can move between hardware Containers are destroyed and recreated
VM creation takes a considerable amount of time Users can create containers within a few seconds
Users can run any OS inside the VM Users can only run containers on the same OS version as the host
Some popular use cases of VMs are running multiple applications, monolithic applications, and legacy apps on older OS. Containers are best for running web apps, DevOps testing, and microservices.

Die Hauptanwendungsfälle für virtuelle Maschinen

Virtuelle Maschinen haben mehrere Anwendungsfälle für Endbenutzer und IT-Administratoren. Hier sind einige Beispiele:

1. Neue Betriebssysteme testen

Virtuelle Maschinen ermöglichen es Benutzern, verschiedene Betriebssysteme auf einem einzigen physischen Host auszuführen. Dies bedeutet, dass Benutzer neue Funktionen testen können, ohne ihr primäres Betriebssystem zu beeinträchtigen.

Wenn Sie ein Windows Insider sind, könnten Sie versucht sein, virtuelle Maschinen zu verwenden, um die Vorschauversionen von Windows 11 aus dem Dev-Kanal zu testen. Diese Versionen können ziemlich instabil sein, aber es ist möglich, die virtuelle Maschine neu zu erstellen und das Betriebssystem neu zu installieren, wenn Ihre VM aus irgendeinem Grund nicht startet.

2. Ausführung von Legacy- oder inkompatible Software

Eine weitere häufige Verwendung von virtuellen Maschinen ist die Möglichkeit, Legacy-Softwareanwendungen in Unternehmensumgebungen zu verwenden. VMs ermöglichen es Benutzern, Software auszuführen, die nicht von ihrem vorhandenen Betriebssystem unterstützt wird.

3. Malware-Untersuchung

Malware-Forscher benötigen oft neue Maschinen, um schädliche Programme oder Anwendungen zu testen. Hier kommen virtuelle Maschinen ins Spiel. Sie können die Software in einer VM testen, anstatt eine Infektion auf dem physischen Host zu riskieren.

4. Cross-Plattform-Softwareentwicklung

Die Virtualisierungstechnologie ermöglicht es Softwareentwicklern und Testern, ihre Anwendungen über mehrere Plattformen hinweg zu testen. Beispielsweise kann ein Entwicklerteam verschiedene virtuelle Maschinen verwenden, um verschiedene Versionen einer App in einer emulierten Umgebung zu testen.

5. Schulungssitzungen

Es ist wichtig, dass die Computer im Schulungsraum verschiedene Betriebssysteminstanzen ausführen. Virtuelle Maschinen ermöglichen es Trainern, Schulungssitzungen durchzuführen, die verschiedene Geschäftsszenarien und Umgebungen nachstellen.

6. Sicheres Browsen

Zu guter Letzt können virtuelle Maschinen dazu beitragen, ein sicheres Browsing-Erlebnis für Benutzer sicherzustellen. Es ist möglich, einen Schnappschuss einer VM in ihrem aktuellen Zustand zu erstellen und diesen im Falle einer Malware-Infektion zurückzusetzen. Benutzer können entweder einen Typ-2-Hypervisor einrichten oder einen IT-Administrator bitten, ihnen vorübergehenden Zugriff auf einen auf einem Server gehosteten virtuellen Desktop zu gewähren.

Zusammenfassung

Kurz gesagt sind virtuelle Maschinen eine kostengünstige Lösung, die es IT-Teams ermöglicht, Systemressourcen effizient zu verteilen und große Computercluster zu verwalten. VMs haben jedoch verschiedene Vor- und Nachteile, und Unternehmen verwenden typischerweise einen hybriden Ansatz (sowohl physische als auch virtuelle Maschinen), abhängig von ihren Geschäftsanforderungen.

Source:
https://petri.com/what-is-a-virtual-machine/