SSD Nodes Learn 🎉 VPS da $5.50/mese
Guide Matt ConnorDi Matt Connor · Aggiornato 2026-08-13

Storage VPS o VPS standard: cosa cambia davvero

Confronta Storage VPS e VPS standard: terabyte economici contro NVMe, CPU e RAM. Scopri le specifiche decisive e il carico adatto a ciascun piano.

Storage VPS rispetto a un VPS standard: risposta breve

Un storage VPS è un server privato virtuale venduto in terabyte, mentre un VPS standard è venduto in core. Il piano storage offre diversi terabyte di disco lento con una quota ridotta di CPU. Il piano standard offre un disco NVMe (non-volatile memory express) veloce, spesso venti volte più piccolo, oltre a più potenza di elaborazione e più memoria a parità di costo. Per il resto, i due prodotti sono equivalenti: stesso hypervisor, stessa shell root, stessa immagine Ubuntu, stesso stack di rete.

Questa sola differenza determina l'ambito di utilizzo. Uno storage VPS è adatto a destinazioni per i backup, librerie multimediali, archivi a freddo e a qualsiasi dato che venga scritto una volta e letto raramente. Non è adatto a un database né a una pagina su cui l'utente deve attendere il caricamento, perché questi carichi di lavoro richiedono letture casuali di piccole dimensioni che devono completarsi in circa un millisecondo. La capacità economica ha un costo ridotto proprio perché non è in grado di farlo.

I piani che trovi in una pagina dei prezzi

Quattro etichette coprono quasi tutti i provider, ma solo due hanno un significato specifico.

  • VPS standard. Da due a otto vCPU, da 2 GB a 32 GB di RAM e da 20 GB a 400 GB di NVMe o SSD SATA presenti direttamente sul nodo host.
  • VPS storage. Da 1 TB a 20 TB o più, in genere su dischi SATA meccanici o SSD SATA ad alta capacità, con da una a quattro vCPU condivise e una quantità di RAM contenuta. Spesso ha lo stesso costo mensile di un piano standard di piccole dimensioni.
  • VDS. Abbreviazione di virtual dedicated server. Non esiste una definizione condivisa di questo termine; nella sezione seguente è indicato cosa leggere al suo posto.
  • Volume di block storage. Non è affatto un piano: è un disco collegato alla rete che aggiungi a un VPS esistente e paghi per GB al mese. È l'unica delle quattro opzioni che puoi espandere senza spostare il server.

Questi intervalli descrivono la configurazione comune del mercato, non l'offerta di una specifica azienda. L'etichetta del piano indica una categoria, quindi ti dice più o meno su quale chassis risiede il server. Non indica il tipo di disco, il criterio di allocazione della CPU o la disponibilità di banda; sono invece questi i parametri che determinano se il carico di lavoro funziona correttamente.

Cosa cambia realmente tra i due piani

Tipo e quantità dei dischi. Questa è l’unica differenza sostanziale tra i prodotti. Un piano standard usa storage flash NVMe collegato tramite bus PCI Express. Un piano storage usa un ampio array di dischi magnetici rotanti oppure SSD SATA ad alta capacità. Se non sai quale di questi aspetti sia importante per te, inizia da cos’è un VPS con SSD e in cosa differisce dai piani con dischi tradizionali e poi consulta la differenza pratica tra SSD NVMe e SATA.

Rapporto CPU. I piani storage offrono meno vCPU per terabyte e queste vCPU sono quasi sempre condivise con altri tenant. Non è un difetto. Un sistema di destinazione per i backup passa la maggior parte del tempo in attesa della rete, quindi non ha bisogno di molti core.

RAM. Rispetto al prezzo, i piani storage offrono poca RAM. Questo crea problemi in un caso specifico: i metadati del filesystem. Milioni di file di piccole dimensioni richiedono memoria per la cache delle directory e degli inode. Senza memoria sufficiente, ogni elenco delle directory deve accedere nuovamente al disco.

Traffico di rete incluso. Leggi con attenzione questa voce in un piano storage. Una capacità da cui non puoi ripristinare i dati non è un backup. Controlla il traffico mensile incluso in TB e la velocità della porta in Gbit/s, perché il ripristino completo di 4 TB tramite una porta da 1 Gbit/s richiede circa nove ore alla velocità nominale della linea e molto più tempo se la porta è condivisa.

ChartTypical advertised disk cost per TB per month, August 2026
The data behind this chart
[
  {
    "plan": "Storage VPS, HDD",
    "usd_per_tb_month": 3
  },
  {
    "plan": "Storage VPS, SATA SSD",
    "usd_per_tb_month": 9
  },
  {
    "plan": "Standard VPS, NVMe",
    "usd_per_tb_month": 40
  },
  {
    "plan": "Block storage add-on",
    "usd_per_tb_month": 90
  }
]

