Was ist eine virtuelle Maschine (VM)? Aktualisiert am 5. März 2024 von InMotion Hosting 7 Minuten, 10 Sekunden zum Lesen Am einfachsten kann man sich eine virtuelle Maschine (VM) als einen Computer innerhalb eines Computers vorstellen. Die heutige Technologie und Rechenleistung ermöglichen es, virtuelle Computerumgebungen innerhalb eines "Host"-Computers zu erstellen. Lies weiter, um zu erfahren, was das bedeutet und wie du die Vorteile dieser Technologie nutzen kannst. Was ist eine VM und wie funktioniert sie? Was ist der Nutzen einer VM? Software-Entwicklung VMs und Datenwiederherstellung Cloud Computing auf VM-Plattformen Wie viele Arten von VMs gibt es? Betriebssysteme basieren auf einem Kernel (einem Programm, das die notwendigen Funktionen und den Zugriff auf die Hardware steuert) und einer Dateistruktur voller Binärprogramme und Daten. Mit der heutigen Technologie ist es möglich, dass ein Computer seine Ressourcen gemeinsam nutzt, um einen separaten Kernel und ein Betriebssystem auszuführen. In einigen Unternehmensnetzwerken kann das Hosting virtueller Maschinen Kosten sparen, indem die Hardware besser genutzt wird. Oder, in kleinerem Maßstab, kann ein Host-Computer alternative Software für Test-, Entwicklungs-, Forschungs- oder Freizeitzwecke emulieren. Wenn wir mehr über virtuelle Umgebungen erfahren, solltest du wissen, was ein Virtual Private Server und was ein Bare Metal Server ist. Inhaltsverzeichnis Was ist eine VM und wie funktioniert sie? Warum mehrere virtuelle Maschinen verwenden, anstatt einen separaten Computer zu benutzen? Sind VMs langsamer als ein echter Computer? Was ist der Nutzen einer VM? Software-Entwicklung VMs und Datenwiederherstellung Cloud Computing auf VM-Plattformen Sind virtuelle Maschinen sicher? Isolationsmechanismen Hypervisor-Schwachstellen Gemeinsam genutzte Ressourcen und Seitenkanalangriffe Wie viele Arten von VMs gibt es? Was ist eine VM und wie funktioniert sie? Ein physischer Server, der virtuelle Maschinen erstellt und verwaltet, wird Hypervisor genannt. Ein Hypervisor kann einen Teil des Festplattenspeichers aufteilen (oder "partitionieren") und Speicher zuweisen, so dass im Grunde genommen ein separater Computer innerhalb eines Computers laufen kann. Warum mehrere virtuelle Maschinen verwenden, anstatt einen separaten Computer zu benutzen? Virtualisierungssoftware kann Kosten sparen, je nachdem, wie die Ressourcen deines Servers zugewiesen werden. Stell dir zum Beispiel vor, du hast einen dedizierten (oder einen dedizierten Bare Metal Server) physischen Computer, aber du nutzt nur einen Bruchteil der Ressourcen für deine Hauptanwendungen. Mit einer VM-Architektur könntest du einen Bare Metal Server in mehrere Server aufteilen und so langfristig Kosten sparen. Dieser Ansatz optimiert nicht nur die Ressourcennutzung, sondern bietet auch langfristig einen Kostenvorteil. Es ist jedoch wichtig, die Vor- und Nachteile des Einsatzes von Bare-Metal-Servern in diesem Zusammenhang abzuwägen und dabei Faktoren wie Leistung, Sicherheit und Skalierbarkeit für deine spezifischen Anforderungen zu berücksichtigen. Sind VMs langsamer als ein echter Computer? Die Optimierung der Geschwindigkeit hängt davon ab, wie der Ingenieur oder Systemadministrator die Ressourcen zugewiesen hat. Der richtige Einsatz eines Hypervisors bedeutet, dass alle Ressourcen richtig zugewiesen werden, um eine angemessene Leistung in allen VMs zu gewährleisten. Es gibt viele verschiedene Arten von VMs, aber zwei Haupttypen von Hypervisoren. In diesem Artikel beziehen wir uns auf Hypervisoren des ersten Typs, bei denen ein Host-Computer segmentiert wird, um mehrere virtuelle Maschinen zu hosten. Für die meisten "Cloud Computing"-Funktionen in Unternehmen, wie das OpenStack-Projekt, wird diese Art von Hypervisor verwendet. Die realen Hardwarekosten können die Kosten für mehrere VMs aufwiegen. Das ist aber nicht immer der Fall. Manchmal ist der Hypervisor (Host-Computer) nur ein gewöhnlicher Desktop-Computer, auf dem virtuelle Software läuft. Um ein einfaches Beispiel zu nennen: Software-Emulation wird oft für Spiele verwendet; mit einer VM kann ein Spieler Spiele installieren und ausführen, die nur für eine andere Plattform geschrieben wurden. Wenn du z. B. ein Linux-Betriebssystem verwendest, aber Windows-Spiele spielen möchtest, kann dir die Software-Emulation über eine VM-Anwendung, z. B. VMware Workstation oder VirtualBox, helfen. Was ist der Nutzen einer VM? VMs helfen bei einer Vielzahl von Anwendungen in der realen Welt. Virtuelle Maschinen werden häufig für die Softwareentwicklung, die Datenwiederherstellung und das Cloud Computing eingesetzt. Software-Entwicklung Indem sie eine virtuelle Umgebung erstellen und verwalten, können Entwickler/innen genaue Bedingungen auf mehreren Arbeitsplätzen nachstellen. Auf diese Weise lässt sich eine Software leicht testen und unter reproduzierbaren Bedingungen einhalten. Im Grunde genommen kann diese Art der Einhaltung von Vorschriften Entwicklern dabei helfen, ein Szenario zu vermeiden, in dem die Software auf einem Arbeitsplatzrechner gut läuft, auf einem anderen aber nicht. Im Grunde kannst du mit einer VM deinen Entwicklungsbereich genau an deine Produktionsumgebung anpassen. Mit VMs kann jedes Host-Betriebssystem jedes Gastbetriebssystem ausführen. Docker und Ansible Mit Programmen wie Docker und Ansible kannst du reproduzierbare Containerumgebungen erstellen, die offen/geschlossen sind und über dein Netzwerk oder mit anderen Nutzern auf separaten Arbeitsplätzen geteilt werden. Ansible bietet eine Plattform für die Erstellung und Pflege von Server- oder VM-Spezifikationen. Docker verwaltet verschiedene Software-Container, die in unterschiedlichen Umgebungen eingesetzt werden können. Mit Ansible kannst du die Bereitstellung von VMs und Softwarecontainern automatisieren. In einem Beispielszenario verwendet Ansible ein "Inventar", um zu verfolgen, welche Art von Server-Stack du replizieren willst. Wenn du zum Beispiel ein Inventar möchtest, das alles enthält, was du für einen einfachen Webserver brauchst (Linux, MySQL, PHP, Apache und vielleicht Nginx), kannst du das Ansible verwenden, um diese Pakete abzubilden. Ansible verwendet die Programmiersprache YAML, um das Inventar zu erstellen. Alles, was du in diesem Fall tun musst, ist, diese Software zu deinem Inventar hinzuzufügen und Ansible kann sie in einer virtuellen Umgebung in Betrieb nehmen. Ebenso kann dasselbe Inventar auf einem physischen Server verwendet werden, um mehrere virtuelle Maschinen zu starten. In kleinerem Maßstab kannst du Docker lokal verwenden, um schnell virtuelle Software-Container zu erstellen. Wenn du zum Beispiel etwas in einer neuen Linux-Installation testen willst, kannst du mit Docker die notwendigen Abhängigkeiten erstellen. Dabei handelt es sich im Grunde um eine virtuelle Instanz, denn sie ist kein eigenständiges Computersystem, sondern benötigt den Host-Computer, um zu laufen. VMs und Datenwiederherstellung VMs können zur Wiederherstellung von Daten verwendet werden, indem sie als virtuelle Speichercontainer fungieren. Anwendungen wie VMware, VirtualBox und Virtuozzo können verwendet werden, um virtuelle Umgebungen in einem Netzwerk aus physischer Hardware zu starten und zu verwalten. Die Verwendung einer VM als Backup-Disk kann eine zusätzliche Sicherheitsebene bieten, indem das Datenwiederherstellungssystem von der Produktionsumgebung getrennt wird. Dadurch werden auch die Auswirkungen kompromittierter Software oder von System-Exploits verringert. Cloud Computing auf VM-Plattformen Virtuelle Maschinen spielen eine Schlüsselrolle bei dem, was als "Cloud Computing" bekannt geworden ist. Große Datendienste können jetzt eine riesige Flotte von Computern verwalten und Speicherplatz auf ihrer Infrastruktur für virtuelle Computer verkaufen. (Dies wird auch als "Infrastructure as a Service" oder "IAAS" bezeichnet.) Sind virtuelle Maschinen sicher? Da Unternehmen zunehmend die Vorteile der Virtualisierung nutzen, stellt sich eine wichtige Frage: Sind virtuelle Maschinen sicher? Ein Blick auf die Sicherheitslandschaft von VMs zeigt ein differenziertes Bild, bei dem die Vorteile oft größer sind als die Risiken. Isolationsmechanismen Eines der grundlegenden Sicherheitsmerkmale der Virtualisierung ist die Isolierung, die sie zwischen den VMs bietet. Jede VM arbeitet unabhängig und gekapselt von den anderen auf demselben Host. Diese Isolierung hilft dabei, potenzielle Sicherheitslücken innerhalb einer einzelnen VM einzudämmen und zu verhindern, dass sie sich auf die gesamte Infrastruktur ausbreiten. Trotzdem muss man sich darüber im Klaren sein, dass die Wirksamkeit der Isolierung von der Robustheit der Virtualisierungsplattform und ihrer Konfiguration abhängt. Hypervisor-Schwachstellen Der Hypervisor, auch bekannt als Virtual Machine Monitor (VMM), ist eine kritische Komponente, die Ressourcen zwischen VMs verwaltet und zuweist. Jede Schwachstelle im Hypervisor kann ein erhebliches Sicherheitsrisiko darstellen, da eine Kompromittierung des Hypervisors unbefugten Zugriff auf mehrere VMs ermöglichen kann. Um dies zu verhindern, werden Hypervisoren strengen Sicherheitstests unterzogen und müssen regelmäßig aktualisiert werden, um erkannte Schwachstellen zu beheben. Gemeinsam genutzte Ressourcen und Seitenkanalangriffe VMs teilen sich physische Ressourcen wie CPU, Arbeitsspeicher und Speicher auf dem Host-Rechner. Es gibt zwar Mechanismen, die eine faire Zuweisung sicherstellen, aber es besteht die Gefahr von Seitenkanalangriffen, bei denen eine VM die gemeinsam genutzten Ressourcen ausnutzt, um Informationen von einer anderen zu erhalten. Um solche Risiken zu minimieren, müssen die Ressourcenzuweisung sorgfältig konfiguriert und Sicherheitsmaßnahmen implementiert werden, um potenzielle Schwachstellen durch Seitenkanäle zu verhindern. Wenn du Hosting-Plattformen unter die Lupe nimmst und Sicherheit ein wichtiges Thema ist, könnte es dich interessieren, mehr über die Sicherheit von Bare Metal Servern zu lesen. Wie viele Arten von VMs gibt es? Da virtuelle Maschinen im Grunde Container auf einem Computer sind, in denen Software läuft, gibt es zu viele Arten von virtuellen Maschinen, um sie hier aufzulisten. Meistens läuft auf dem Hypervisor-Computer Open-Source-Software wie OpenStack, um die VMs zu verwalten. Was die VMs selbst angeht, sind die Möglichkeiten grenzenlos. Es hängt alles vom Betriebssystem und deiner individuellen Konfiguration ab. Du könntest zum Beispiel eine virtuelle Maschine installieren, auf der ein beliebtes Linux-Betriebssystem wie Ubuntu läuft. Darüber hinaus kann es noch weitere Varianten geben. Du kannst auch eine benutzerdefinierte Ubuntu-Installation mit einer Reihe von Softwarepaketen vorinstallieren lassen. In unseren Anleitungen zu Ansible und Docker erfährst du mehr darüber, wie du das machen kannst. Die Anpassungsmöglichkeiten sind unbegrenzt, d.h. VMs sind im Wesentlichen nur durch die auf dem Host-Computer verfügbaren Ressourcen begrenzt. Diesen Artikel teilen Verwandte Artikel Was genau ist Managed Hosting? PSUs: Computer-Netzteile verstehen SSD vs. HDD Hosting: Was ist der Unterschied? Core Web Vitals: Wie Google die Nutzererfahrung deiner Website misst Kanonische URLs: Was sind sie und wann sollte man sie verwenden? Ein Leitfaden zum Verständnis von E-Mail-Hosting Was ist RAID? Server-Speicherredundanz verstehen Domain-Hosting vs. Webhosting Wie man einen Domainnamen registriert Was ist ein Bare-Metal-Server? Vor- und Nachteile