Archiviazione
Questa sezione tratta il Block Storage (volumi) in OpenStack: tipi di volume, operazioni del ciclo di vita, snapshot e ridimensionamento.
Che cos'è un volume?
OpenStack offre due classi di storage a blocchi:
- Storage effimero: esiste solo per la durata di un'istanza. Sopravvive ai riavvii ma viene eliminato quando l'istanza viene eliminata. La dimensione è definita dal flavor e non può essere modificata in modo indipendente.
- Volumi persistenti: sono dispositivi a blocchi indipendenti che sopravvivono all'eliminazione dell'istanza. Un volume può essere scollegato da un'istanza e ricollegato a un'altra conservando tutti i dati, un po' come una chiavetta USB. I volumi sono archiviati su storage ridondante e resistono ai guasti hardware.
Può collegare volumi aggiuntivi a una VM oltre al suo disco di sistema. È utile quando ha bisogno di più spazio di quello fornito dal flavor, oppure quando desidera la flessibilità di creare snapshot, ridimensionare o spostare dati tra VM.
Tip
Quando avvia una VM con un flavor Zero-Disk (g*), il disco di avvio è esso stesso un volume: persiste in modo indipendente e può essere ridimensionato in seguito. Vedere il confronto dei flavor di seguito.
Volume Types
I volumi si basano su uno di due cluster di storage Ceph:
- EC (Erasure Coding): ottimizzato per la capacità, utilizzato per carichi di lavoro di base e standard.
- RP3 (3 repliche): ottimizzato per le prestazioni, utilizzato per database e carichi di lavoro intensivi in IO.
Tipi a prestazioni fisse
Questi tipi hanno limiti di IOPS e throughput fissi, indipendentemente dalla dimensione del volume.
| Tipo | IOPS | Throughput | Backend | Descrizione |
|---|---|---|---|---|
v-ssd-bsc |
500 | 50 MB/s | EC | Base: per carichi di lavoro con basse esigenze di IO |
v-ssd-std |
1,000 | 120 MB/s | EC | Predefinito: adatto alla maggior parte dei carichi di lavoro |
v-ssd-medium |
2,000 | 180 MB/s | RP3 | Database di livello base e carichi di lavoro io2 |
v-ssd-high |
3,500 | 215 MB/s | RP3 | Database a prestazioni medie |
v-ssd-ultra |
5,000 | 250 MB/s | RP3 | Database ad alte prestazioni, carichi di lavoro io3 |
Tipi dinamici
Questi tipi scalano IOPS e throughput con la dimensione del volume: i volumi più grandi ottengono prestazioni migliori.
| Tipo | IOPS min | IOPS max | IOPS/GB | Throughput min | Throughput 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
Il tipo v-ssd-std viene assegnato per impostazione predefinita. Per utilizzare un altro tipo, lo specifichi durante la creazione del volume (Horizon: menu a tendina Volume Type; CLI: opzione --type).
Standard vs Zero-Disk Flavors
La scelta del flavor influisce sul comportamento dello storage: i flavor Zero-Disk (g*) avviano da un volume che può essere ridimensionato e di cui si possono creare snapshot, mentre i flavor Standard (e*, m*) includono un disco root fisso.
In questa sezione
- Operazioni sui volumi: creare, collegare, formattare, montare, scollegare ed eliminare volumi (Horizon + CLI + Ansible + Terraform).
- Snapshot: creare, elencare, eliminare snapshot; creare un volume da uno snapshot.
- Estendere i volumi: aumentare la dimensione di un volume e ridimensionare il file system.