Spazi di archiviazione con livelli: cosa sono e come impostarli

  • Storage Spaces e Storage Spaces Direct consentono di creare un archivio definito dal software con suddivisione in livelli tra SSD e HDD.
  • Il clustering di failover e ReFS costituiscono la base per garantire elevata disponibilità e volumi condivisi in S2D.
  • L'espansione dello spazio nei livelli avviene aggiungendo dischi, modificando il tipo di supporto e ridimensionando i livelli con PowerShell.
  • Il tiering automatizza il posizionamento dei dati attivi e passivi, ottimizzando prestazioni e costi sia in locale che nel cloud.

Spazi di archiviazione a livelli

Se lavori con Windows Server e hai bisogno di massimizzare lo spazio di archiviazioneProbabilmente hai sentito parlare di Storage Spaces, Storage Spaces Direct e del famoso tiering. Questi termini sembrano parole d'ordine del marketing, ma dietro si nasconde una potente tecnologia che, se configurata correttamente, può farti risparmiare molto sullo storage SAN e offrirti un'incredibile flessibilità.

Nelle righe seguenti vedremo Cosa sono esattamente gli spazi di archiviazione con livelli?Spiegheremo come si integra in Storage Spaces Direct (S2D), quali componenti sono coinvolti, come espandere uno spazio a più livelli esistente e cosa è necessario considerare per creare un vero cluster iperconvergente, sia in laboratorio che in produzione. Lo faremo in modo accessibile, ma senza lesinare sui dettagli tecnici, in modo che possiate applicare tutto questo nel vostro ambiente senza procedere alla cieca.

Che cosa sono gli spazi di archiviazione e come si presenta la suddivisione in livelli?

Nell'ecosistema di Windows Server, Storage Spaces è il livello di archiviazione definito dal software che consente di raggruppare i dischi fisici (SATA, SAS, SSD, NVMe…) in un “pool” o gruppo di archiviazione, sul quale vengono poi creati dischi virtuali con diversi livelli di resilienza (semplice, mirror, parità).

Il concetto di livelli o livelli di archiviazione Questo entra in gioco quando combiniamo unità con diversi livelli di prestazioni all'interno di quel pool: ad esempio, SSD o NVMe per il livello veloce e HDD tradizionali per il livello di capacità. Gli spazi di archiviazione possono spostare automaticamente i dati "caldi" (a cui si accede di frequente) al livello veloce e lasciare i dati "freddi" nel livello più lento ed economico.

In uno scenario tipico, Avresti un livello di prestazioni basato su SSD/NVMe e un livello di capacità basato su HDDWindows gestisce internamente il posizionamento dei blocchi e la migrazione tra i livelli, in modo simile a quanto fanno le soluzioni di array SAN commerciali, ma utilizzando server x86 standard con dischi locali.

Questo stesso approccio a livelli è riscontrabile anche in altri produttori e cloud pubblici, dove offrono classi di archiviazione con costi e tempi di accesso diversiLa transizione è automatizzata in base ai modelli di utilizzo. L'obiettivo è sempre lo stesso: avere tutto a disposizione senza dover pagare il prezzo dello storage più costoso per tutti i dati.

Storage Spaces Direct (S2D): il fondamento dell'iperconvergenza in Windows

Spazi di archiviazione iperconvergenti diretti

Storage Spaces Direct, o S2D in breve, è l'evoluzione degli spazi di archiviazione tradizionali apparso inizialmente in Windows Server 2012 R2. Con S2D, Microsoft porta il concetto di storage definito dal software all'estremo: invece di affidarsi a un array SAN esterno, i server del cluster stessi contribuiscono con i propri dischi locali, che vengono aggregati in un unico pool distribuito.

Questa tecnologia fa parte del nucleo di Azure Stack HCI e le edizioni Datacenter di Windows Server (2016, 2019, 2022 e versioni successive, inclusa Azure Edition). Non è necessario installare componenti insoliti: è integrato nel sistema operativo e abilitato sul tradizionale cluster di failover.

Con S2D puoi costruire due principali modelli di distribuzione: lo scenario iperconvergente classico, in cui gli stessi nodi forniscono elaborazione (macchine virtuali Hyper-V) e storage, e lo scenario convergente o disaggregato, con un cluster dedicato esclusivamente allo storage e un altro all'elaborazione a cui si accede tramite SOFS (Scale-Out File Server).

