Due piani VPS, stessa pagina. Quattro vCPU, 8 GB di RAM, 160 GB di spazio, prezzo quasi identico. Uno dice KVM. L'altro dice OpenVZ. Nessuna delle due pagine spiega cosa cambia quella parola.
Cambia ciò che ti è permesso eseguire. I tipi di virtualizzazione VPS non sono una semplice nota a piè di pagina sulle prestazioni. Decidono se controlli il kernel, se Windows è possibile e se Docker funziona senza l'intervento del provider. KVM vs. OpenVZ vs. LXC è una questione di capacità prima ancora che di velocità.
Questa guida copre le tre etichette più rilevanti per questa decisione d'acquisto. Xen, VMware, Hyper-V e altre piattaforme di virtualizzazione esistono, ma restano fuori da questo confronto a tre.
TL;DR
- KVM dà a ogni VPS il proprio kernel guest. Docker funziona normalmente, Windows è tecnicamente possibile e di solito puoi caricare moduli del kernel o avviare un kernel personalizzato. Tuttavia KVM da solo non garantisce CPU o RAM dedicate; gli impegni sulle risorse dipendono comunque dal provider e dal piano.
- OpenVZ i piani VPS sono normalmente container Linux che condividono il kernel dell'host. Docker può funzionare su OpenVZ 7 solo se il provider usa un kernel e una configurazione di template compatibili. Non puoi sostituire il kernel dell'host, e la memoria oltre la RAM passa dal VSwap controllato dal provider anziché dal normale swap su disco gestito dal guest.
- LXC condivide anch'esso il kernel dell'host, ma è costruito attorno alle funzioni di containment del Linux mainline. Docker può funzionare quando l'host abilita le funzioni richieste, anche se Proxmox consiglia di annidare i container dentro una macchina virtuale QEMU per i carichi che richiedono isolamento massimo e migrazione a caldo.
- I container sono di solito più facili da ridimensionare a caldo. Anche KVM può supportare l'hot-plug di CPU e memoria, quindi "KVM richiede sempre un riavvio" non è una regola d'acquisto affidabile. Chiedi al provider cosa supporta davvero la sua piattaforma.
- Per un sito statico o un piccolo stack LAMP che non ha mai bisogno di Docker, Windows o personalizzazioni a livello di kernel, la differenza pratica può essere minima. Isolamento, ciclo di vita e politica delle risorse possono comunque cambiare.
L'unica differenza che genera tutte le altre
KVM dà a ogni VPS sull'host il proprio kernel guest. I container OpenVZ e LXC usano il kernel avviato dall'host.
KVM è una soluzione di virtualizzazione completa per hardware x86 con estensioni di virtualizzazione. È stato integrato nel kernel Linux mainline a partire dalla 2.6.20. Ogni guest vede hardware virtuale e avvia il proprio sistema operativo e il proprio kernel.
I tipi container funzionano diversamente. LXC è un' interfaccia userspace per le funzioni di containment del kernel Linux, inclusi namespace, cgroup, capability, seccomp e profili di sicurezza. Punta a offrire un ambiente vicino a una normale installazione Linux senza avviare un kernel separato.
Un container OpenVZ segue lo stesso modello generale a kernel condiviso, anche se OpenVZ usa una propria piattaforma e un proprio stack di kernel. OpenVZ 7 può gestire sia container sia macchine virtuali KVM, ma quando un piano VPS commerciale è etichettato "OpenVZ", il prodotto venduto è normalmente il tipo container.
Tutte le differenze di capacità che seguono derivano da questo. Un modulo del kernel va caricato in un kernel che controlli tu. Un sistema operativo diverso richiede un kernel diverso. Docker ha bisogno di namespace a livello di kernel, che devono essere disponibili dove risiede il kernel stesso. Dal lato KVM di questo confine, il livello hypervisor segue un'architettura comunemente divisa in hypervisor di Tipo 1 e di Tipo 2.
LXC compare spesso in ambienti Proxmox, inclusi server autogestiti e alcune piattaforme di hosting. Se puoi abilitare le funzioni avanzate di LXC dipende da chi controlla quell'host.
Cosa ti permette di eseguire ciascun tipo
Gli assi che definiscono l'acquisto sono il controllo del kernel, il supporto del sistema operativo guest, la compatibilità con Docker, il comportamento della memoria, il ridimensionamento e la policy sulle risorse.
| Capacità | KVM | OpenVZ | LXC |
|---|---|---|---|
| Docker | Sì, in modo nativo | Condizionale: solo OpenVZ 7, e il provider deve usare un template EZ o un template personalizzato adatto, oltre alle funzioni del kernel host richieste | Condizionale: l'host deve abilitare il nesting e keyctl |
| Kernel personalizzato o moduli caricabili | Di solito sì | No, vincolato al kernel dell'host | No, condivide il kernel dell'host |
| Windows come sistema operativo guest | Sì, se il provider supporta l'immagine e il percorso di licenza | No, solo Linux | No, solo Linux |
| Moduli del kernel per VPN (WireGuard, OpenVPN) | Controllato dal guest | Dipende dal provider: TUN/TAP deve essere esposto | Dipende dal provider: dipende dalle funzioni del kernel abilitate sull'host |
| Controllo dello swap | Controllato dal guest | VSwap gestito dall'host anziché il normale swap su disco | Policy dell'host, cgroup v2 moderno |
| Ridimensionamento delle risorse a caldo, senza riavvio | Dipende dalla piattaforma, l'hot-plug di CPU e memoria è possibile | Spesso possibile | Spesso possibile |
| Garanzia di risorse dedicate | Non è intrinseca, decide la policy del provider | Non è intrinseca, e la densità dei container rende più facile il sovraccarico commerciale | Non è intrinseca |
Quale dovresti scegliere? KVM è la risposta più netta quando ti servono Windows, un kernel personalizzato, moduli caricati dal guest o un host Docker prevedibile. OpenVZ e LXC possono essere ambienti Linux efficienti, ma lasciano al provider le decisioni a livello di kernel.
Questa è una mappa delle capacità, non un benchmark. Non dice nulla su latenza dello storage, qualità della rete, generazione di CPU, utilizzo dell'host o policy di allocazione delle risorse del provider. Due provider che usano lo stesso tipo di virtualizzazione possono consegnare macchine molto diverse.
È sulle celle condizionali che gli acquirenti perdono tempo. Una volta ho messo in piedi una VPN su un VPS a container dove la funzione di rete richiesta lato host non era esposta. L'interfaccia non si attivava, e la soluzione ha richiesto un ticket al supporto invece di una modifica di configurazione dentro il guest. Con un piano a container, chiedi se il provider espone esattamente il dispositivo o la funzione del kernel di cui la tua VPN ha bisogno. Con KVM, normalmente controlli tutto questo dal guest.
Perché Docker è la domanda che decide la maggior parte degli acquisti
VPS a container contro VPS KVM smette di essere un confronto astratto nel momento in cui Docker compare tra i tuoi requisiti. Docker stesso usa namespace del kernel, cgroup, rete e driver di storage. Dentro KVM queste funzioni appartengono al kernel guest che controlli tu. Dentro OpenVZ o LXC dipendono in ultima analisi dall'host.
Docker su OpenVZ
Il supporto a Docker su OpenVZ è una decisione di provisioning presa al di sopra di te. Un articolo di supporto SolusVM afferma che Docker può girare dentro OpenVZ 7 a partire da una determinata release del kernel 3.10, ma dice anche che Docker non funziona con i template precreati legacy standard. Il container deve usare un template EZ o un template personalizzato adatto. Lo stesso articolo esclude i guest CentOS 8.
Quindi, Docker funziona su OpenVZ? A volte. Il provider deve aver costruito il servizio attorno a un kernel OpenVZ 7 compatibile e a un percorso di template adeguato. Se la pagina del piano non lo dice chiaramente, chiedi al supporto prima di acquistare e conserva la risposta per iscritto.
Quando la configurazione dell'host è incompatibile, cambiare i flag di Docker dentro il VPS non risolverà il problema di fondo. Serve che il provider cambi la configurazione del container o ti sposti su un altro tipo di virtualizzazione.
Docker su LXC
Docker può girare dentro LXC quando l'host espone le funzioni richieste. In Proxmox questo include comunemente il nesting dei container e keyctl per i container non privilegiati.
Il segnale d'acquisto più importante è la raccomandazione di chi sviluppa la piattaforma. La documentazione di Proxmox afferma che annidare i container dentro una VM QEMU di Proxmox resta una pratica consigliata per i casi d'uso che richiedono isolamento massimo e migrazione a caldo, invece di eseguirli direttamente in un container di sistema LXC.
Se controlli l'host LXC, puoi valutare quel compromesso e testare gli aggiornamenti secondo i tuoi tempi. Se invece noleggi un VPS LXC, è il provider a controllare kernel, profilo di sicurezza e flag delle funzioni avanzate. Fatti confermare la configurazione supportata invece di dare per scontato che basti l'accesso root dentro il container.
Docker su KVM
Docker funziona normalmente perché il guest Linux controlla il proprio ambiente kernel. Sopra il guest non c'è alcun interruttore di nesting LXC né alcun requisito di template OpenVZ. Ti servono comunque una distribuzione Linux supportata, un kernel compatibile e RAM e spazio sufficienti per il carico di lavoro.
Possedere il kernel guest significa anche mantenerlo. Su un VPS non gestito, aggiornamenti, regole del firewall, sicurezza di Docker e backup restano una tua responsabilità.
Punto chiave: Docker non rende impossibili OpenVZ o LXC, ma fa della configurazione del provider una componente dell'affidabilità della tua applicazione. Per un host Docker di produzione preso a noleggio, KVM elimina quella dipendenza in più.
Se "4 vCPU" significa quattro core CPU dedicati
Un VPS che sembra lento mentre il suo monitoraggio mostra la CPU a riposo è il sintomo che le persone descrivono più spesso. È la virtualizzazione a container a renderlo possibile. La contesa avviene uno strato sotto ciò che il guest può vedere, quindi le sue metriche non segnalano nulla di anomalo.
Il meccanismo è proprio il basso overhead. Un container costa all'host molto meno di una macchina virtuale completa, quindi sullo stesso hardware ne entrano di più. Quella densità è economica da creare e difficile da rilevare dall'interno del guest, il che rende il sovraccarico commerciale strutturalmente più facile su OpenVZ che su KVM. KVM non impedisce a un provider di stipare un host. Però impegna memoria reale e quote reali di CPU per guest, il che pone un tetto aritmetico a quanto si può stipare. Il lato diagnostico ha una guida dedicata su come capire se il tuo provider sta facendo sovraccarico commerciale.
Anche la memoria si comporta diversamente. Su OpenVZ non puoi usare lo swap su disco come memoria aggiuntiva, quindi la cifra di RAM sulla pagina del piano è un muro, non una salita. Un guest KVM sotto pressione di memoria rallenta. A un container OpenVZ sotto pressione di memoria vengono uccisi i processi.
C'è anche una conseguenza sull'isolamento, ed è quella che si sottovaluta di più. La memoria di un container è indirizzabile dall'host in un modo in cui quella di un guest KVM non lo è. La cifratura del disco dentro il guest ti protegge ancora da un disco rubato. Non protegge le chiavi di un container in esecuzione dalla macchina che lo sta eseguendo. Se il tuo modello di minaccia include l'operatore dell'host, un kernel condiviso è il substrato sbagliato. Nessuna configurazione dentro il guest lo cambia.
Punto chiave: lo stesso numero su una pagina di un piano è una promessa diversa a seconda del tipo. Su KVM è un'assegnazione. Su OpenVZ è un tetto che condividi.
Dove OpenVZ ha ancora senso, e dove sta andando
Se fai girare un sito statico o uno stack LAMP a basso traffico, potresti non toccare mai le capacità che OpenVZ limita. Niente Windows, niente kernel personalizzato, niente moduli caricati dal guest, niente Docker in produzione. Per quel carico di lavoro ristretto, un container OpenVZ ben gestito fa ancora il suo mestiere.
Il ciclo di vita richiede più attenzione di dieci anni fa. OpenVZ 7 si basa sul ramo kernel di RHEL 7, versione 3.10. Il numero di versione da solo non dimostra che a un kernel enterprise mantenuto manchino correzioni di sicurezza, perché i vendor fanno backport delle patch. Significa però che dovresti verificare la compatibilità con software che si aspetta interfacce kernel più recenti.
The open-source OpenVZ project and the commercial Virtuozzo product are on separate tracks, and the commercial one has published dates. Virtuozzo Hybrid Server 7 reached end of maintenance in July 2024 and is listed for end of life in December 2027 in the politica ufficiale sul ciclo di vita.
Questo non rompe oggi un sito OpenVZ che funziona. Rende però rilevante il piano di migrazione del provider prima che ci affidi un nuovo carico di lavoro di lunga durata. Chiedi quale versione di OpenVZ o Virtuozzo è in esecuzione, come vengono distribuite le correzioni di sicurezza e quale percorso di migrazione è disponibile.
Quando la pagina di un piano non indica il tipo di virtualizzazione, chiedilo al supporto invece di dedurlo dal prezzo. La risposta vale la pena averla per iscritto.
Scegliere in base al carico di lavoro
Parti dal requisito, non dalla tecnologia.
Scegli KVM quando il carico di lavoro ha bisogno di un kernel proprio
KVM è la scelta diretta quando ti serve una qualsiasi di queste cose:
- Windows come sistema operativo guest
- Un kernel personalizzato
- Moduli del kernel caricati dal guest
- Docker in produzione senza dipendenze da container dentro container
- Virtualizzazione annidata, quando il provider la espone
- Swap e tuning del kernel controllati dal guest
Windows è decisivo perché sia i container OpenVZ sia quelli LXC usano un kernel host Linux. Scegliere tra Linux e Windows per l'applicazione in sé è una questione a parte, che riguarda compatibilità software, amministrazione e licenze. Vedi il confronto tra VPS Linux e Windows per quella decisione.
Scegli LXC quando vuoi un container di sistema Linux efficiente
LXC è razionale quando il carico di lavoro è solo Linux, non ha bisogno di un kernel separato e trae vantaggio da un basso overhead o da modifiche rapide gestite dall'host. È particolarmente utile quando controlli tu stesso l'host Proxmox o LXC.
Per un VPS LXC a noleggio, verifica il supporto a Docker, i dispositivi richiesti, la modalità di sicurezza, il comportamento dei backup e se le funzioni avanzate possono essere abilitate.
Valuta OpenVZ per un carico Linux semplice e verificato
OpenVZ può ancora essere accettabile per un sito web di base, un piccolo stack LAMP, un servizio DNS o un carico Linux altrettanto convenzionale, quando:
- Il provider documenta la versione della piattaforma.
- Il tuo software supporta l'ambiente kernel disponibile.
- Non ti servono né Windows né personalizzazioni del kernel.
- Docker è o superfluo o esplicitamente supportato.
- Il provider ha un piano credibile di sicurezza e migrazione.
- Il prezzo o il modello operativo ti dà un motivo reale per sceglierlo.
Non sceglierlo solo perché un vecchio confronto dice che OpenVZ costa sempre meno. Confronta il piano attuale, il supporto, la policy sulle risorse e le opzioni di migrazione.
Se la tua risposta è finita su KVM, è il vincolo a decidere, non una preferenza. Il VPS KVM di Cloudzy si avvia in 60 secondi su AMD EPYC con NVMe puro, e ogni istanza riceve il proprio kernel guest. I moduli del kernel si caricano, i kernel personalizzati si avviano, e sono supportati guest sia Linux sia Windows. Docker è nel marketplace se preferisci non installarlo da solo.
Domande frequenti
Posso far girare Docker su un VPS OpenVZ?
Solo se il provider ha configurato un ambiente OpenVZ 7 compatibile. SolusVM documenta il supporto su kernel OpenVZ 7 sufficientemente recenti con template EZ o personalizzati adatti, mentre i template legacy standard non funzionano. Considera Docker non supportato finché il provider non conferma la configurazione esatta.
OpenVZ può eseguire Windows?
No, non come container OpenVZ. Il container condivide il kernel Linux dell'host. KVM può eseguire un guest Windows perché la macchina virtuale avvia il proprio kernel di sistema operativo, anche se il provider deve comunque supportare immagine, ISO e percorso di licenza.
LXC è la stessa cosa di Docker?
No. LXC si usa di solito per container di sistema che somigliano a macchine Linux leggere, con un sistema di init e più processi. Docker è una piattaforma di container applicativi costruita attorno a immagini e singoli servizi. Entrambi usano funzioni del kernel Linux come namespace e cgroup, ed è per questo che i termini vengono a volte confusi.
Che cos'è un VPS LXC?
Un VPS LXC è un container di sistema Linux ospitato tramite LXC o una piattaforma basata su LXC come Proxmox. Sembra e si comporta molto come un piccolo server Linux, ma condivide il kernel dell'host invece di avviare il proprio. Questo lo rende leggero e allo stesso tempo limita il controllo a livello di kernel.
Come faccio a sapere quale tipo di virtualizzazione usa un provider?
Controlla la pagina del piano o chiedi al supporto. Dentro un'istanza Linux, questo comando spesso identifica l'ambiente:
systemd-detect-virt
Può restituire valori come kvm, openvz, o lxc. Il rilevamento dall'interno del guest è utile, ma la specifica scritta del provider resta la fonte migliore prima dell'acquisto.
KVM garantisce CPU e RAM dedicate?
No. KVM supporta l'overcommit di CPU e memoria. Un provider può offrire risorse riservate, condivise o un misto delle due. Cerca formule esplicite come RAM dedicata, CPU pinnata, vCPU riservata o nessun overcommit, invece di dare per scontato che lo garantisca l'hypervisor.
KVM è sempre la scelta migliore?
No. KVM è l'unica scelta per Docker, kernel personalizzati e Windows, ma per un carico di lavoro che non tocca mai nulla di tutto ciò la differenza pratica è quasi invisibile.

Discussione
Commenti
Accedi per partecipare alla discussione.