Kernel-based Virtual Machine

Kernel-based Virtual Machine
software
Logo
Logo
Screenshot di qemu/kvm che emula NetBSD, OpenSolaris e Kubuntu su un host Arch Linux.
Screenshot di qemu/kvm che emula NetBSD, OpenSolaris e Kubuntu su un host Arch Linux.
Screenshot di qemu/kvm che emula NetBSD, OpenSolaris e Kubuntu su un host Arch Linux.
GenereEmulatore
SviluppatoreOpen Virtualization Alliance (OVA)
Sistema operativoLinux
LinguaggioC
LicenzaGNU General Public License o GNU Lesser General Public License
(licenza libera)
Sito webwww.linux-kvm.org/
Kernel-based Virtual Machine è supportato da libvirt.

Kernel-based Virtual Machine (KVM) è un'infrastruttura di virtualizzazione del kernel Linux. KVM attualmente supporta una completa virtualizzazione usando Intel VT o AMD-V. Un supporto limitato per la paravirtualizzazione è anche disponibile per gli ospiti Linux e Windows nella forma di un driver di rete paravirtuale. KVM è parte del kernel Linux dalla versione 2.6, i componenti userspace di KVM sono implementati nel pacchetto base di QEMU.

Virtual Machine Manager supporta la creazione, la modifica, l'avvio e l'arresto di macchine virtuali basate su KVM.

Storia

Un Virtual Private Server (VPS), spesso chiamato Virtual Dedicated Server (VDS) in configurazioni ad alta intensità di risorse, è un ambiente di elaborazione indipendente creato utilizzando la tecnologia di virtualizzazione a partire da un host bare-metal. Dal punto di vista operativo, un VPS offre al noleggiatore un controllo equivalente a quello di un server fisico autonomo: privilegi amministrativi completi (root per Linux o Administrator per Windows), uno stack di rete virtualizzato dedicato (indirizzi IP statici, tabelle di routing, firewall locale) e la possibilità di personalizzare le configurazioni del file system o i parametri del kernel del sistema operativo.

