sql >> Databasteknik >  >> RDS >> Sqlserver

Introduktion till Storage Spaces Direct för SQL Server

Windows Server 2012 introducerade en ny funktion som heter Scale-Out File Server (SOFS). Historiskt har SOFS främst använts som en delad lagringsnivå (som ett alternativ till ett delat SAN) för Hyper-V-virtualiseringsvärdar, men den här funktionen är också användbar för SQL Server 2012 och nyare, som kan lagra både system- och användardatabasfiler på SMB 3.0-filresurser för både fristående och klustrade instanser av SQL Server. SOFS består av en uppsättning klustrade filservrar som utgör ett transparent failover-filserverkluster. Databasservern ansluter till SOFS med SMB 3.0-nätverk (vilket kräver Windows Server 2012 eller nyare på både filservrarna och databasservrarna). Du behöver också en eller flera JBOD-kapslingar som varje SOFS-klusternod är ansluten till med hjälp av SAS-kablar. Nätverksadaptrar med RDMA-kapacitet (Remote Direct Memory Access) som använder SMB Direct krävs på båda sidor av anslutningen. RDMA-nätverksadaptrar finns i tre olika typer:Internet Wide Area RDMA Protocol (iWARP), Infiniband eller RDMA over Converged Ethernet (RoCE).

Lagringsutrymmen används för att aggregera SAS-diskarna i JBOD-kapslingarna. Virtuella diskar skapas från de aggregerade SAS-diskarna, vilket ger motståndskraft mot disk- eller kapslingsfel, samt möjliggör SSD/HDD-lagring och återskrivningscache. I Windows Server 2012 och 2012 R2 kräver ett HA-lagringssystem som använder Storage Spaces att alla diskar är fysiskt anslutna till alla lagringsnoder. För att diskarna ska kunna anslutas fysiskt till alla lagringsnoder, måste de vara SAS-diskar och de måste installeras i ett externt JBOD-chassi där varje lagringsnod har fysisk anslutning till det externa JBOD-chassit.

Ett exempel på denna typ av distribution visas i figur 1:

Figur 1:Windows Server 2012 och 2012 R2 Shared JBOD Scale-Out File Server

De två huvudsakliga svagheterna med SOFS är kostnaden och komplexiteten för SAS-lagringsnivån, och det faktum att endast SAS-hårddiskar och SSD-enheter stöds (vilket betyder inga lägre kostnader för SATA-hårddiskar eller SSD-enheter). Du kan inte heller använda lokala interna enheter eller PCIe-minneskort i de enskilda filservernoderna med SOFS i Windows Server 2012 R2.

Lagringsutrymmen direkt

En av de mer spännande nya funktionerna i Windows Server 2016 kallas Storage Spaces Direct (S2D), som gör det möjligt för organisationer att använda flera, klustrade varufilservernoder för att bygga högt tillgängliga, skalbara lagringssystem med lokal lagring, med hjälp av SATA, SAS eller PCIe NVMe-enheter. Du kan använda interna enheter i varje lagringsnod, eller direktanslutna diskenheter med "Just a Bunch of Disks" (JBOD) där varje JBOD bara är ansluten till en enda lagringsnod. Detta eliminerar det tidigare kravet på ett delat SAS-tyg och dess komplexitet (som krävdes med Windows Server 2012 R2 Storage Spaces och SOFS), och gör det också möjligt att använda billigare lagringsenheter som SATA-diskar.

För att kunna använda S2D behöver du minst fyra klustrade filservrar som var och en kan ha en blandning av interna enheter (SAS eller SATA), PCIe flash-lagringskort eller direktanslutna diskenheter som kommer att poolas med hjälp av lagringsutrymmen. Upp till 240 diskar kan vara i en enda pool, delad av upp till 12 filservrar. En Software Storage Bus ersätter SAS-lagret i en delad SAS JBOD SOFS. Denna mjukvarulagringsbuss använder SMB 3.1.1-nätverk med RDMA (SMB Direct) mellan S2D-klusternoderna för kommunikation. Funktionen Storage Spaces aggregerar de lokala och DAS-diskarna till en lagringspool, där en eller flera virtuella diskar skapas från poolen. De virtuella diskarna (LUN) formateras med Resilient File System (ReFS) och konverteras sedan till klusterdelade volymer (CSV), vilket gör dem aktiva över hela filserverklustret.

S2D-stacken visas i figur 2:

Figur 2:Storage Spaces Direct (S2D) stack (Bildkredit:Microsoft)

Anledningen till att detta betyder så mycket för SQL Server-databasproffs är att S2D kommer att ge dig ytterligare ett högpresterande implementeringsval för ditt lagringsundersystem som fungerar med fristående SQL Server-instanser, med traditionella FCI-instanser (som kräver delad lagring) och med instanser som använder AlwaysOn AG-noder.

Om du har rätt nätverksadaptrar (inte din trädgårdsvariant, inbäddade Broadcom Gigabit Ethernet NIC) för både dina klustrade filservrar och för dina databasservrar, kommer du att kunna dra fördel av SMB Direct och RDMA så att SMB-nätverket kan leverera extremt hög genomströmning, med mycket låg latens och låg CPU-användning av nätverksadaptrarna, vilket gör att fjärrfilservern kan likna lokal lagring ur ett prestandaperspektiv. Den nya S2D-funktionen kommer att göra det enklare och billigare att distribuera ett Scale-Out File Server-kluster som kan leverera extremt hög prestanda för SQL Server-användning. Detta kommer inte bara att fungera för barmetall, icke-virtualiserade SQL Server-instanser, det kommer också att vara en bra lösning för virtualiserade SQL Server-instanser, där virtualiseringsvärden kan få mycket bättre I/O-prestanda än från ett typiskt SAN.

Om du till exempel har en 56 Gb InfiniBand (FDR) värdkanaladapter (HCA) ansluten till en PCIe 3.0 x8-plats på din databasserver (eller virtualiseringsvärdserver) och dina filservrar, ger det dig cirka 6,5 ​​GB/sek. sekventiell genomströmning för varje anslutning . Jag har lite mer detaljerad information om sekventiella genomströmningshastigheter och flöden här. För närvarande måste du använda PowerShell för att distribuera och hantera Storage Spaces Direct. Den här TechNet-artikeln har bra information och exempel på hur man testar S2D i Windows Server 2016 Technical Preview 3.

När Windows Server 2016 och SQL Server 2016 är GA, kommer vi förmodligen att ha den nya 14nm Intel Xeon E5-2600 v4 "Broadwell-EP"-processorn, som kommer att ha upp till 22 fysiska kärnor per sockel och 55 MB delad L3-cache, tillsammans med DDR4 2400 minnesstöd. Denna nya processorfamilj kommer att fungera med befintliga servermodeller, såsom Dell PowerEdge R730, eftersom den är socketkompatibel med de nuvarande 22nm "Haswell-EP"-familjens processorer. Detta ger dig den bästa underliggande hårdvaruplattformen för servern för att dra full nytta av S2D.


  1. Vad är Check Constraint i SQL Server - SQL Server / TSQL Tutorial Del 82

  2. Skapa en datamodell för samåkning

  3. Gå och IN-klausul i Postgres

  4. Avancerad SQL:Variationer och olika användningsfall av T-SQL Insert Statement