La configurazione dell'archiviazione locale è qualcosa che gli utenti desktop Linux fanno molto di rado, forse solo una volta, durante l'installazione. La tecnologia di archiviazione Linux si muove lentamente e molti strumenti di archiviazione utilizzati 20 anni fa sono ancora utilizzati regolarmente oggi. Ma alcune cose hanno migliorato da allora. Perché le persone non sfruttano queste nuove funzionalità?
Questo articolo riguarda Stratis, un nuovo progetto che mira a portare i progressi dello storage a tutti gli utenti Linux, dal semplice singolo SSD per laptop a un array da cento dischi. Linux ha le capacità, ma la sua mancanza di una soluzione facile da usare ha ostacolato l'adozione diffusa. L'obiettivo di Stratis è rendere accessibili le funzionalità di archiviazione avanzate di Linux.
Accesso semplice e affidabile a funzionalità di archiviazione avanzate
Stratis mira a semplificare tre cose:configurazione iniziale dello storage; apportare modifiche successive; e utilizzando funzionalità di archiviazione avanzate come snapshot, thin provisioning e persino tiering.
Stratis:un filesystem per la gestione del volume
Più risorse Linux
- Comandi Linux cheat sheet
- Cheat sheet sui comandi avanzati di Linux
- Corso online gratuito:Panoramica tecnica RHEL
- Cheat sheet della rete Linux
- Cheat sheet di SELinux
- Cheat sheet dei comandi comuni di Linux
- Cosa sono i container Linux?
- I nostri ultimi articoli su Linux
Stratis è un filesystem di gestione del volume (VMF) come ZFS e Btrfs. Inizia con l'idea centrale di un "pool" di archiviazione, un'idea comune ai VMF e anche ai gestori di volumi autonomi come LVM. Questo pool viene creato da uno o più dischi (o partizioni) locali e i volumi vengono creati dal pool. Il loro layout esatto non è specificato dall'utente, a differenza del partizionamento tradizionale del disco tramite fdisk o GParted.
I VMF fanno un ulteriore passo avanti e integrano il livello del filesystem. L'utente non seleziona più un filesystem da inserire nel volume. Il filesystem e il volume sono fusi in un'unica cosa:un albero concettuale di file (che ZFS chiama un set di dati , Btrfs un sottovolume e Stratis è un filesystem ) i cui dati risiedono nel pool ma che non hanno limiti di dimensione ad eccezione della dimensione totale del pool.
Un altro modo di vedere questo aspetto:proprio come un filesystem astrae la posizione effettiva dei blocchi di archiviazione che costituiscono un singolo file all'interno del filesystem, un VMF astrae i blocchi di archiviazione effettivi di un filesystem all'interno del pool.
La piscina abilita altre utili funzioni. Alcuni di questi, come gli snapshot del filesystem, si verificano naturalmente dall'implementazione tipica di un VMF, in cui più filesystem possono condividere blocchi di dati fisici all'interno del pool. Altri, come la ridondanza, il tiering e l'integrità, hanno senso perché il pool è un luogo centrale per gestire queste funzionalità per tutti i filesystem del sistema.
Il risultato è che un VMF è più semplice da configurare e gestire e più facile da abilitare per funzionalità di archiviazione avanzate rispetto a un gestore di volumi indipendente e livelli di filesystem.
Cosa rende Stratis diverso da ZFS o Btrfs?
Stratis è un nuovo progetto, che gli dà il vantaggio di imparare dai progetti precedenti. Ciò che Stratis ha imparato da ZFS, Btrfs e LVM sarà trattato in modo approfondito nella Parte 2, ma per riassumere, le differenze in Stratis derivano dal vedere cosa ha funzionato e cosa non ha funzionato per gli altri, dai cambiamenti nel modo in cui le persone usano e automatizzano i computer e modifiche nell'hardware sottostante.
In primo luogo, Stratis si concentra sull'essere facile e sicuro da usare. Questo è importante per il singolo utente, che può trascorrere lunghi periodi di tempo tra le interazioni con Stratis. Se queste interazioni sono ostili, soprattutto se c'è la possibilità di perdere dati, la maggior parte delle persone si atterrà alle basi invece di utilizzare le nuove funzionalità.
In secondo luogo, le API e l'automazione in stile DevOps sono molto più importanti oggi rispetto a qualche anno fa. Stratis supporta l'automazione fornendo un'API di prima classe, in modo che sia le persone che gli strumenti software possano utilizzare Stratis direttamente.
In terzo luogo, gli SSD hanno notevolmente ampliato la capacità e la quota di mercato. I filesystem precedenti facevano di tutto per ottimizzare i tempi di accesso lenti dei media rotazionali, ma i media basati su flash rendono questi sforzi meno importanti. Anche se i dati di un pool sono troppo grandi per utilizzare gli SSD in modo economico per l'intero pool, un livello di memorizzazione nella cache SSD è ancora un'opzione e può fornire risultati eccellenti. Presupponendo buone prestazioni grazie agli SSD, Stratis può concentrare il design del suo pool su flessibilità e affidabilità.
Infine, Stratis ha un modello di implementazione molto diverso da ZFS e Btrfs (ne parlerò ulteriormente nella Parte 2). Ciò significa che alcune cose sono più facili per Stratis, mentre altre sono più difficili. Aumenta anche il ritmo di sviluppo di Stratis.
Ulteriori informazioni
Per saperne di più su Stratis, dai un'occhiata alla Parte 2 di questa serie. Troverai anche un documento di progettazione dettagliato sul sito Web di Stratis.
Partecipa
Per sviluppare, testare o offrire feedback su Stratis, iscriviti alla nostra mailing list.
Lo sviluppo è su GitHub sia per il demone (scritto in Rust) che per lo strumento da riga di comando (scritto in Python).
Unisciti a noi sulla rete IRC di Freenode sul canale #stratis-storage.
Andy Grover parlerà al LinuxFest Northwest quest'anno. Guarda gli highlights del programma o registrati per partecipare.