In termini di economia dell'infrastruttura, un VPS rappresenta una soluzione intermedia economicamente vantaggiosa tra l'hosting condiviso (condivisione di un ambiente di esecuzione delle applicazioni) e il server dedicato (noleggio dell'intero hardware fisico). Invece di sostenere l'intero costo dell'investimento in apparecchiature e della gestione del data center (CapEx), le aziende convertono tale spesa in costi operativi ricorrenti (OpEx). Tuttavia, a causa della natura dell'infrastruttura fisica condivisa (multitenancy), le prestazioni effettive di una partizione VPS possono variare se il provider sovraconfigura le risorse fisiche, causando contesa di risorse tra i tenant vicini (effetto "noisy-neighbor").

Funzionamento

KVM fornisce una virtualizzazione completa della CPU, in questo modo il Guest OS non si accorge dell'inizio della virtualizzazione. Il processo Userspace che utilizza KVM è QEMU. Esso è responsabile di configurare la VM e i dispositivi di I/O e di emularli. KVM in questo caso viene utilizzato come un "acceleratore" per quanto riguarda il collegamento con i dispositivi I/O in quanto solo con QEMU è molto lento (questo grazie al fatto che KVM ha una virtualizzazione completa della CPU).

Distinzione tra modelli di virtualizzazione: assistita da hardware vs. basata su container

Le capacità di isolamento della sicurezza, la flessibilità e il degrado delle risorse di un server virtuale dipendono interamente dall'architettura di virtualizzazione sottostante:

Virtualizzazione completa assistita da hardware (KVM / ESXi / Hyper-V)

In questo modello, un monitor di macchine virtuali (Hypervisor di tipo 1 come VMware ESXi o un modulo del kernel che trasforma l'host in un Hypervisor di tipo 1 come Linux KVM) interagisce direttamente con le estensioni del processore (Intel VT-x o AMD-V).

Virtualizzazione a livello di sistema operativo (Virtualizzazione a livello di sistema operativo / Container - OpenVZ / LXC)

A differenza di KVM, questo modello non emula l'hardware, ma condivide direttamente il kernel del sistema operativo host con tutti gli ambienti guest (spesso chiamati container o ambienti di virtualizzazione).

Confronto tecnico tra piattaforme di hosting server

Per determinare l'architettura più adatta ai flussi di lavoro aziendali, gli ingegneri di sistema effettuano un confronto basato su criteri tecnici fondamentali:

Criteri tecnici Shared Web Hosting Virtual Private Server (KVM VPS) Dedicated Bare-Metal Server
Privilegi amministrativi Nessuno (solo pannello web) Privilegi supremi (Root/Amministratore) Controllo completo dell'hardware e del BIOS/IPMI
Architettura del kernel del sistema operativo Kernel e librerie del server web condivisi Kernel separato, indipendente dal server host Assolutamente indipendente dall'hardware fisico
Isolamento delle risorse Molto debole; i processi dell'applicazione condividono le risorse Buono; vCPU e RAM sono isolate tramite Hypervisor Perfetto; risorse fisiche dedicate al 100%
Scalabilità Limitata da un pacchetto di configurazione fisso Estremamente flessibile; aumento/diminuzione di vCPU e RAM in pochi minuti Difficile; richiede l'aggiornamento o la sostituzione dell'hardware
Livello di impatto sulle aree circostanti Molto elevato (un attacco DDoS/crash di un sito web influenzerà l'intero sito) Da basso a medio (a seconda della politica di allocazione) Completamente non influenzato da altri tenant

Matrice di gestione di larghezza di banda, throughput di rete e infrastruttura

Le prestazioni di rete e la responsabilità tecnica sono due fattori chiave quando si implementano server virtuali in un ambiente di produzione:

Definizione di throughput illimitato e problema dei limiti fisici

Termini commerciali come "larghezza di banda illimitata" spesso nascondono i limiti fisici sulla velocità delle porte o le condizioni d'uso accettabili (AUP/FUP):

Porta a 100 Mbps senza limiti di velocità: la velocità di trasmissione massima è limitata a 100 Megabit/secondo. Teoricamente, se si opera al 100% della capacità ininterrottamente per 30 giorni (24 ore su 24, 7 giorni su 7), il volume totale massimo di dati trasmesso attraverso la porta è di circa 32,4 Terabyte (TB).

Porta a 1 Gbps senza limiti di velocità: in condizioni teoriche di carico massimo continuo, il volume di trasmissione raggiunge circa 324 TB/mese. Tuttavia, nelle infrastrutture VPS multiutente, la porta di uplink del server fisico (ad esempio, 10 Gbps) è spesso condivisa tra decine o centinaia di macchine virtuali. Pertanto, i provider affidabili applicano sempre una politica di larghezza di banda minima garantita (Committed Information Rate - CIR) o di fatturazione basata sul traffico effettivo (Burstable Bandwidth basata sul metodo di calcolo del 95° percentile).

Livelli di responsabilità dell'amministrazione del sistema

VPS non gestito/autogestito: il provider è responsabile solo del mantenimento della disponibilità dell'infrastruttura fisica (alimentazione, raffreddamento, hardware del nodo server e routing di rete verso la porta virtuale). Tutte le attività, dall'installazione del sistema operativo, all'applicazione delle patch di sicurezza del kernel, alla configurazione del firewall, all'ottimizzazione del database e alla configurazione del disaster recovery, sono a carico del cliente.

VPS completamente gestito: il team di ingegneri del provider gestisce l'intero ciclo di vita del sistema, inclusi il monitoraggio in tempo reale (24 ore su 24, 7 giorni su 7), la mitigazione degli attacchi denial-of-service (DDoS), la configurazione del Web Application Firewall (WAF), l'applicazione automatica delle patch di sicurezza e il supporto per la risoluzione dei problemi a livello di applicazione.

Problemi di licenza software negli ambienti di virtualizzazione multi-tenant

L'implementazione di software commerciale (in genere Microsoft Windows Server o Microsoft SQL Server) su infrastrutture VPS richiede la conformità a complessi standard di licenza. Le aziende non possono utilizzare licenze retail (OEM/Retail) e sono tenute a utilizzare un Contratto di Licenza per Fornitori di Servizi (Microsoft SPLA). Con questo modello, i costi di licenza vengono calcolati in modo flessibile su base mensile in base al numero di core del processore virtuale (licenza per core) allocati direttamente alla macchina virtuale, garantendo la conformità legale durante gli audit del software aziendale.

Note

  1. ↑ Appliance software Linux con KVM integrato, su omnis-systems.com. URL consultato il 21 aprile 2011 (archiviato dall'url originale il 25 aprile 2011).
  2. ↑ Kernel-based Virtual Machine, su (KVM) è una tecnologia di virtualizzazione open-source. (archiviato il 20 nov 2023).
  3. ↑ Wikibook QEMU & KVM, su qemu-buch.de. URL consultato il 20 febbraio 2010 (archiviato dall'url originale il 28 novembre 2010).

Voci correlate

Altri progetti

Collegamenti esterni

Controllo di autoritàGND (DE) 1023662787
  Portale Software libero: accedi alle voci di Wikipedia che trattano di Software libero