Negli ambienti produttivi, Microsoft consiglia di utilizzare hardware convalidato per le piattaforme S2D o Azure Stack HCICon almeno tre nodi, se si vuole essere in grado di perderne uno senza interruzioni di servizio, e dischi adatti (SAS, SSD, NVMe...) in ogni server. Per l'uso in laboratorio, è possibile gestirne meno, anche con SATA e configurazioni più "creative", ma questa è un'altra storia e non è supportata in produzione.

Componenti chiave di Storage Spaces Direct e tiering

Per comprendere come vengono combinati gli spazi di archiviazione, S2D e il tiering, è utile rivedere i componenti tecnici che si trovano sotto l'interfaccia grafica o dei partecipanti.

Prima di tutto, abbiamo bisogno hardware compatibile e un numero sufficiente di dischiServer x86 certificati, ciascuno con più unità locali che possono combinare NVMe, SSD e HDD. Questa combinazione ci consente di creare diversi livelli all'interno dello stesso pool, ad esempio un livello all-flash veloce e un livello di capacità con dischi meccanici.

La rete è un altro pilastro fondamentale, perché il bus di archiviazione definito dal software In questo modo, tutti i nodi del cluster vedono i rispettivi dischi locali come se fossero in uno chassis comune. Per un funzionamento ottimale, si consiglia vivamente di utilizzare reti veloci con RDMA (RoCE o iWARP) a 10 GbE o superiori, soprattutto nei cluster di produzione con IOPS elevati.

In cima a quell'autobus, viene creato un singolo Storage Pool che raggruppa tutta la capacità disponibile. Da questo pool vengono creati dischi virtuali o spazi di archiviazione, in cui vengono configurati il ​​tipo di resilienza (semplice, mirror, parità) e la politica di tiering, indicando quale parte è supportata da SSD/NVMe e quale da HDD.

Per quanto riguarda quei dischi virtuali, la cosa normale da usare è ReFS (Resilient File System) come file system consigliatoReFS è particolarmente utile per i carichi di lavoro di virtualizzazione con storage Hyper-V o VHDX. Offre integrità automatica, rilevamento e riparazione accelerati dei danneggiamenti e ottimizzazioni per la clonazione rapida dei blocchi, caratteristiche molto utili negli scenari multi-VM.

Modelli di implementazione: iperconvergenti e convergenti

All'interno della famiglia S2D, il modello più popolare oggi è il distribuzione iperconvergente (HCI)Con questo approccio, gli stessi server cluster ospitano le macchine virtuali Hyper-V e contemporaneamente contribuiscono con il loro storage al pool S2D. Questa è una configurazione molto interessante per molte aziende perché riduce complessità e costi eliminando la necessità di un array SAN separato.

L'altra opzione è l'approccio convergenti o disaggregatiQui i ruoli sono separati: un cluster è dedicato esclusivamente all'archiviazione S2D ed espone i volumi tramite un file server Scale-Out (SOFS) utilizzando SMB3, mentre un altro cluster indipendente gestisce l'elaborazione e consuma tale archiviazione remota.

In entrambi i modelli, La suddivisione in livelli continua a svolgere lo stesso ruoloPosizionare in modo intelligente i dati attivi sui supporti più performanti e spostare i dati a cui si accede meno di frequente sui livelli più economici. Questa filosofia si riflette anche in servizi cloud come Amazon S3 Intelligent Tiering, dove gli oggetti a cui si accede frequentemente rimangono in una classe "Standard", mentre gli oggetti utilizzati raramente vengono spostati in classi di archiviazione o a cui si accede meno di frequente per ridurre i costi.

Un chiaro vantaggio dell'approccio convergente è che È possibile scalare in modo indipendente elaborazione e archiviazione.Aggiungere nodi S2D se è necessaria maggiore capacità di archiviazione o larghezza di banda, oppure nodi Hyper-V se non si dispone di risorse di CPU e RAM, senza dover aumentare tutto in una volta.

In ogni caso, sia nei modelli iperconvergenti che in quelli convergenti, Il cluster di failover di Windows Server è la base che garantisce un'elevata disponibilità. e gestione coordinata delle risorse, dei ruoli del cluster, dei volumi condivisi e delle migrazioni live delle macchine virtuali.