Sono valori arrotondati ricavati dalle pagine pubbliche dei prezzi di diversi provider ad agosto 2026. Non rappresentano un preventivo di una singola azienda e possono cambiare. La tendenza generale è invece più stabile. Un terabyte in un piano storage con dischi rotanti costa circa 3 dollari statunitensi al mese. Lo stesso terabyte su storage NVMe in un piano standard costa circa 40, mentre un volume a blocchi collegato tramite rete è l’opzione più costosa tra le 4 disponibili, con un costo di 90. Per una panoramica più ampia dei componenti della spesa mensile, consulta quanto costa realmente un VPS al mese.

Perché il prezzo per TB e il prezzo per core si muovono in direzioni opposte

Un nodo di storage è uno chassis che contiene da dodici a sedici dischi di grandi dimensioni, con un processore relativamente modesto. Un nodo di calcolo è l'opposto: molti core, molta RAM e due o quattro unità NVMe. Il provider vende le risorse inutilizzate di quello chassis. Di conseguenza, un piano economico per terabyte è costoso per core, mentre un piano economico per core è costoso per terabyte. Non esiste un piano economico per entrambi, perché nessuno chassis è configurato in questo modo.

Per questo, la risposta corretta alla domanda «quale dovrei acquistare?» è spesso «entrambi». Un VPS con NVMe di piccole dimensioni che esegue l'applicazione, insieme a un VPS di storage che conserva i backup, costa meno di una macchina abbastanza grande da gestire bene entrambi i carichi. Se una sola macchina deve necessariamente svolgere entrambe le funzioni, non si tratta più di un VPS: vedere quando un server dedicato è preferibile a un VPS.

Le letture casuali sono il limite di un disco economico

ChartRandom 4k read figures by disk class, vendor datasheet order of magnitude
The data behind this chart
[
  {
    "disk": "7200 rpm SATA HDD",
    "random_read_iops": "180",
    "typical_latency_ms": 8.5
  },
  {
    "disk": "SATA SSD",
    "random_read_iops": "75,000",
    "typical_latency_ms": 0.2
  },
  {
    "disk": "NVMe SSD",
    "random_read_iops": "600,000",
    "typical_latency_ms": 0.08
  }
]

Questi sono valori indicativi della classe del dispositivo, non risultati di un benchmark eseguito presso un provider. Un disco a 7200 rpm gestisce circa 180 letture casuali da 4k al secondo, perché la testina deve spostarsi fisicamente sulla traccia e poi attendere che il piatto porti il settore sotto di essa. Ogni operazione richiede circa 8.5 ms. La memoria flash non deve spostare alcuna testina, quindi un SSD SATA raggiunge circa 75,000 IOPS e un dispositivo NVMe circa 600,000 IOPS, con una latenza di 0.08 ms. La differenza supera un fattore di tremila e nessuna quantità di RAM o CPU può colmarla.

Il lavoro sequenziale è completamente diverso. Per questo i piani di storage sono comunque utili. Un singolo disco magnetico raggiunge ancora una velocità di streaming compresa tra 150 MB/s e 250 MB/s, mentre un array di dischi raggiunge velocità superiori. Questo satura una porta da 1 Gbit/s. Di conseguenza, il caricamento di un backup raggiunge la massima velocità di rete e il disco non costituisce mai il limite. I valori dipendono anche dalla configurazione dell'array, perché lo striping distribuisce una singola richiesta su più dischi: come RAID 10 modifica le prestazioni del piano di storage descrive questo aspetto.

Che cosa significa VDS?

Di solito è un’etichetta di marketing. Il termine viene usato con tre significati comuni, ma il provider raramente specifica quale si applichi. Alcuni usano VDS per indicare core CPU riservati o dedicati, in modo che nessun altro tenant possa competere per il tempo di CPU. Altri lo usano per indicare la virtualizzazione completa, ad esempio KVM, in contrapposizione alla virtualizzazione basata su container, come LXC o OpenVZ, in cui si condivide il kernel dell’host. Altri ancora lo usano senza attribuirgli alcun significato tecnico, oltre a essere un nome che suona più importante di VPS.

Puoi verificarne una parte dall’interno del server. systemd-detect-virt stampa kvm su una macchina virtuale completa e lxc su un container. In un container non puoi caricare moduli del kernel né usare un kernel personalizzato. L’effettiva disponibilità di CPU dedicata deve essere verificata misurando lo steal time, come descritto più avanti. Considera le lettere del piano come un’indicazione e le righe delle specifiche come il contratto.

