Un serveur a besoin d'un disque, et ce disque, c'est souvent un volume Block. Le Block Storage fournit des disques réseau que l'on attache à une Instance, que l'on snapshotte pour sauvegarder, que l'on agrandit sans rien casser et que l'on exporte pour changer de zone. Ce guide vous explique ce qu'il est, le différencie du stockage local et objet, vous apprend à choisir entre 5 000 et 15 000 IOPS sur un critère que la plupart ignorent (la bande passante disque de l'Instance), puis vous fait créer, snapshotter, redimensionner et nettoyer un volume avec scw. Il s'adresse à qui a déjà configuré la CLI.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »Niveau : débutant à intermédiaire. Prérequis : la CLI scw configurée.
À la fin de cette page, vous saurez :
- Distinguer un volume Block, un volume local et l'Object Storage, chiffres à l'appui
- Choisir entre
sbs_5ketsbs_15kselon l'Instance qui l'utilisera - Créer, attacher, snapshotter et agrandir un volume
- Déplacer un volume vers une autre zone par export de snapshot
- Nettoyer dans le bon ordre, sans laisser de coûts résiduels
Qu'est-ce que le Block Storage Scaleway ?
Section intitulée « Qu'est-ce que le Block Storage Scaleway ? »Un volume Block est un disque réseau exposé à votre Instance comme s'il s'agissait d'un disque physique ; il vit sur un SAN indépendant de l'hyperviseur, répliqué trois fois, et survit à l'Instance. Conséquence directe : on peut l'attacher et le détacher d'une Instance comme un disque dur externe, le snapshotter, le redimensionner, et le rattacher à une autre Instance de la même zone. La génération actuelle repose sur des disques NVMe (page « differences between Block Storage volumes », validée le 2025-10-14) ; les volumes b_ssd de la génération précédente reposaient sur des SSD plus anciens, avec leurs 5 000 IOPS partagés entre lecture et écriture.
Voici comment s'articulent l'Instance, son volume Block et les snapshots.
Local, Block ou Object : lequel choisir ?
Section intitulée « Local, Block ou Object : lequel choisir ? »Trois stockages coexistent chez Scaleway, et les confondre mène à de mauvais choix. Le tableau se lit par la colonne Choix : trouvez la ligne qui décrit vos données, elle dit où les mettre. Les chiffres viennent de la FAQ Block Storage (validée le 2025-09-17).
| Besoin | Choix | Pourquoi |
|---|---|---|
| Disque système d'une Instance de développement, vitesse locale | volume local (l_ssd) | NVMe sur l'hyperviseur, jusqu'à 600 Go (GP1-XL), mais RAID 5 et semi-persistant : archivé à chaque power off |
| Données d'une base, disque à déplacer ou agrandir | volume Block (sbs_5k, sbs_15k) | réseau, répliqué 3 fois, jusqu'à 15 To, détachable, snapshottable |
Disque système d'une gamme PLAY2, POP2, BASIC3 | volume Block obligatoirement | ces gammes ne supportent que le Block (champ supported_storage: Block) |
| Sauvegardes, fichiers, données massives partagées | Object Storage | API S3, pas de montage, taille quasi illimitée, accessible de partout |
| Partage en écriture entre plusieurs machines | ni l'un ni l'autre : File Storage | disponibilité générale depuis le 16 juillet 2026, hors du périmètre de cette leçon |
Le volume local n'est pas persistant au sens où on l'entend. La FAQ le qualifie de « semi-persistent » : à chaque power off, son contenu est archivé vers un snapshot puis restauré au démarrage, ce qui rend l'arrêt d'autant plus long qu'il y a de données. Le volume Block, lui, reste où il est.
Types de volume et IOPS : 5K ou 15K ?
Section intitulée « Types de volume et IOPS : 5K ou 15K ? »La performance d'un volume Block se mesure en IOPS (opérations d'entrée-sortie par seconde), et Scaleway propose deux niveaux : sbs_5k à 5 000 IOPS et sbs_15k à 15 000 IOPS. Listez-les avec leur prix :
scw block volume-type list zone=fr-par-1 -o jsonLa sortie doit afficher deux objets de classe sbs, chacun avec pricing et snapshot_pricing. Relevé le 2026-09-08 avec scw 2.56.3 : sbs_5k à 0,00013 € par Go et par heure (snapshot 0,000049 €), sbs_15k à 0,000177 € (snapshot 0,000044 €), identiques en nl-ams-1 et it-mil-1. Un volume de 100 Go en sbs_5k coûte donc environ 9,50 € par mois, et il facture tant qu'il existe, attaché ou non. Vous croiserez peut-être aussi d'anciens volumes b_ssd (gamme legacy), qui ne se gèrent plus par l'API Instances et se convertissent par export et import de snapshot.
Le 15K ne se choisit pas seul : il se choisit avec l'Instance. La page officielle des bandes passantes est explicite : un volume 15K n'exprime ses performances que sur une Instance disposant d'au moins 3 Gio/s de bande passante Block. Relevé dans cette page : GP1-XS plafonne à 300 Mio/s, PRO2-L à 2 Gio/s, GP1-XL à 2 Gio/s ; seuls POP2-16C-64G et au-delà (3,12 Gio/s, puis 5,5 Gio/s à partir de 32 cœurs), et leurs déclinaisons POP2-HC et POP2-HM, atteignent le seuil. Le tableau se lit ligne par ligne :
| Instance prévue | Bande passante Block | Choix | Pourquoi |
|---|---|---|---|
DEV1, PLAY2, BASIC3, GP1-XS à GP1-M | 40 Mio/s à 800 Mio/s | sbs_5k | le 15K serait bridé par l'Instance, surcoût de 36 % pour rien |
PRO2-L, GP1-XL, COMPUTE3-X48C et plus | 2 Gio/s | sbs_5k, ou 15K après mesure | encore sous le seuil de 3 Gio/s |
POP2-16C-64G et plus, POP2-HC, POP2-HM 16 cœurs et plus | 3,12 à 5,5 Gio/s | sbs_15k si la base le justifie | seules gammes au-dessus du seuil |
Comment créer un volume Block ?
Section intitulée « Comment créer un volume Block ? »On crée un volume vide en précisant sa taille et son niveau d'IOPS ; la taille attend une unité.
-
Créer le volume de 10 Go à 5 000 IOPS :
Fenêtre de terminal scw block volume create name=data-app perf-iops=5000 from-empty.size=10GB zone=fr-par-1 -
Vérifier son état :
Fenêtre de terminal scw block volume list zone=fr-par-1Le volume doit apparaître avec son type (
sbs_5k), sa taille et le statut available.
Comment attacher un volume à une Instance ?
Section intitulée « Comment attacher un volume à une Instance ? »Un volume Block ne sert que s'il est attaché à une Instance, qui le voit alors comme un disque à formater et monter. L'attachement se fait à la création de l'Instance avec additional-volumes.0=<id> (c'est ce que fait le lab fil rouge), ou après coup :
scw instance server attach-volume server-id=VOTRE_SERVER_ID volume-id=VOTRE_VOLUME_ID zone=fr-par-1scw instance server detach-volume server-id=VOTRE_SERVER_ID volume-id=VOTRE_VOLUME_ID zone=fr-par-1Après attach-volume, lsblk sur l'Instance doit montrer un disque supplémentaire (sdb en général) ; après detach-volume, il disparaît sans redémarrage. Volume et Instance doivent être dans la même zone de disponibilité, et une Instance accepte au maximum 16 volumes dont celui de démarrage, soit 15 volumes Block (FAQ). Comme il est réseau, vous pouvez le détacher d'une Instance et le rattacher à une autre de la même zone pour déplacer des données, ce qu'un volume local ne permet pas.
Comment snapshotter un volume Block ?
Section intitulée « Comment snapshotter un volume Block ? »Un snapshot est une image en lecture seule d'un volume à un instant donné ; c'est votre point de sauvegarde, à partir duquel vous recréez un volume identique.
scw block snapshot create volume-id=VOTRE_VOLUME_ID name=data-app-avant-maj zone=fr-par-1scw block snapshot list zone=fr-par-1La liste doit afficher le snapshot d'abord en creating, puis en available. Un snapshot se facture au Go-heure comme un volume, à un tarif inférieur (0,000049 € pour un sbs_5k, relevé du 2026-09-08). Pour en tirer un volume neuf : scw block volume create from-snapshot.snapshot-id=<id> from-snapshot.size=10GB perf-iops=5000.
Redimensionner un volume, et changer ses IOPS
Section intitulée « Redimensionner un volume, et changer ses IOPS »Besoin de plus d'espace ? On agrandit le volume sans le recréer ; la nouvelle taille doit être supérieure ou égale à l'actuelle, on ne réduit pas un volume Block.
# Passer le volume de 10 Go à 20 Goscw block volume update volume-id=VOTRE_VOLUME_ID size=20GB zone=fr-par-1scw block volume get volume-id=VOTRE_VOLUME_ID zone=fr-par-1La seconde commande doit afficher la nouvelle taille. Côté Instance, il reste ensuite à étendre la partition et le système de fichiers (growpart puis resize2fs sur ext4) pour profiter de l'espace supplémentaire. La même commande update accepte perf-iops=15000 pour passer un volume en 15K le jour où l'Instance le justifie, et l'inverse.
Déplacer un volume vers une autre zone
Section intitulée « Déplacer un volume vers une autre zone »Un volume ne change pas de zone ; ce qui voyage, c'est son snapshot, exporté vers un bucket Object Storage au format QCOW2 puis importé dans la zone cible (page « Moving Instances between Availability Zones », validée le 2025-07-15).
scw block snapshot export-to-object-storage zone=fr-par-1 snapshot-id=VOTRE_SNAPSHOT_ID \ bucket=VOTRE_BUCKET key=data-app.qcow2scw block snapshot import-from-object-storage name=data-app-par2 bucket=VOTRE_BUCKET \ key=data-app.qcow2 size=10GB zone=fr-par-2Après l'import, scw block snapshot list zone=fr-par-2 doit afficher le nouveau snapshot, prêt à donner un volume dans la zone cible. Le bucket doit être dans la même région que les deux zones ; c'est aussi le chemin officiel pour convertir un ancien volume b_ssd en sbs, et pour changer un volume de Project.
Nettoyer : snapshot puis volume
Section intitulée « Nettoyer : snapshot puis volume »Comme toute ressource, un volume et ses snapshots facturent tant qu'ils existent ; on supprime d'abord le snapshot, puis le volume, en s'assurant qu'aucune opération n'est en cours.
-
Supprimer le snapshot (une fois
available) :Fenêtre de terminal scw block snapshot delete snapshot-id=VOTRE_SNAPSHOT_ID zone=fr-par-1 -
Supprimer le volume (détaché et
available) :Fenêtre de terminal scw block volume delete volume-id=VOTRE_VOLUME_ID zone=fr-par-1 -
Vérifier qu'il ne reste rien :
Fenêtre de terminal scw block volume list zone=fr-par-1scw block snapshot list zone=fr-par-1Les deux listes doivent être vides. Un volume encore attaché refuse la suppression : détachez-le, ou supprimez l'Instance avec
with-volumes=all.
Limites, quotas et plafonds
Section intitulée « Limites, quotas et plafonds »Ces valeurs viennent de la FAQ Block Storage (validée le 2025-09-17), de la page des bandes passantes et du relevé CLI du 2026-09-08 ; elles bornent le dimensionnement avant toute question de prix.
| Plafond | Valeur | Source |
|---|---|---|
| Taille maximale d'un volume Block | 15 To | FAQ Block Storage |
| Volumes par Instance | 16 dont le volume de démarrage, soit 15 Block | FAQ Block Storage |
| Niveaux d'IOPS | 5 000 ou 15 000 | scw block volume-type list |
| Bande passante Block requise pour le 15K | 3 Gio/s au moins (POP2-16C-64G et plus) | doc bandwidth overview |
| Réplication | 3 répliques ; volume local en RAID 5 | FAQ Block Storage |
| Volume local maximal | 600 Go (GP1-XL) | FAQ Block Storage |
| Granularité de taille | 1 Go ; unité GB obligatoire | aide de scw block volume create |
| Redimensionnement | agrandissement seul, jamais de réduction | aide de scw block volume update |
| Prix relevés (fr-par-1, 2026-09-08) | sbs_5k 0,00013 €/Go/h, sbs_15k 0,000177 €/Go/h | scw block volume-type list -o json |
| Zones énumérées par le CLI | 9 (pas it-mil-1), alors que volume-type list zone=it-mil-1 répond | relevé du 2026-09-08 |
| Suppression d'une Instance par l'API | emporte tous les volumes attachés, local et Block | FAQ Block Storage |
La dernière ligne est celle qui surprend. D'après la FAQ, une suppression via l'API emporte les volumes attachés ; pour conserver un volume Block, il faut le détacher avant de supprimer l'Instance. En CLI, with-volumes=none sur scw instance server delete demande explicitement de tout garder, et with-volumes=all de tout emporter : ne laissez jamais la valeur au hasard.
Antipatterns à éviter
Section intitulée « Antipatterns à éviter »Ces erreurs ont un point commun : elles se paient au gigaoctet-heure, en silence, ou le jour de l'incident.
| Antipattern | Conséquence | Discipline |
|---|---|---|
sbs_15k sur une petite Instance | surcoût de 36 % sans gain, bande passante disque insuffisante | sbs_5k par défaut, 15K seulement au-dessus de 3 Gio/s et après mesure |
| Créer le volume « large, pour être tranquille » | facturé à la taille provisionnée, pas au contenu | petit d'abord, volume update size= quand le besoin est mesuré |
| Snapshots créés à la main, jamais supprimés | facturés indéfiniment, personne ne sait lesquels servent | nom daté, politique de rétention, snapshot list mensuel |
| Snapshot jamais restauré | découverte d'un snapshot inutilisable le jour de la perte | créer un volume depuis le snapshot une fois par trimestre et le monter |
| Données métier sur le volume local | archivage à chaque power off, perte si l'hyperviseur meurt | système sur local ou Block, données sur Block |
| Supprimer l'Instance sans avoir décidé du sort des volumes | volume perdu (all) ou volume orphelin facturé (none) | with-volumes choisi explicitement, puis block volume list |
Le Block Storage sous l'angle Well-Architected
Section intitulée « Le Block Storage sous l'angle Well-Architected »Reliability : un snapshot n'est une sauvegarde qu'après restauration
Section intitulée « Reliability : un snapshot n'est une sauvegarde qu'après restauration »Que se passe-t-il si le volume est corrompu ce soir ? Vous recréez un volume depuis le dernier snapshot, à condition d'avoir vérifié une fois que ce chemin fonctionne. La discipline est un snapshot avant chaque opération risquée, une rétention écrite (par exemple 7 quotidiens, 4 hebdomadaires), et un test de restauration trimestriel. Pour survivre à la perte d'une zone, l'export vers Object Storage est le seul chemin, et il se répète.
Performance : les IOPS ne dépassent jamais la bande passante de l'Instance
Section intitulée « Performance : les IOPS ne dépassent jamais la bande passante de l'Instance »Le volume est-il le goulot, ou l'Instance ? iostat sur l'Instance le dit. La discipline est de choisir le niveau d'IOPS après avoir regardé la bande passante Block du type d'Instance, et de se rappeler que perf-iops se change à chaud : commencer en 5K ne ferme aucune porte.
Cost Optimization : le volume se paie à la taille, le snapshot aussi
Section intitulée « Cost Optimization : le volume se paie à la taille, le snapshot aussi »Combien coûtent les volumes que personne n'utilise ? scw block volume list montre les volumes sans Instance ; scw block snapshot list les snapshots oubliés. La discipline est une revue mensuelle des deux listes et une taille qui suit le besoin, puisqu'on ne peut qu'agrandir.
Pièges courants
Section intitulée « Pièges courants »Le tableau se lit par la colonne Symptôme : c'est ce que vous voyez à l'écran, message exact compris quand il y en a un ; la colonne Cause dit ce qui se passe réellement, et la colonne Solution la commande ou le geste qui débloque.
| Symptôme | Cause | Solution |
|---|---|---|
size must be defined using the G or GB unit | taille en octets bruts | utiliser une unité : from-empty.size=10GB |
precondition failed ... operation in progress | suppression pendant un snapshot en cours | attendre le statut available, puis supprimer |
| Le redimensionnement est refusé | nouvelle taille inférieure à l'actuelle | on ne peut qu'agrandir un volume |
| Le volume ne s'attache pas | Instance dans une autre zone, ou 16 volumes déjà attachés | même zone, ou export de snapshot ; compter les volumes |
| L'espace ajouté n'apparaît pas dans l'Instance | partition et système de fichiers non étendus | growpart /dev/sdb 1 puis resize2fs |
| Le 15K n'est pas plus rapide que le 5K | bande passante Block de l'Instance sous 3 Gio/s | changer de type d'Instance, ou revenir en perf-iops=5000 |
| Facture qui continue | volume ou snapshot oublié, ou volume orphelin après with-volumes=none | lister régulièrement et supprimer l'inutile |
Contrôle de connaissances
Section intitulée « Contrôle de connaissances »Vérifiez que l'essentiel de ce guide est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.
Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
Informations
- Le chronomètre démarre au clic sur Démarrer
- Questions à choix multiples, vrai/faux et réponses courtes
- Vous pouvez naviguer entre les questions
- Les résultats détaillés sont affichés à la fin
Lance le quiz et démarre le chronomètre
Vérification
(0/0)Profil de compétences
Quoi faire maintenant
Ressources pour progresser
Des indices pour retenter votre chance ?
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications
À retenir
Section intitulée « À retenir »- Un volume Block est un disque réseau NVMe, répliqué 3 fois, jusqu'à 15 To, attachable, snapshotable et agrandissable, indépendant de l'Instance.
- À distinguer du volume local (NVMe sur l'hyperviseur, 600 Go max, archivé à chaque power off) et de l'Object Storage (API S3).
- Deux types :
sbs_5k(0,00013 €/Go/h) etsbs_15k(0,000177 €/Go/h, relevé du 2026-09-08), facturés tant que le volume existe ; le 15K exige 3 Gio/s de bande passante Block, doncPOP216 cœurs et plus. - On crée avec
scw block volume create … from-empty.size=10GB perf-iops=5000(l'unité est obligatoire), on attache avecscw instance server attach-volume, 15 volumes Block par Instance au plus. - Un snapshot (
scw block snapshot create volume-id=…) est une image en lecture seule ; on ne le supprime pas pendant sa création. scw block volume updateagrandit un volume et change ses IOPS ; il faut ensuite étendre la partition côté Instance.- Un volume change de zone par
export-to-object-storagepuisimport-from-object-storage(QCOW2, bucket de la même région). - La suppression d'une Instance par l'API emporte les volumes attachés :
with-volumesse choisit explicitement.
Pour aller plus loin
Section intitulée « Pour aller plus loin »- GPU Instances et Elastic Metal : Les GPU bootent sur Block et exigent 125 Go de système ; Elastic Metal, lui, n'a pas de Block Storage du tout.
- Lab fil rouge des Fondations : Un volume attaché à la création, formaté, monté, puis emporté par
with-volumes=all. - Réseau Scaleway : la carte avant de construire : Le volume est zonal ; la carte des briques dit ce qui l'est aussi et ce qui ne l'est pas.
Ressources externes
Section intitulée « Ressources externes »Les pages officielles sur lesquelles cette leçon s'appuie, avec ce qu'on y cherche ; leur champ de validation date chaque fait cité.
- Block Storage FAQ : les plafonds (15 To, 16 volumes), la comparaison local/Block et le sort des volumes à la suppression.
- Differences between Block Storage volumes : legacy, 5K et 15K, et ce qui change avec le NVMe.
- Instances bandwidth overview : la bande passante Block de chaque type, et le seuil de 3 Gio/s.
- Moving Instances between Availability Zones and Projects : export et import de snapshot par Object Storage.