Come configurare un cluster S2D con spazi di archiviazione e livelli

L'impostazione di un cluster con Storage Spaces Direct e l'abilitazione della suddivisione in livelli potrebbero sembrare complicate all'inizio, ma il flusso di lavoro complessivo Segue una serie di passaggi abbastanza logici che dovrebbe essere chiaro prima di iniziare.

La prima cosa è preparare il nodi con Windows Server Datacenter (nella versione supportata che utilizzerai), installando Hyper-V se ospiterai macchine virtuali e aggiungendo la funzionalità cluster di failover. Il cluster viene creato seguendo la procedura guidata standard di Failover Cluster Manager, convalidando hardware, reti e dischi.

Una volta formato il cluster, si verifica in Gestore del disco in cui ogni nodo vede i propri dischi dati come unità indipendenti (Idealmente JBOD o RAID-0 uno a uno in modo che S2D abbia visibilità diretta). I dischi che saranno dedicati al pool non dovrebbero avere volumi o partizioni creati; dovrebbero semplicemente essere lasciati "grezzi" e disponibili per la gestione da parte di S2D.

A livello di rete, è configurato almeno una rete per il traffico client e un'altra per il traffico interno del cluster (heartbeat, replicazione dei dati, ecc.). Negli ambienti di produzione solitamente ci sono reti più segmentate per diversi tipi di traffico, ma in laboratorio è solitamente molto più semplice.

Con il cluster operativo e i dischi pronti, è il momento di abilitare Storage Spaces Direct tramite PowerShellDa una console con privilegi di amministratore, puoi eseguire un comando come:

Enable-ClusterS2D -PoolFriendlyName S2D Avvia l'abilitazione automatica del pool di archiviazione

Questo cmdlet analizza i dischi idoneiCreare lo Storage Pool e configurare l'infrastruttura S2D. Nei laboratori con dischi che non soddisfano tutti i requisiti (ad esempio, SATA anziché SSD certificati), è possibile utilizzare il parametro. -SkipEligibilityChecks per saltare alcuni controlli, anche se, insistiamo, questa non è una cosa supportata in produzione.

Creazione del pool, dei dischi virtuali e del volume con ReFS

Dopo aver abilitato S2D, se si torna a Sovraccaricare Failover Cluster Manager e andare su Storage > PoolVedrai un nuovo pool che raggruppa i dischi dati di tutti i nodi. Questo è il cuore del tuo storage definito dal software.

Il passaggio successivo consiste nel creare un file disco virtuale all'interno del poolDalle azioni del pool, seleziona "Nuovo disco virtuale" e segui la procedura guidata, specificando il nome e se desideri utilizzare il tiering tra diversi tipi di disco. Se il pool include sia SSD che HDD, puoi selezionare la casella per abilitare il tiering dei dati.

L'assistente ti chiederà anche informazioni sul resilienza che avrà il disco virtualePer gli ambienti più esigenti, la prassi comune è quella di utilizzare il mirroring (equivalente a RAID-1) o il mirroring a tre vie, che consente il downtime simultaneo di due dischi. La parità (simile a RAID-5) è un'opzione valida per alcuni scenari di archiviazione, ma comporta una maggiore penalità in scrittura.

Una volta scelto il tipo di resilienza e definita la dimensione del disco virtuale, la procedura guidata può concatenare la creazione del volume direttamente su di esso. È molto pratico lasciare questa opzione selezionata in modo che, non appena il disco virtuale viene creato, venga formattato con il software appropriato. file system adatto, solitamente ReFS se si prevede di ospitare macchine virtuali, oppure NTFS se si hanno altre esigenze specifiche.

Durante questo processo decidi anche se si assegna una lettera di unità o si lascia il volume senza letteraNegli ambienti cluster con volumi condivisi per Hyper-V, è molto comune non utilizzare lettere di unità e lavorare con percorsi. C:\ClusterStorage\in modo che tutti i nodi vedano lo stesso volume come risorsa condivisa.

Conversione in Cluster Shared Volume (CSV) e utilizzo con Hyper-V

Una volta creato il volume sul disco virtuale, resta un passaggio essenziale per sfruttarlo nel cluster: convertirlo in Cluster Shared Volume (CSV)Da Failover Cluster Manager, nella sezione dischi disponibili, selezionare il volume e scegliere l'opzione "Aggiungi al volume cluster condiviso".

