Stockage
Cette section couvre le Block Storage (volumes) dans OpenStack : types de volumes, opérations du cycle de vie, snapshots et redimensionnement.
Qu'est-ce qu'un volume ?
OpenStack propose deux classes de stockage bloc :
- Stockage éphémère : il n'existe que pendant la durée de vie d'une instance. Il survit aux redémarrages mais est supprimé lorsque l'instance est supprimée. Sa taille est définie par le flavor et ne peut pas être modifiée indépendamment.
- Volumes persistants : ce sont des périphériques bloc indépendants qui survivent à la suppression d'une instance. Un volume peut être détaché d'une instance et rattaché à une autre tout en conservant toutes ses données, un peu comme une clé USB. Les volumes sont stockés sur un stockage redondant et résistent aux pannes matérielles.
Vous pouvez attacher des volumes supplémentaires à une VM en plus de son disque système. C'est utile lorsque vous avez besoin de plus d'espace que ce que le flavor fournit, ou lorsque vous souhaitez pouvoir faire des snapshots, redimensionner ou déplacer des données entre VM.
Tip
Lors du lancement d'une VM avec un flavor Zero-Disk (g*), le disque de démarrage est lui-même un volume : il persiste indépendamment et peut être redimensionné plus tard. Voir la comparaison des flavors ci-dessous.
Volume Types
Les volumes reposent sur l'un de deux clusters de stockage Ceph :
- EC (Erasure Coding) : optimisé pour la capacité, utilisé pour les charges de travail de base et standard.
- RP3 (3 répliques) : optimisé pour les performances, utilisé pour les bases de données et les charges de travail intensives en IO.
Types à performances fixes
Ces types ont des limites d'IOPS et de débit fixes, quelle que soit la taille du volume.
| Type | IOPS | Débit | Backend | Description |
|---|---|---|---|---|
v-ssd-bsc |
500 | 50 MB/s | EC | Basique : pour les charges de travail avec de faibles besoins d'IO |
v-ssd-std |
1,000 | 120 MB/s | EC | Par défaut : adapté à la plupart des charges de travail |
v-ssd-medium |
2,000 | 180 MB/s | RP3 | Bases de données d'entrée de gamme et charges de travail io2 |
v-ssd-high |
3,500 | 215 MB/s | RP3 | Bases de données de performance moyenne |
v-ssd-ultra |
5,000 | 250 MB/s | RP3 | Bases de données hautes performances, charges de travail io3 |
Types dynamiques
Ces types font évoluer les IOPS et le débit avec la taille du volume : les volumes plus grands obtiennent de meilleures performances.
| Type | IOPS min | IOPS max | IOPS/GB | Débit min | Débit max | Backend |
|---|---|---|---|---|---|---|
v-ssd-dynb |
300 | 10,000 | 5/GB | 75 MB/s | 250 MB/s | EC |
v-ssd-dynx |
1,000 | 20,000 | 25/GB | 100 MB/s | 500 MB/s | RP3 |
Note
Le type v-ssd-std est attribué par défaut. Pour utiliser un autre type, spécifiez-le lors de la création du volume (Horizon : liste déroulante Volume Type ; CLI : option --type).
Standard vs Zero-Disk Flavors
Le choix du flavor influence le comportement du stockage : les flavors Zero-Disk (g*) démarrent depuis un volume qui peut être redimensionné et faire l'objet de snapshots, tandis que les flavors Standard (e*, m*) incluent un disque racine fixe.
Dans cette section
- Opérations sur les volumes : créer, attacher, formater, monter, détacher et supprimer des volumes (Horizon + CLI + Ansible + Terraform).
- Snapshots : créer, lister, supprimer des snapshots ; créer un volume à partir d'un snapshot.
- Étendre des volumes : augmenter la taille d'un volume et redimensionner le système de fichiers.