概述
NetApp ASA R2是一款简化且功能强大的解决方案、适用于运行任务关键型工作负载的纯SAN客户。运行ONTAP存储解决方案的ASA R2平台与Microsoft SQL Server相结合、可以实现企业级数据库存储设计、从而满足当今最苛刻的应用程序要求。
以下ASA平台归类为支持所有SAN协议(iSCSI、FC、NVMe/FC、NVMe/TCP)的ASA R2系统。iSCSI、FC、NVMe/FC和NVMe/TCP协议支持对称双主动多路径架构、以便主机和存储之间的所有路径都处于主动/优化状态:
-
ASA A1K
-
ASA A90
-
ASA A70
-
ASA A50
-
ASA A30
-
ASA A20
有关详细信息、请参见 "NetApp ASA"
要优化基于ONTAP的SQL Server解决方案、需要了解SQL Server I/O模式和特征。为SQL Server数据库精心设计的存储布局必须支持SQL Server的性能要求、同时还必须在整体上最大限度地提高基础架构的可管理性。良好的存储布局还可以成功完成初始部署、并随着业务的增长逐步平稳地扩展环境。
数据存储设计
Microsoft建议将数据和日志文件放在不同的驱动器上。对于同时更新和请求数据的应用程序、日志文件会占用大量写入资源、而数据文件(取决于您的应用程序)会占用大量读/写资源。对于数据检索、不需要日志文件。因此、可以通过放置在其自己驱动器上的数据文件来满足数据请求。
创建新数据库时、Microsoft建议为数据和日志指定单独的驱动器。要在创建数据库后移动文件、必须使数据库脱机。有关Microsoft的更多建议、请参见 "将数据和日志文件放在不同的驱动器上"。
存储单元注意事项
ASA中的存储单元是指SCSI/FC主机的LUN或NVMe主机的命名空间。根据支持的协议、系统将提示您创建LUN和/或NVMe命名空间。在为数据库部署创建存储单元之前、请务必了解SQL Server I/O模式和特征如何根据工作负载以及备份和恢复要求而有所不同。请参见以下存储单元的NetApp建议:
-
避免在同一主机上运行的多个SQL Server之间共享同一存储单元、以避免复杂的管理。如果在同一主机上运行多个SQL Server实例、则除非某个节点上的存储单元接近限制、否则请避免共享、而是为每个主机的每个实例设置单独的存储单元、以简化数据管理。
-
使用NTFS挂载点而不是驱动器盘符、以超过Windows中26个驱动器盘符的限制。
-
禁用快照计划和保留策略。请改用SnapCenter来协调SQL Server数据存储单元的Snapshot副本。
-
将SQL Server系统数据库放在专用存储单元上。
-
tempdb是一个系统数据库、SQL Server会使用它作为临时工作空间、尤其是用于I/O密集型DBCC CHECKDB操作。因此、请将此数据库放在专用存储单元上。在存储单元计数存在挑战的大型环境中、您可以在仔细规划后将tempdb与系统数据库整合到同一存储单元中。tempdb的数据保护不是高优先级、因为每次重新启动SQL Server时都会重新创建此数据库。
-
将用户数据文件(
.mdf
()放在单独的存储单元上,因为它们是随机读/写工作负载。通常、创建事务日志备份的频率比创建数据库备份的频率更高。因此,请将事务日志文件(.ldf
()放在与数据文件不同的存储单元或VMDK上,以便可以为每个存储单元或VMDK创建独立的备份计划。这种分离还会将日志文件的顺序写入I/O与数据文件的随机读/写I/O隔离开来、并显著提高SQL Server性能。 -
确保用户数据库文件和用于存储日志备份的日志目录位于单独的存储单元上、以防止保留策略在存储策略中的SnapMirror功能中使用快照时覆盖快照。
-
请勿在同一存储单元上混合使用数据库文件和非数据库文件、例如与全文搜索相关的文件。
-
将数据库二级文件(作为文件组的一部分)放在单独的存储单元上可提高SQL Server数据库的性能。只有当数据库的文件不与任何其他文件共享其存储单元
.mdf`时、此隔离才有效 `.mdf
。 -
在Windows服务器中使用磁盘管理器格式化磁盘时、请确保分区的分配单元大小设置为64K。
-
请勿将用户数据库或系统数据库放置在托管挂载点的存储单元上。
-
请参见 "Microsoft Windows和本机MPIO、并遵循适用于现代SAN的ONTAP最佳实践" 在MPIO属性中将Windows上的多路径支持应用于iSCSI设备。
-
如果您使用的是无中断故障转移集群实例、则必须将用户数据库置于在Windows服务器故障转移集群节点之间共享的存储单元上、并且物理磁盘集群资源会分配给与SQL Server实例关联的集群组。