Una macchina virtuale (VM) è un ambiente applicativo che è isolato da tutti gli altri ambienti e simula un sistema indipendente. Utilizza una parte del disco rigido, della potenza di calcolo e della memoria del computer per questo scopo.
Su un sistema host, diverse macchine virtuali (VM) reciprocamente indipendenti possono funzionare in parallelo, che sono indipendenti dal sistema operativo del computer. L'hardware viene assegnato tramite gli hypervisor, che sono spesso chiamati anche monitor di macchine virtuali. Le connessioni di rete, la memoria principale, la potenza di calcolo e la capacità del disco rigido sono assegnate in modo esclusivo a una VM. Per l'utente, un sistema operativo installato all'interno della VM si comporta come se fosse stato installato direttamente sull'hardware. Questo non è riconosciuto da un sistema operativo o da un'applicazione in esecuzione su un ambiente virtuale. Tuttavia, poiché lo stesso strato di virtualizzazione interposto richiede certe risorse, una VM viene con alcune penalità di performance.
Tipi di hypervisor per allocare l'hardware alle diverse VM
Un hypervisor separa le risorse fisiche dalle VM, le partiziona come necessario e gestisce l'hardware. Così, fornisce un uso ottimale delle risorse di sistema disponibili e può essere spostato tra diversi server.
Ci sono 2 tipi di hypervisor:
- Tipo 1 hypervisor: Questo tipo di hypervisor recupera le risorse della VM direttamente dall'hardware utilizzando i propri driver. Un esempio è la KVM (macchina virtuale basata sul kernel). È stato integrato nel kernel Linux(R) nel 2007.
- Tipo 2 hypervisor: Questo tipo è un hypervisor ospitato. Le risorse per la VM sono richieste dal sistema operativo dell'host e poi vi si accede tramite l'hardware. Ein Beispiel für diesen Hypervisor-Typ ist die Oracle VirtualBox.
Die Vorteile von VMs
- Einsparung von Hardware
- kürzere Zeiten für die Bereitstellung von Anwendungen und Systemen
- Möglichkeit der Verschiebung und des Klonens durch einfaches Kopieren auf andere Systeme
- effizientere und bessere Nutzung von Hardwareressourcen
- über einen Hypervisor dynamisch zuteilbare Hardwareressourcen
- einfacheres Management der virtuellen Systeme
- unabhängig von der Art des Betriebssystems
- keine Beeinträchtigung von Services und Anwendungen einer VM untereinander
- vollständige Unabhängigkeit des Gastsystems von der zugrundeliegenden Hardware
- Unabhängigkeit des Gastsystems vom Betriebssystem des Host-Systems
- Failover- und Redundanzmöglichkeiten, ohne zusätzliche Hardware zu benötigen
- eine vom Rest des Systems isolierte Umgebung