Quali righe della specifica controllare invece del nome

  • La parola riportata accanto alla capacità: NVMe, SSD, SATA o HDD. Se nella pagina non compare alcun termine relativo al disco, considera l'hardware meno costoso compatibile con il prezzo.
  • Verifica se il disco è locale al nodo o collegato tramite rete. Lo storage collegato tramite rete aggiunge latenza a ogni richiesta e resta disponibile in caso di guasto del nodo. Il disco locale è più veloce, ma diventa inutilizzabile insieme al nodo.
  • La descrizione della CPU: "dedicated" o "pinned" rispetto a "shared", "fair share" oppure nessuna indicazione.
  • Qualsiasi limite di IOPS o MB/s indicato nel piano. Con un limite di 500 IOPS, il tipo di disco è quasi irrilevante.
  • La quota mensile di trasferimento e la velocità della porta, che determinano la durata di un ripristino completo.
  • Verifica se snapshot, backup e indirizzi IP aggiuntivi sono inclusi o fatturati separatamente.

Come verificare il disco effettivamente assegnato

Parti da ciò che segnala il kernel, quindi smetti di considerarlo attendibile.

lsblk -d -o NAME,ROTA,SIZE,MODEL
df -h /
nproc
free -h

ROTA vale 1 per un dispositivo rotazionale e 0 per un dispositivo flash. Non fare affidamento su questo valore all’interno di una VPS: un disco virtio di solito restituisce ROTA=0, indipendentemente da ciò che si trova dietro di esso, perché l’hypervisor presenta un dispositivo a blocchi generico e il guest non vede mai l’unità fisica. Per lo stesso motivo, MODEL è vuoto. Il flag descrive ciò che ha dichiarato l’hypervisor, non ciò che ruota nel rack; esegui quindi una misurazione.

sudo apt update && sudo apt install -y fio
fio --name=randread --filename=/var/tmp/fio.test --size=1G --bs=4k --rw=randread \
  --ioengine=libaio --direct=1 --iodepth=32 --runtime=30 --time_based --group_reporting
rm -f /var/tmp/fio.test

--direct=1 bypassa la page cache, quindi misura il disco invece della RAM. La riga da leggere è read: IOPS=, con la distribuzione sotto clat percentiles (usec). Un piano NVMe standard restituisce decine di migliaia di IOPS, con il 99º percentile inferiore a un millisecondo. Un piano di storage su disco rotazionale restituisce alcune centinaia di IOPS, con il 99º percentile nell’ordine delle decine di millisecondi. Se fio segnala che il motore libaio non è caricabile, usa --ioengine=psync --iodepth=1 e aspettati valori inferiori, perché quel motore invia una richiesta alla volta.

vmstat 1 5
sudo apt install -y sysstat
iostat -x 1 5

In vmstat, la colonna st indica lo steal time: la percentuale di tempo in cui la vCPU era pronta per l’esecuzione, mentre l’host assegnava quei cicli a un altro guest. Un valore stabile superiore a 5 indica che il nodo è sovraccarico, ed è il vero test per verificare una dichiarazione di "CPU dedicata". In iostat -x, controlla %util, r_await e w_await. Un valore %util vicino a 100, con w_await nell’ordine delle decine di millisecondi, indica che il disco è il collo di bottiglia e che nessuna ottimizzazione dell’applicazione sarà utile. Per i controlli specifici dei dispositivi flash, verificare che un disco NVMe sia realmente NVMe fornisce maggiori dettagli.

Scegliere in base al carico di lavoro

  • Destinazione dei backup per restic, Borg o rsync. Scegliete uno Storage VPS: è il caso d’uso per cui è stato progettato. Le scritture sono grandi e sequenziali, la deduplicazione avviene sulla macchina sorgente e nessun processo deve attendere il risultato. C’è però un aspetto da considerare: restic prune e restic check --read-data leggono l’intero repository in piccoli blocchi, quindi prevedete diverse ore e pianificate l’esecuzione. Consultate eseguire backup restic su un VPS.
  • Libreria multimediale Immich o Jellyfin. Usate uno Storage VPS per i file, ma considerate il carico sulla CPU. Immich genera miniature ed esegue processi di machine learning durante l’importazione, mentre Jellyfin transcodifica i contenuti durante la riproduzione. Due vCPU condivise impiegheranno molto tempo per completare la prima importazione di 200 GB di foto. Mantenete il database e la cache delle miniature sul disco più veloce del server. Per il dimensionamento, consultate eseguire il self-hosting di Immich come alternativa a Google Photos.
  • PostgreSQL o MySQL. Scegliete un piano NVMe standard. Ogni commit termina con un fsync che deve raggiungere lo storage persistente prima che la transazione restituisca il controllo; di conseguenza, la latenza del commit è la latenza del disco. Inoltre, una ricerca in un indice è una lettura casuale di 8 kB, esattamente il tipo di operazione per cui un disco meccanico offre le prestazioni peggiori.
  • Applicazione web, API o control plane. Scegliete un piano standard. Questi carichi richiedono core e latenza prevedibile e raramente necessitano di più di 100 GB.
  • Cache CI o archivio degli artefatti. Dipende dalla dimensione dei file. I tarball di grandi dimensioni vengono trasferiti da un piano di storage alla massima velocità di rete. Una cache con centinaia di migliaia di file piccoli, scaricati in parallelo da diversi runner, equivale a IO casuale e può offrire prestazioni deludenti.

