VPS de stockage ou classique : quelles différences ?
Un VPS de stockage offre des téraoctets à bas prix, mais moins de CPU et un disque plus lent. Comparez les specs et choisissez selon votre charge.
VPS de stockage ou VPS classique : réponse courte
Un VPS de stockage est un serveur privé virtuel vendu au téraoctet, tandis qu’un VPS classique est vendu en fonction du nombre de cœurs. L’offre de stockage vous fournit plusieurs téraoctets de disque lent avec une faible part de CPU. L’offre standard fournit un disque NVMe (non-volatile memory express) rapide, souvent vingt fois plus petit, ainsi que davantage de puissance processeur et de mémoire pour le même prix. Tout le reste est identique entre les deux produits : même hyperviseur, même shell root, même image Ubuntu, même stack réseau.
Cette seule différence détermine l’usage adapté. Un VPS de stockage convient aux cibles de sauvegarde, aux bibliothèques multimédias, aux archives froides et à tout ce que vous écrivez une fois et lisez rarement. Il ne convient pas à une base de données ni à une page devant répondre pendant qu’un utilisateur attend, car ces charges nécessitent de petites lectures aléatoires exécutées en environ une milliseconde. La capacité à bas coût est justement peu chère parce qu’elle ne peut pas fournir ce niveau de performances.
Les noms de forfaits que vous rencontrez sur une page tarifaire
Quatre appellations couvrent presque tous les fournisseurs, mais seules deux ont une signification précise.
- VPS standard. De deux à huit vCPU, de 2 GB à 32 GB de RAM et de 20 GB à 400 GB de stockage NVMe ou SSD SATA hébergé sur le nœud physique lui-même.
- VPS de stockage. De 1 TB à 20 TB ou plus, généralement sur des disques SATA mécaniques ou des SSD SATA haute capacité, avec un à quatre vCPU partagés et une quantité modeste de RAM. Son prix mensuel est souvent identique à celui d’un petit forfait standard.
- VDS. Abréviation de serveur virtuel dédié. Ce terme n’a pas de définition commune ; la section ci-dessous explique quels éléments consulter à la place.
- Volume de stockage en mode bloc. Ce n’est pas un forfait, mais un disque attaché au réseau que vous ajoutez à un VPS existant et que vous payez au GB par mois. C’est le seul des quatre que vous pouvez agrandir sans déplacer le serveur.
Ces fourchettes correspondent au profil courant du marché, et non à l’offre d’une entreprise particulière. Le nom du forfait désigne une catégorie ; il vous indique donc approximativement sur quel châssis votre serveur est hébergé. Il ne vous renseigne pas sur le type de disque, la politique d’allocation du CPU ni le volume de bande passante autorisé. Ce sont pourtant ces caractéristiques qui déterminent si votre charge de travail fonctionne correctement.
Ce qui change réellement entre les deux offres
Type et quantité de disques. C’est toute la différence entre les produits. Une offre standard utilise du stockage flash NVMe accessible via le bus PCI Express. Une offre de stockage utilise une grande baie de disques mécaniques ou de SSD SATA haute capacité. Si ces termes ne vous permettent pas de déterminer ce qui compte pour vous, commencez par ce qu’est un VPS SSD et en quoi il diffère des anciennes offres sur disque, puis consultez la différence pratique entre un SSD NVMe et un SSD SATA.
Ratio CPU. Les offres de stockage fournissent moins de vCPU par téraoctet, et ces vCPU sont presque toujours partagés avec d’autres tenants. Ce n’est pas un défaut. Une cible de sauvegarde passe l’essentiel de son temps à attendre le réseau. Elle n’a donc pas besoin de beaucoup de cœurs.
RAM. Pour leur prix, les offres de stockage fournissent peu de RAM. Cela pose un problème précis : les métadonnées du système de fichiers. Des millions de petits fichiers nécessitent de la mémoire pour le cache des répertoires et des inodes. Sans cette mémoire, chaque affichage du contenu d’un répertoire doit relire le disque.
Volume de données autorisé sur le réseau. Lisez attentivement cette ligne pour une offre de stockage. Une capacité depuis laquelle vous ne pouvez pas restaurer vos données ne constitue pas une sauvegarde. Vérifiez le volume mensuel de transfert en TB et le débit du port en Gbit/s, car une restauration complète de 4 TB sur un port à 1 Gbit/s prend environ neuf heures au débit maximal, et beaucoup plus longtemps si le port est partagé.
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
}
]Ces chiffres arrondis proviennent des pages tarifaires publiques de plusieurs fournisseurs en août 2026. Ils ne correspondent pas au devis d’une entreprise donnée et peuvent évoluer. C’est la tendance générale qui reste valable. Un téraoctet sur une offre de stockage sur disques mécaniques coûte environ 3 dollars américains par mois. Le même téraoctet en NVMe sur une offre standard coûte environ 40, tandis qu’un volume bloc attaché au réseau est le plus cher des 4 options, à 90. Pour comprendre plus largement la composition de la facture mensuelle, consultez ce que coûte réellement un VPS par mois.
Pourquoi le prix par To et le prix par cœur évoluent en sens opposé
Un nœud de stockage est un châssis qui contient douze à seize disques de grande capacité, avec un processeur modeste pour les piloter. Un nœud de calcul est l’inverse : beaucoup de cœurs, beaucoup de RAM et deux ou quatre disques NVMe. Le fournisseur vend les ressources disponibles de ce châssis. Ainsi, une offre peu chère par téraoctet est chère par cœur, et une offre peu chère par cœur est chère par téraoctet. Aucune offre n’est peu chère sur les deux critères, car aucun châssis n’est conçu de cette manière.
C’est pourquoi la réponse honnête à la question « lequel choisir ? » est souvent « les deux ». Un petit VPS NVMe qui exécute l’application, associé à un VPS de stockage qui conserve ses sauvegardes, coûte moins cher qu’une seule machine suffisamment puissante pour assurer correctement les deux fonctions. Lorsqu’une seule machine doit vraiment assurer les deux, vous sortez du domaine des VPS : consultez quand un serveur dédié est préférable à un VPS.
Les lectures aléatoires sont hors de portée d’un disque bon marché
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
}
]Ces chiffres correspondent à des caractéristiques techniques, et non à un benchmark réalisé chez un fournisseur donné. Un disque à 7200 tr/min traite environ 180 lectures aléatoires de blocs de 4k par seconde, car la tête doit se déplacer physiquement jusqu’à la piste, puis attendre que le plateau amène le secteur sous la tête. Cette opération coûte environ 8.5 ms à chaque fois. La mémoire flash n’a aucune pièce à déplacer. Un SSD SATA atteint donc environ 75,000 et un périphérique NVMe environ 600,000 IOPS, avec une latence de 0.08 ms. L’écart dépasse trois mille fois. Aucune quantité de RAM ou de CPU ne peut le réduire.
Les opérations séquentielles sont très différentes. C’est pourquoi les offres de stockage restent utiles. Un seul disque dur atteint encore un débit séquentiel de 150 MB/s à 250 MB/s, et une baie composée de plusieurs disques atteint un débit supérieur. Cela suffit à saturer un port à 1 Gbit/s. L’envoi d’une sauvegarde s’effectue donc à la vitesse maximale du réseau, sans que le disque ne soit le facteur limitant. Vos résultats dépendent également de la conception de la baie, car le striping répartit une requête sur plusieurs disques : comment RAID 10 modifie les performances d’une offre de stockage traite ce point.
Que signifie VDS ?
Il s’agit généralement d’un terme marketing. Trois significations sont couramment utilisées, et le fournisseur précise rarement laquelle s’applique. Pour certains, VDS désigne des cœurs CPU réservés ou dédiés : aucun autre tenant ne se dispute alors vos cycles CPU. Pour d’autres, il désigne une virtualisation complète comme KVM, par opposition à la virtualisation par conteneurs comme LXC ou OpenVZ, avec laquelle vous partagez le kernel de l’hôte. D’autres encore l’utilisent sans lui donner de signification particulière, simplement parce que le nom paraît plus valorisant que VPS.
Vous pouvez en vérifier une partie depuis le serveur. systemd-detect-virt affiche kvm sur une machine virtuelle complète et lxc dans un conteneur. Dans ce dernier cas, vous ne pouvez pas charger de modules du kernel ni utiliser votre propre kernel. Vous devez mesurer l’affirmation concernant le CPU dédié en contrôlant le steal time, comme indiqué plus bas. Considérez les lettres du forfait comme un indice et les lignes de spécifications comme le contrat.
Quelles lignes de la fiche technique vérifier plutôt que le nom
- Le terme affiché à côté de la capacité :
NVMe,SSD,SATAouHDD. Si aucun terme lié au disque n’apparaît sur la page, partez du principe qu’il s’agit du matériel le moins cher correspondant au prix. - Vérifiez si le disque est local au nœud ou s’il est rattaché au réseau. Le stockage rattaché au réseau ajoute de la latence à chaque requête et reste disponible en cas de panne d’un nœud. Le disque local est plus rapide, mais il devient indisponible avec le nœud.
- Le libellé du CPU : « dedicated » ou « pinned », par opposition à « shared », « fair share » ou à l’absence de toute indication.
- Toute limite d’IOPS ou de MB/s indiquée dans l’offre. Avec une limite de 500 IOPS, le type de disque devient presque sans importance.
- Le volume mensuel de transfert autorisé et la vitesse du port, qui déterminent la durée d’une restauration complète.
- Vérifiez si les snapshots, les sauvegardes et les adresses IP supplémentaires sont inclus ou facturés séparément.
Comment vérifier le disque réellement fourni
Commencez par consulter les informations indiquées par le kernel, puis cessez de leur faire confiance.
lsblk -d -o NAME,ROTA,SIZE,MODEL
df -h /
nproc
free -hROTA vaut 1 pour un périphérique rotatif et 0 pour un périphérique flash. Ne vous y fiez pas dans un VPS : un disque virtio indique généralement ROTA=0, quel que soit le périphérique situé derrière, car l’hyperviseur présente un périphérique bloc générique et le guest ne voit jamais le disque physique. MODEL est vide pour la même raison. Cet indicateur décrit ce que l’hyperviseur a déclaré, pas ce qui tourne dans la baie : effectuez donc des mesures.
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 contourne le page cache. Vous mesurez ainsi le disque, et non la RAM. La ligne à consulter est read: IOPS=, avec la distribution indiquée sous clat percentiles (usec). Une offre NVMe standard affiche des dizaines de milliers d’IOPS, avec un 99e percentile inférieur à une milliseconde. Une offre de stockage sur disque rotatif affiche quelques centaines d’IOPS, avec un 99e percentile à deux chiffres en millisecondes. Si fio indique que le moteur libaio ne peut pas être chargé, utilisez --ioengine=psync --iodepth=1 et attendez-vous à des valeurs plus faibles, car ce moteur n’émet qu’une requête à la fois.
vmstat 1 5
sudo apt install -y sysstat
iostat -x 1 5Dans vmstat, la colonne st correspond au steal time : la proportion du temps pendant laquelle votre vCPU était prêt à s’exécuter, mais où l’hôte attribuait ces cycles à un autre guest. Une valeur stable supérieure à 5 indique que le nœud est surchargé. C’est le véritable test d’une offre de « CPU dédié ». Dans iostat -x, surveillez %util, r_await et w_await. Un %util proche de 100, associé à w_await de l’ordre de plusieurs dizaines de millisecondes, indique que le disque est le bottleneck. Aucun réglage de l’application ne pourra résoudre ce problème. Pour les vérifications spécifiques aux périphériques flash, vérifier qu’un disque NVMe est réellement NVMe fournit des informations plus approfondies.
Choisir selon la charge de travail
- Cible de sauvegarde pour restic, Borg ou rsync. VPS de stockage : c’est précisément le cas d’usage pour lequel il a été conçu. Les écritures sont volumineuses et séquentielles, la déduplication s’effectue sur la machine source et rien n’attend le résultat. Une réserve toutefois :
restic pruneetrestic check --read-datalisent l’intégralité du dépôt par petits blocs. Prévoyez donc plusieurs heures et exécutez-les selon une planification. Consultez exécuter des sauvegardes restic vers un VPS. - Bibliothèque multimédia Immich ou Jellyfin. VPS de stockage pour les fichiers, avec une réserve concernant le CPU. Immich génère des miniatures et exécute des tâches de machine learning lors de l’importation, tandis que Jellyfin transcode les vidéos pendant la lecture. Deux vCPU partagés traiteront très lentement le premier import de 200 GB de photos. Conservez la base de données et le cache des miniatures sur le disque le plus rapide du serveur. auto-héberger Immich pour remplacer Google Photos explique comment dimensionner la machine.
- PostgreSQL ou MySQL. Offre NVMe standard. Chaque commit se termine par un
fsyncqui doit atteindre un stockage durable avant le retour de la transaction. La latence du commit est donc celle du disque, et une recherche dans un index correspond à une lecture aléatoire de 8 kB, exactement le type d’opération auquel un disque mécanique est le moins adapté. - Application web, API ou plan de contrôle. Offre standard. Ces services ont besoin de cœurs CPU et d’une latence prévisible. Ils nécessitent rarement plus de 100 GB.
- Cache CI ou dépôt d’artefacts. Cela dépend de la taille des fichiers. Les grosses archives tar sont transférées depuis une offre de stockage à pleine vitesse réseau. Un cache composé de centaines de milliers de petits fichiers, récupérés en parallèle par plusieurs runners, revient à effectuer des opérations IO aléatoires et risque de vous décevoir.
À quoi ressemble ce problème
La panne n’est jamais immédiate. Une base de données sur une offre de stockage avec disques rotatifs semble fonctionner correctement avec un utilisateur, puis s’effondre avec dix utilisateurs. Les requêtes qui tenaient auparavant en RAM sollicitent alors le disque, et chacune prend des millisecondes au lieu de microsecondes. La charge moyenne augmente, tandis que top montre que le CPU est principalement inactif et affiche une valeur %wa élevée. Les processus sont donc bloqués en attente du disque au lieu d’effectuer des calculs. iostat -x 1 montre que %util reste proche de 100.
PostgreSQL l’indique clairement dans son propre journal, car log_checkpoints est activé par défaut depuis la version 15 :
LOG: checkpoint complete: wrote 8241 buffers (2.5%); ... write=112.402 s, sync=9.318 s, total=121.914 sLa valeur sync= est celle qui compte. Elle correspond au temps que le checkpoint a passé à attendre le retour de fsync. Une valeur exprimée en secondes signifie que le disque ne peut pas absorber les écritures aussi vite que la base de données les produit. Les connexions clientes sont bloquées pendant cette période, même si la requête elle-même est légère. La solution n’est pas de modifier la configuration. Déplacez le répertoire de données vers du stockage NVMe et conservez l’offre de stockage pour l’usage auquel elle convient : conserver les sauvegardes de cette base de données.
FAQ
Un VPS de stockage est-il plus lent qu’un VPS classique ?
Pour les lectures et écritures aléatoires, oui, et avec une marge importante. Une offre de stockage sur disques rotatifs traite quelques centaines de requêtes aléatoires de petite taille par seconde, à environ 8 ms chacune, tandis qu’une offre NVMe en traite des dizaines de milliers à moins de 1 ms. Pour les transferts séquentiels, l’écart est bien plus faible, car une baie de stockage peut toujours fournir 150 MB/s ou davantage, ce qui suffit à saturer un port à 1 Gbit/s. Mesurez vos performances avec fio --rw=randread --bs=4k --direct=1 avant de choisir.
Puis-je exécuter PostgreSQL sur un VPS de stockage ?
Vous pouvez le démarrer, et il fonctionnera tant que le working set tient en RAM. Ensuite, chaque commit attend un fsync sur un disque lent, et Postgres l’enregistre comme une valeur sync= en secondes dans checkpoint complete, tandis que iostat -x 1 affiche %util proche de 100, avec un w_await élevé. L’organisation habituelle consiste à utiliser un petit VPS NVMe pour la base de données et un VPS de stockage comme destination de ses dumps.
VDS signifie-t-il que je dispose d’un matériel dédié ?
Pas nécessairement. VDS n’a pas de définition standard. Certains fournisseurs l’utilisent pour désigner des cœurs CPU réservés, d’autres une virtualisation KVM complète par opposition à un conteneur partageant le kernel, et d’autres encore l’emploient simplement comme nom commercial. Exécutez systemd-detect-virt pour vérifier si vous utilisez kvm ou lxc, puis exécutez vmstat 1 5 et surveillez la colonne st pour voir si d’autres tenants consomment vos cycles CPU.
Comment vérifier que le disque de mon VPS est réellement NVMe ?
Ne vous fiez pas à lsblk -d -o NAME,ROTA,MODEL, car un disque virtio indique généralement ROTA=0 et une chaîne de modèle vide, quel que soit le matériel sous-jacent. Exécutez un test de lecture aléatoire fio de 30 secondes avec --direct=1, puis consultez les IOPS et la latence au 99e percentile. Des centaines d’IOPS avec une latence à deux chiffres en millisecondes indiquent une baie de disques rotatifs. Des dizaines de milliers d’IOPS avec une latence inférieure à une milliseconde indiquent du flash.