Les pages d'offres mettent la RAM en avant, mais un disque plein met un serveur à terre tout aussi sûrement. Avec "No space left on device", les bases de données cessent d'écrire et les sites de répondre, quelle que soit la mémoire libre. L'usage du disque se prévoit facilement quand on sait ce qui grossit. Nous avons démarré des serveurs neufs depuis nos propres images et mesuré chacun des suspects habituels.
Ce qu'occupe un serveur neuf
Mesuré juste après le premier démarrage :
| Système | Espace occupé |
|---|---|
| Alpine Linux 3.21 | 153 Mo |
| Debian 12 | 1,2 Go |
| Ubuntu 24.04 | 2,7 Go |
| Windows Server 2022 | 14,0 Go |
Sous Linux, presque tout un Nano de 15 Go est à vous dès le premier jour. Windows prend plus d'un quart de ses 50 Go avant que vous n'installiez quoi que ce soit, et comme vous le verrez plus bas, les mises à jour en prennent davantage.
Une partie des 2,7 Go d'Ubuntu se récupérait facilement. 440 Mo étaient le cache des paquets des mises à jour du premier démarrage, et trois noyaux étaient installés alors qu'un seul sert. Deux commandes ont ramené l'occupation à 2,16 Go :
sudo apt clean
sudo apt autoremove --purge
Docker : les images s'accumulent vite
L'installation de Docker lui-même a ajouté environ 300 Mo. Ce sont les images qui comptent. Nous en avons téléchargé huit courantes, l'une après l'autre, en mesurant à chaque fois de combien le disque grossissait :
| Image | Espace ajouté |
|---|---|
nginx:alpine | 91 Mo |
nginx:latest | 232 Mo |
postgres:16 | 501 Mo |
python:3.12-slim | 59 Mo |
node:22 | 1 564 Mo |
mariadb:11 | 437 Mo |
wordpress:latest | 960 Mo |
redis:7-alpine | 55 Mo |
| Total | 3,9 Go |
Les images qui partagent une base réutilisent ses couches : c'est pourquoi python:3.12-slim n'a ajouté que 59 Mo, nginx:latest et postgres:16 ayant déjà apporté la même base Debian. Les images basées sur Alpine sont plusieurs fois plus petites que les complètes. node:22 à lui seul pèse 1,5 Go, alors construisez avec node:22-slim ou node:22-alpine quand vous le pouvez.
Les images s'empilent au fil des mises à jour : chaque docker compose pull laisse l'ancienne version derrière lui. Sur notre serveur de test, une commande les a toutes supprimées :
docker system df
docker system prune -a
Elle a annoncé 4,1 Go récupérés. prune -a supprime toute image qu'aucun conteneur n'utilise, lancez-la donc quand votre pile tourne. Les volumes ne sont pas touchés, sauf si vous ajoutez --volumes.
Les journaux : ce qui remplit un disque en une nuit
Docker garde tout ce qu'un conteneur affiche, sans limite de taille par défaut. Nous avons lancé un conteneur qui affichait une ligne courte en boucle, le genre de sortie que produit un contrôle de santé ou un mode debug. Au bout de 30 secondes, son fichier de journal faisait 6 Mo. À ce rythme, il écrirait environ 17 Go par jour, plus que tout le disque d'une offre Micro.
Fixez une limite pour tous les nouveaux conteneurs dans /etc/docker/daemon.json :
{
"log-driver": "local",
"log-opts": { "max-size": "10m", "max-file": "3" }
}
Puis sudo systemctl restart docker et recréez vos conteneurs (docker compose up -d --force-recreate). Les conteneurs existants gardent les réglages avec lesquels ils ont été créés. Avec la limite, le journal du même conteneur de test faisait 4 Mo après 30 secondes et ne pourra jamais dépasser 30 Mo.
Le journal système est déjà plafonné : sur notre serveur Ubuntu de 25 Go, journald se limite à 2,3 Go, un dixième du système de fichiers. Il en utilisait 15 Mo.
Windows : les mises à jour ont besoin de place
Notre image Windows Server 2022 datait de 2022, nous l'avons donc mise à jour. Pendant l'installation de la première mise à jour cumulative, l'espace occupé est passé de 12,6 à 20,8 Go, puis a atteint 24,5 Go après la seconde. Windows garde l'ancienne version de chaque fichier système qu'une mise à jour remplace. Le nettoyage l'a ramené à 14,6 Go, et un serveur neuf issu de l'image mise à jour démarre désormais à 14 Go. Gardez au moins 10 Go libres pour la prochaine mise à jour. Le guide des mises à jour Windows donne les commandes de nettoyage.
Que choisir
| Ce que vous faites tourner | Disque confortable | Offre |
|---|---|---|
| Un bot, un VPN, un petit site statique | 15 Go | Nano, $3/mois |
| Une pile Docker avec quelques images | 25 Go | Micro, $5/mois |
| WordPress avec base de données et fichiers envoyés, plusieurs piles | 35 Go | Small, $8/mois |
| De grosses bases, beaucoup d'images, des sauvegardes locales | 45 Go | Medium, $12/mois |
| Windows Server 2022 | 50–60 Go | Windows-Small, $11/mois |
Deux règles font durer n'importe laquelle : plafonnez les journaux de conteneurs avant de déployer, et copiez les sauvegardes hors du serveur au lieu de les garder sur son disque. Si un serveur est déjà plein, notre guide pour libérer de l'espace disque vous guide pas à pas. Pour le côté mémoire du dimensionnement, voyez de combien de RAM un VPS a besoin. Toutes les offres sont sur la page VPS, et le paiement se fait en USDT, USDC ou ETH sur Base, Ethereum ou Polygon.
Commentaires
Pas encore de commentaires. Soyez le premier.