Windows Server 2012 ha introdotto una nuova funzionalità denominata Scale-Out File Server (SOFS). Storicamente, SOFS è stato utilizzato principalmente come livello di archiviazione condiviso (in alternativa a una SAN condivisa) per gli host di virtualizzazione Hyper-V, ma questa funzionalità è utile anche per SQL Server 2012 e versioni successive, che possono archiviare file di database sia di sistema che utente su condivisioni file SMB 3.0 per istanze autonome e in cluster di SQL Server. SOFS è costituito da un insieme di file server in cluster che costituiscono un cluster di file server di failover trasparente. Il server di database si connette a SOFS utilizzando la rete SMB 3.0 (che richiede Windows Server 2012 o versioni successive sia sui file server che sui server di database). Sono inoltre necessari uno o più contenitori JBOD a cui ogni nodo del cluster SOFS è connesso tramite cavi SAS. Gli adattatori di rete con funzionalità RDMA (Remote Direct Memory Access) che utilizzano SMB Direct sono necessari su entrambi i lati della connessione. Le schede di rete RDMA sono disponibili in tre diversi tipi:Internet Wide Area RDMA Protocol (iWARP), Infiniband o RDMA over Converged Ethernet (RoCE).
Gli spazi di archiviazione vengono utilizzati per aggregare i dischi SAS dei contenitori JBOD. I dischi virtuali vengono creati dai dischi SAS aggregati, fornendo resilienza contro i guasti del disco o dell'enclosure, oltre a consentire l'archiviazione a livelli SSD/HDD e la memorizzazione nella cache di write-back. In Windows Server 2012 e 2012 R2, un sistema di archiviazione HA che utilizza Spazi di archiviazione richiede che tutti i dischi siano collegati fisicamente a tutti i nodi di archiviazione. Per consentire la connessione fisica dei dischi a tutti i nodi di archiviazione, devono essere dischi SAS e devono essere installati in uno chassis JBOD esterno con ciascun nodo di archiviazione dotato di connettività fisica allo chassis JBOD esterno.
Un esempio di questo tipo di distribuzione è mostrato nella Figura 1:
Figura 1:Windows Server 2012 e 2012 R2 Shared JBOD Scale-Out File Server
I due principali punti deboli di SOFS sono il costo e la complessità del livello di archiviazione SAS e il fatto che sono supportati solo HDD e SSD SAS (il che significa che non sono disponibili HDD o SSD SATA a basso costo). Inoltre, non è possibile utilizzare unità interne locali o schede di memoria PCIe nei singoli nodi del file server con SOFS in Windows Server 2012 R2.
Spazi di archiviazione diretti
Una delle nuove funzionalità più interessanti di Windows Server 2016 è denominata Storage Spaces Direct (S2D), che consente alle organizzazioni di utilizzare più nodi di file server di base in cluster per creare sistemi di archiviazione scalabili e altamente disponibili con archiviazione locale, utilizzando SATA, SAS o Dispositivi PCIe NVMe. È possibile utilizzare unità interne in ciascun nodo di archiviazione o dispositivi disco con collegamento diretto utilizzando "Just a Bunch of Disks" (JBOD) in cui ogni JBOD è connesso solo a un singolo nodo di archiviazione. Ciò elimina il precedente requisito per un'infrastruttura SAS condivisa e le sue complessità (che era richiesta con gli spazi di archiviazione e SOFS di Windows Server 2012 R2) e consente anche l'utilizzo di dispositivi di archiviazione meno costosi come i dischi SATA.
Per utilizzare S2D, sono necessari almeno quattro file server in cluster, ciascuno dei quali può avere una combinazione di unità interne (SAS o SATA), schede di archiviazione flash PCIe o dispositivi disco ad attacco diretto che verranno raggruppati utilizzando gli spazi di archiviazione. In un unico pool possono trovarsi fino a 240 dischi, condivisi da un massimo di 12 file server. Un Software Storage Bus sostituisce il livello SAS di un SAS JBOD SOFS condiviso. Questo bus di archiviazione software utilizza la rete SMB 3.1.1 con RDMA (SMB Direct) tra i nodi del cluster S2D per le comunicazioni. La funzione Spazi di archiviazione aggrega i dischi locali e DAS in un pool di archiviazione, in cui vengono creati uno o più dischi virtuali dal pool. I dischi virtuali (LUN) vengono formattati con Resilient File System (ReFS) e quindi convertiti in volumi condivisi del cluster (CSV), che li rendono attivi nell'intero cluster di file server.
Lo stack S2D è mostrato nella Figura 2:
Figura 2:Stack Storage Spaces Direct (S2D) (Image Credit:Microsoft)
Il motivo per cui questo è così importante per i professionisti del database di SQL Server è che S2D ti offrirà un'altra scelta di distribuzione ad alte prestazioni per il tuo sottosistema di archiviazione che funzionerà con istanze di SQL Server autonome, con istanze FCI tradizionali (che richiedono archiviazione condivisa) e con istanze che utilizzano nodi AlwaysOn AG.
Se disponi delle schede di rete appropriate (non della tua varietà da giardino, NIC Gigabit Ethernet Broadcom integrate) sia per i tuoi file server in cluster che per i tuoi server di database, sarai in grado di sfruttare SMB Direct e RDMA in modo che la rete SMB possa fornire throughput estremamente elevato, con latenza molto bassa e basso utilizzo della CPU da parte delle schede di rete, che consentono al file server remoto di assomigliare all'archiviazione locale dal punto di vista delle prestazioni. La nuova funzionalità S2D renderà più semplice e meno costosa la distribuzione di un cluster di file server con scalabilità orizzontale in grado di offrire prestazioni estremamente elevate per l'utilizzo di SQL Server. Non solo funzionerà per le istanze di SQL Server bare metal e non virtualizzate, ma sarà anche una buona soluzione per le istanze di SQL Server virtualizzate, in cui l'host di virtualizzazione può ottenere prestazioni di I/O molto migliori rispetto a una SAN tipica.
Ad esempio, se si dispone di un host channel adapter (HCA) InfiniBand (FDR) da 56 Gb collegato a uno slot PCIe 3.0 x8 del server di database (o server host di virtualizzazione) e dei file server, si ottengono circa 6,5 GB/sec di throughput sequenziale per ogni connessione . Ho alcune informazioni più dettagliate sulle velocità di trasmissione sequenziale e sui feed qui. Attualmente, devi usare PowerShell per distribuire e gestire Storage Spaces Direct. Questo articolo TechNet contiene buone informazioni ed esempi su come testare S2D in Windows Server 2016 Technical Preview 3.
Quando Windows Server 2016 e SQL Server 2016 saranno GA, avremo probabilmente il nuovo processore Intel Xeon E5-2600 v4 "Broadwell-EP" da 14 nm, che avrà fino a 22 core fisici per socket e 55 MB di cache L3 condivisa, insieme al supporto della memoria DDR4 2400. Questa nuova famiglia di processori funzionerà con i modelli di server esistenti, come Dell PowerEdge R730, poiché è compatibile con socket con gli attuali processori della famiglia "Haswell-EP" a 22 nm. Questo ti darà la migliore piattaforma hardware del server sottostante per sfruttare appieno S2D.