大型流行软件制造商以不同的方式照顾客户。 一种方法是创建认证程序。 因此,当有想法的客户在针对特定软件的硬件配置之间徘徊时,该软件的制造商可以自信地指出:“承担一切,一切都会好起来的。”
这种用于SQL Server的程序是由Microsoft开发的-SQL Server快速通道(DWFT)。 它可以证明数据仓库的配置-满足工作负载要求的配置,并且可以以较低的风险,成本和复杂性来实施。 听起来不错,但在实践中评估这些标准很有趣。 为此,我们将详细分析具有SQL Server数据仓库快速通道认证的一种配置。

对于初学者-有关DWFT的更多信息。 该程序不仅包括来自系统供应商的参考体系结构认证,而且还包括许多最佳实践指南-如果您想构建自己的东西。 Microsoft正在根据客户反馈更新该程序,以开发新功能。
使用符合DWFT的存储,可以确保SQL Server的所有功能都可用。 内存中列存储技术可提高事务和分析工作负载的性能。 在Hadoop,Spark或Azure Data Lake中都将支持传统的结构化关系数据和非结构化大数据。 使用SQL Server PolyBase功能,您可以在SQL Server Universe中合并大数据,查询关系数据和非结构化数据,将它们合并在一起而不必移动它们。
认证体系结构的一般列表在
此页面的底部。 接下来,我们将介绍其中之一。
“参考”架构
现在-分析DWFT认证的架构之一。 它基于我们的BullSequana S400和S800服务器以及Dell EMC VMAX存储。 如果将BullSequana S服务器扩展到32个处理器,则存储最多可以增加4 PB。
为了确保高数据库可用性,还建议使用Windows故障转移群集。 也就是说,至少使用两个服务器。 通过Microsoft群集服务,一台数据库服务器配置为主要(主动)服务器,第二台数据库服务器为辅助(被动)服务器。 被动服务器必须具有与主服务器相同的配置。
基础架构组件的列表和特征
两种配置的概述五金配件
BullSequana S800服务器
BullSequana S800服务器是八处理器服务器,具有高达12 TB的内存,高级I / O和带有SSD / HDD / NVMe存储或NVidia Tesla GPU的模块添加件。
BullSequana S系列的选件从具有两个处理器的S200到具有32个处理器的S3200。 生产线的规模是两个处理器。 对于SQL Server 2017 DWFT体系结构,S200,S400和S800模型均已通过同等认证。

主机总线适配器Emulex LPe31002-M6 16 Gbps
与前几代产品相比,具有动态多核体系结构的Emulex Gen 6 FC适配器可提供更高的性能,更低的延迟,更好的诊断和可管理性。 它提供的速度高达12800 MB / s(两个32GFC端口或四个16GFC端口),每个适配器的吞吐量为160万IOPS。 LPe32004的四端口版本每个适配器可提供高达320万IOPS。
Brocade 6510交换机
Broadcom的Brocade 6510交换机是1U,48端口服务器安装的光纤通道交换机。
- 光纤通道性能:16 Gb / s
- 多达48个端口,提供768 Gb / s的总吞吐量
- 高达128 Gbps的帧中继
- 功耗:14 W / Gb / s
戴尔EMC VMAX 250F
VMAX全闪存专注于PB数据量和大型事务处理。 VMAX全闪存可扩展和集成数百个英特尔多核处理器,以实现动态混合工作负载。 VMAX全闪存的核心元素是V-Brick-可以将多达八个V-Brick组合为一个具有完全独立的连接性,处理和带宽功能的单个系统。 每个V-Brick最多支持72个处理器内核以扩展性能-每个阵列最多576个内核。 为了扩展,使用了Flash Capacity Packs模块。
存储应明确满足对高精度实时事务处理(OLTP),虚拟化应用程序以及Oracle和SQL数据库的要求。 数百万IOPS,PB吞吐量和可预测的性能(响应时间为350μs)可以满足要求。
最后,该体系结构应具有增强的错误隔离,可靠的数据完整性检查以及经过验证的故障安全硬件和软件更新。 另一个要求:使用SRDF软件进行24x7全天候运行的可用性。
如何连接存储
VMAX 250F配置(全闪存):
- 2个vBrick,每个块具有2 TB的缓存。
- 32个16 Gbps主机FC端口
- 64 * 3.84 TB闪存(Raid5-7 + 1)+备用
机架中VMAX vBrick的外观:

港口位置:

经过认证的体系结构中的逻辑阵列配置与Dell EMC配置和最佳实践保持一致。
- HyperMaxOS版本:5977.1131.1131
- 加密:已启用
- 压缩:禁用
- 系统性能概况:基本
主要分布:


LUN配置
在64个驱动器上创建的虚拟池中,所有LUN被配置为THIN LUN。 数据分布在两个vBrick的所有闪存驱动器上。 Dell EMC VMAX上总共定义了35个LUN:
- 16个8 TB LUN用于用户数据(总共128 TB)
- tempdb为16 LUN或2 TB(总共32 TB)
- 磁带盒的2 LUN大小为2 TB(总共4 TB)
光纤通道(FC)前端端口配置为在虚拟端口模式下使用四个故障转移域。 每个端口均一对一连接到VMAX上的端口,该端口仅服务一个数据LUN和一个Tempdb LUN。 对于它们中的每一个,都有一个LUN来分隔对LUN的读取和写入操作(执行GROUP BY或ORDER BY时,首先将数据写入Tempdb,然后再用于查询的另一部分或呈现给用户)。 每个LUN映射到四个FA端口,并且可以通过四种方式访问。
端口映射:

VMAX存储组(SG)
已创建以下存储组:

读写缓存
VMAX缓存是全局的,动态用于读取和写入。 默认设置用于限制系统中的等待录制。 由于系统仅使用一个应用程序,因此无需创建缓存分区。
连接到服务器和MPIO
Windows Server 2016使用了自己的MPIO。 它的替代产品是用于Dell EMC应用程序的PowerPath软件。
电缆布线
Brocade交换机的顶部端口用于连接BullSequana S800服务器。 Emulex HBA的每个偶数端口都连接到Brocade交换机左侧的顶部端口。 每个Outbus Emulex HBA端口都连接到Brocade_2交换机左侧的顶部端口。 下部端口仅用于连接Dell EMC VMAX FC端口。
单服务器配置
下图显示了BullSequana S800与Dell EMC VMAX 250F之间的电缆连接。 HBA的放置可能会因HBA模块的放置而异。

高可用服务器配置中的电缆连接
下图显示了如何在高可用性配置中通过Dell EMC VMAX 250F连接两台BullSequana S800服务器。 同样,HBA的放置可能会根据HBA模块的放置而有所不同。

在Brocade交换机左侧的上方,突出显示了第一个S800服务器的端口的左半部分,在图的右侧是右侧的端口,第二个S800服务器已连接到它们。
BullSequana S800服务器配置
系统BIOS
除BMC网络配置外,所有参数均保留为出厂默认设置。 默认情况下,“处理器设置”部分中的“逻辑处理器”设置保持打开状态。 这将激活英特尔超线程技术,该技术可使SQL Server可用的逻辑处理器数量最大化。
Emulex LPe31002-M6 16 Gbps
所有Emulex HBA均可通过Emulex OneCommand Manager获得。 Microsoft DWH快速通道认证期间使用的固件和驱动程序版本为12.0.193.13。

所有HBA具有相同的固件很重要。 可从Broadcom网站下载最新固件。 可以使用Emulex OneCommand Manager中的“下载固件”按钮执行固件升级。 更改驱动程序和/或固件可能需要重启服务器。
除了QueryDept参数(从32更改为64)以外,所有其他主机和HBA参数默认情况下都保留。

Windows Server 2016配置
安装方式
Windows安装是使用默认设置执行的。 安装后,将激活Windows MPIO功能,如下图所示。

安装MPIO功能后,必须重新启动Windows。
安装驱动程序和软件包
USB驱动器上的驱动程序和软件包非常重要,因为它们不包含在安装DVD上的Windows驱动程序目录中(网络适配器比Windows Server 2016更新)。 在安装Windows和MPIO之后,安装了以下驱动程序和软件包(按指定顺序):
- Intel INF芯片组版本10.1.17711.8088_PV或更高版本(需要重新引导)
- Windows 2016版本6.14-6.714.05.00-WHQL的MegaRAID驱动程序(需要重新启动)
- 适用于Intel XL7xx家族版本23_2或更高版本的PROWinx64
- OneInstall-Setep-12.0.193.18.exe或更高版本
电源设定
为了使性能最大化,服务器被配置为使用高性能计划。

锁定内存中的页面
为防止Windows操作系统将数据页发送到磁盘上的虚拟内存,并且SQL Server可以使用该过程将数据保存在物理(RAM)内存中,SQL Server服务帐户的“锁定内存中的页面”选项已打开。 您必须重新启动SQL Server,此选项才能生效。
Windows驱动器
在VMAX和LUN交换机中完成分区后,它们将显示在Windows磁盘管理中。

如果所有驱动器的格式正确,Windows磁盘管理将显示以下列表:

共有34个LUN:
- 16个8 TB LUN用于用户数据(总共128 TB)
- tempdb为16 LUN或2 TB(总共32 TB)
- 磁带盒的2 LUN大小为2 TB(总共4 TB)
对于DWFT参考体系结构,Dell EMC和我建议对卷使用安装点,而不要使用驱动器号。 我们建议您分配适当的卷和安装点名称,以简化故障排除和性能分析。 理想情况下,应该以一种简化此Windows卷的VMAX卷标识的方式分配安装点名称。
下表显示了用于参考配置的卷标和访问路径:

准备好所有LUN之后,C:\ Storage目录如下所示:

MPIO
所有卷的MPIO策略在“最少队列部”部分中设置。

Windows Defender配置
Windows Defender是标准的防病毒和防垃圾邮件组件。 为了防止扫描SQL Server数据和日志文件(以提高性能),必须添加以下例外。
一台服务器中的文件夹:
- C:\程序文件(x86)\ Microsoft SQL Server
- C:\ Program Files文件\ Microsoft SQL Server
- C:\存储(单服务器解决方案)
高可用性(HA)解决方案中的文件夹:
- C:\程序文件(x86)\ Microsoft SQL Server
- C:\ Program Files文件\ Microsoft SQL Server
- C:\ ClusterStorage(价格合理的解决方案)
- C:\ Windows \集群
- 仲裁驱动
- MSDTC驱动器
档案类型:
SQL Server 2017企业版配置
安装主要使用默认设置完成。 下面列出了一些例外情况。 在SQL Server 2017的安装过程中,选择了Performance Performance Maintenance Task选项。
Tempdb配置
Tempdb数据库配置为使用16个相同大小的文件。 Tempdb数据文件位于16个卷上。 tempdb事务日志文件放置在保留日志的磁盘上。 自动缩放功能已开启。
SQL Server实例的启动选项
SQL Server 2017自动设置跟踪标记-T1117和-T1118,因此您不再需要将它们添加到实例启动选项中。 如果不使用跟踪标志-T834,则可以实现更好的性能。 Microsoft建议在使用群集列存储索引时不要使用此标志。
唯一的起始参数是-E标志:

有关此主题的更多信息,请参见Microsoft
DBCC TRACEON-跟踪标志和
数据库引擎服务启动选项 。
最大SQL Server内存
此参考体系结构的最大服务器内存应设置为11.534.336 MB或11.264 GB,其中为操作系统分配了1.024 GB。 如果其他应用程序共享服务器,则必须调整操作系统可用的内存量。

最大并发(MAXDOP)
最大并行度设置为448,它对应于服务器上可用的逻辑核心数。

资源管理
根据所用工作负载的类型(行数最多的存储(RS)或群集列存储的CS),必须相应地配置资源调控器。
对于字符串存储,用于限制最大内存量的resource-regulator参数设置为12%。
ALTER WORKLOAD GROUP [default] WITH (request_max_memory_grant_percent=12); ALTER RESOURCE GOVERNOR RECONFIGURE;
对于列存储,用于限制最大内存量的资源控制器设置被设置为25%。
ALTER WORKLOAD GROUP [default] WITH (request_max_memory_grant_percent=25); ALTER RESOURCE GOVERNOR RECONFIGURE;
数据库设置
数据仓库数据库配置为使用几组文件,每组文件包含16个文件,这些文件平均分布在16个数据卷中。 允许所有文件自动增长。 已使用AUTOGROW_ALL_FILES参数配置文件组,以确保给定文件组中的所有文件保持相同。
ALTER DATABASE <database name> MODIFY FILEGROUP <file group name> AUTOGROW_ALL_FILES;
高可用性(HA)链接体系结构附加组件
HA参考体系结构使用Windows故障转移群集来提供高可用性。 配置Windows故障转移群集还有其他存储问题。 推荐的配置允许所有群集语音为仲裁投票并使用磁盘。
必须创建一个附加卷并将其配置为见证磁盘。 Dell EMC建议使用2 GB的磁盘空间。 所有卷必须映射到每个群集节点,配置为群集资源,并添加到SQL Server群集资源组。
结论
总之,我们可能会挑出配置最重要的优势-连接大量HBA适配器的能力。 这使您可以平衡存储模块的增加。
这是ATOS BullSequana S800和Dell EMC VMAX 250F的配置证书。 您可以在其中看到测试指标。在不久的将来,我们计划将解决方案转移到Cascade Lake的体系结构中。 这将导致开始新的认证,该认证将补充当前的认证。 我们很乐意在评论中回答您有关认证和我们的体系结构的问题。