In questo modo, il cluster monta il volume sotto il percorso. C:\ClusterStorage\VolumeX su tutti i nodiCiò consente a tutti gli host di accedere simultaneamente allo storage. Questo è esattamente ciò che rende la migrazione live delle macchine virtuali fluida, poiché il disco della VM rimane disponibile per tutti gli host contemporaneamente.

Se apri l'esploratore file su ogni nodo, vedrai che appare la cartella ClusterStorage nella radice di C:, con il volume condiviso al suo interno. Qui di solito vengono create le cartelle per le macchine virtuali (VHDX, configurazione, checkpoint) e, ad esempio, le cartelle con le ISO che si desidera utilizzare da qualsiasi nodo.

Da Hyper-V Manager puoi creare una nuova macchina virtuale che ospita i suoi file direttamente nel CSVDopodiché, la VM può essere aggiunta come risorsa del cluster e spostata tra i nodi tramite Live Migration, verificando che continui a funzionare durante la modifica degli host fisici.

Un dettaglio pratico in alcuni laboratori con “virtualizzazione annidata” è che Per consentire a una macchina virtuale di accedere a un'altra rete VM, è necessario abilitare lo spoofing dell'indirizzo MAC.Si tratta di una svista comune che richiede la chiusura dei nodi e la modifica della configurazione, quindi vale la pena tenerla a mente per evitare di perdere tempo.

Caso specifico: espansione di uno spazio di archiviazione con tiering su un server

Oltre alla configurazione dei cluster, esiste uno scenario molto comune: Hai spazio di archiviazione su un server separato con livelli configurati e devi espanderlo. perché la capacità attuale è insufficiente. Windows Server consente di farlo in modo abbastanza diretto utilizzando PowerShell e pochi passaggi ben definiti.

Immagina uno spazio di archiviazione a strati di circa 12 TB già creato, con SSD e HDD a livelli. Il processo generale per espanderlo sarebbe il seguente: innanzitutto Aggiungi nuovi dischi fisici al pool di archiviazione (ad esempio, più HDD per il livello di capacità) e assicurarsi che il sistema li veda correttamente.

Quindi, da PowerShell, esegui un Get-PhysicalDisk | FL * per elencare tutti i dischi e individua l'ID univoco del nuovo disco appena aggiunto. Questo identificatore è quello che userai per modificare il tipo di supporto, essenziale se il disco non viene rilevato automaticamente come HDD o SSD.

Con l'uniqueId in mano, lancia un comando come questo: Set-PhysicalDisk -UniqueId <ID> -MediaType HDD per aggiorna il tipo di supporto del nuovo discoDopodiché, è consigliabile aggiornare Server Manager o Storage Management Console per verificare che il disco sia del tipo corretto.

Una volta regolato il tipo, puoi ridimensionare il livello corrispondente utilizzando il cmdlet Resize-StorageTierAd esempio, qualcosa come Resize-StorageTier -FriendlyName Vdisk01_Microsoft_HDD_Template -Size 16.1TB consentirebbe di espandere la dimensione assegnata al livello HDD all'interno di quel disco virtuale a strati.

L'ultimo passo è andare a Gestione del disco ed estensione del volume supportato da quel disco virtualeCiò consente al sistema operativo di sfruttare la nuova capacità disponibile. Da quel momento in poi, avrai più spazio utilizzabile mantenendo la configurazione a livelli tra SSD e HDD, senza dover ricreare lo spazio di archiviazione da zero.

Considerazioni riguardanti colonne, numero di dischi e progettazione dei livelli

Spazi di archiviazione con livelli: cosa sono e come configurarli

Una domanda comune quando si lavora con gli spazi di archiviazione in configurazioni più avanzate è come Le colonne sono correlate al numero di dischi fisici richiestisoprattutto quando si desidera utilizzare gli SSD come livello di prestazioni insieme agli HDD in uno chassis con molti dischi.

Le colonne determinano come i dati vengono distribuiti in parallelo sui dischi fisiciCiò influisce sia sulle prestazioni che sulla tolleranza agli errori, nonché sul numero minimo di unità richieste. Ad esempio, se si definisce uno spazio di archiviazione con tre colonne, i dati vengono "distribuiti" su tre dischi per ogni copia (a seconda del livello di resilienza).