Ecco cosa succede quando si configura in modo errato

Il problema non si manifesta subito. Un database su un piano di storage con dischi rotanti sembra funzionare correttamente con un utente e crolla con dieci, perché le query che prima usavano la RAM iniziano ad accedere al disco e ogni operazione richiede millisecondi invece di microsecondi. Il load average aumenta, mentre top mostra una CPU per lo più inattiva e un valore %wa elevato. Questo indica che i processi sono bloccati in attesa del disco, invece di eseguire calcoli. iostat -x 1 mostra %util quasi fisso al 100.

PostgreSQL lo indica chiaramente nei propri log, perché log_checkpoints è attivo per impostazione predefinita dalla versione 15:

LOG:  checkpoint complete: wrote 8241 buffers (2.5%); ... write=112.402 s, sync=9.318 s, total=121.914 s

Il valore sync= è quello importante. Indica il tempo durante il quale il checkpoint ha atteso che fsync terminasse. Un valore espresso in secondi significa che il disco non riesce ad assorbire le scritture alla stessa velocità con cui il database le genera. Le connessioni client si bloccano durante questo intervallo, anche se la query è poco costosa. La soluzione non consiste nel modificare la configurazione. Sposta la directory dei dati su NVMe e usa il piano di storage per lo scopo per cui è adatto: conservare i backup del database.

FAQ

Un VPS storage è più lento di un VPS normale?

Per le letture e scritture casuali, sì, con un margine significativo. Un piano storage con dischi rotazionali gestisce alcune centinaia di richieste casuali di piccole dimensioni al secondo, con una latenza di circa 8 ms per richiesta, mentre un piano NVMe ne gestisce decine di migliaia con una latenza ben inferiore a 1 ms. Nei trasferimenti sequenziali la differenza è molto più contenuta, perché un array storage raggiunge comunque almeno 150 MB/s, una velocità sufficiente a saturare una porta da 1 Gbit/s. Misura le prestazioni del tuo sistema con fio --rw=randread --bs=4k --direct=1 prima di decidere.

Posso eseguire PostgreSQL su un VPS storage?

Puoi avviarlo e funzionerà finché il working set resterà contenuto nella RAM. In seguito, ogni commit attenderà un fsync su un disco lento e Postgres lo registrerà come valore sync= espresso in secondi all'interno di checkpoint complete, mentre iostat -x 1 mostrerà %util vicino al 100 con un w_await elevato. La configurazione più comune prevede un piccolo VPS NVMe per il database e un VPS storage come destinazione dei suoi dump.

VDS significa che ottengo hardware dedicato?

Non necessariamente. VDS non ha un significato standard. Alcuni provider usano questo termine per indicare core CPU assegnati in modo esclusivo, altri per la virtualizzazione KVM completa invece di un container con kernel condiviso, altri ancora lo usano soltanto come denominazione commerciale. Esegui systemd-detect-virt per verificare se utilizzi kvm o lxc, quindi esegui vmstat 1 5 e controlla la colonna st per verificare se altri tenant stanno utilizzando i tuoi cicli CPU.

Come posso verificare se il disco del mio VPS è realmente NVMe?

Non fare affidamento su lsblk -d -o NAME,ROTA,MODEL, perché un disco virtio normalmente restituisce ROTA=0 e una stringa del modello vuota, indipendentemente dall'hardware sottostante. Esegui un test di lettura casuale di 30 secondi con fio usando --direct=1 e controlla gli IOPS e la latenza al 99° percentile. Centinaia di IOPS con latenze a due cifre espresse in millisecondi indicano un array con dischi rotazionali. Decine di migliaia di IOPS con una latenza inferiore a 1 millisecondo indicano storage flash.