Quando entri in un SSD di livello superiore a un set di HDDLa logica è simile: se il progetto del disco virtuale utilizza tre colonne, in genere è necessario che anche il livello SSD disponga di un numero sufficiente di unità per mantenere tale struttura. Lavorare con un singolo SSD come livello è solitamente una cattiva idea perché elimina il parallelismo, complica la resilienza e diventa un singolo punto di errore.

Sebbene in laboratorio si possano fare delle concessioni (pochi dischi, mix strani, ecc.), Negli ambienti reali è consigliabile seguire le raccomandazioni di Microsoft. Per quanto riguarda il numero minimo di dischi per tipo di supporto, il numero di colonne appropriato alle dimensioni del pool e i livelli di resilienza, in modo che la suddivisione in livelli possa funzionare in modo equilibrato.

La corretta progettazione dei livelli influenza direttamente le prestazioni percepite delle applicazioniL'efficienza nell'utilizzo dell'SSD (per evitare che diventi un collo di bottiglia) e la capacità effettiva che si otterrà dopo aver applicato il mirroring o la parità sono tutti fattori importanti. Un dimensionamento inadeguato può portare a spiacevoli sorprese quando si desidera espandere lo spazio o in caso di guasto di un'unità.

Parallelismi con la suddivisione in livelli del cloud e la gestione del ciclo di vita

Oltre a Windows Server, vale la pena dare un'occhiata a come Altri fornitori affrontano il problema dei livelliPerché i principi sono gli stessi e questo aiuta a comprenderne la filosofia generale. Un chiaro esempio è Amazon S3 Intelligent-Tiering combinato con S3 Glacier, dove il sistema classifica automaticamente gli oggetti in base al loro modello di accesso.

In un caso d'uso reale, una piattaforma di streaming europea è migrata oltre 3 PB di contenuti audiovisivi su Amazon S3 Grazie ai dispositivi Snowball, ora l'azienda gestisce l'intero archivio online grazie all'Intelligent Tiering. I contenuti più richiesti rimangono nella fascia di accesso più frequente, mentre le serie e i film meno visti vengono spostati nelle fasce di accesso meno frequente o archiviati, mantenendo così i costi complessivi sotto controllo.

Allo stesso modo, negli ambienti on-premise con soluzioni come ONTAP, è possibile definire politiche del ciclo di vita per lo spostamento dei dati tra diverse classi di archiviazioneSi inizia con una classe standard e, dopo X giorni di inattività, si passa a classi più economiche. Inoltre, alcuni sistemi consentono persino di creare mirror in altre posizioni di archiviazione degli oggetti e di passare dalla destinazione primaria al mirror.

Il messaggio di fondo è che Il tiering non è più solo una funzionalità hardware localema piuttosto una strategia completa di gestione dei dati, sia nel cloud che nel data center. Gli spazi di archiviazione con tiering in Windows si adattano perfettamente a questa filosofia, consentendo di sperimentare diversi livelli di prestazioni e costi senza uscire dall'ecosistema Microsoft.

In tutti questi contesti, ciò che effettivamente risparmi è gestione del tempo e mal di testaNon devi pensare costantemente a cosa eliminare, quale metodo di copia utilizzare o cosa spostare manualmente, perché il sistema impara dal modello di accesso e sposta i dati dove dovrebbero essere per ottimizzare la spesa e le prestazioni.

Se mettiamo insieme tutto quello che abbiamo visto, diventa chiaro che Gli spazi di archiviazione con livelli e gli spazi di archiviazione diretti costituiscono un blocco molto potente per la creazione di infrastrutture moderneSia in locale che in ambienti ibridi, partendo da server standard, è possibile ottenere prestazioni molto simili a quelle degli array SAN avanzati, con elevata disponibilità, elevate prestazioni, scalabilità orizzontale e gestione automatizzata dei dati caldi e freddi. Con un'attenta pianificazione di hardware, reti e progettazione di pool e livelli, diventa un componente chiave per cluster Hyper-V, file server scalabili o persino distribuzioni HCI integrate con il cloud, senza dover ricorrere a soluzioni proprietarie molto più costose.

Memoria persistente (PMEM)
Articolo correlato:
Persistent Memory Storage (PMEM): cos'è e a cosa serve