了解 Windows Server 2012 和 SQL Server 2014 的磁盘分区对齐
-
29-09-2020 - |
题
我即将在 Windows Server 2012 上设置 SQL Server 2014。从驱动器的最佳性能开始,我使用 64k 分配单元大小格式化驱动器。现在我被困在使用 Diskpart 来设置完美的偏移量。据我了解,我有 63 个隐藏扇区,为了将其与我的格式对齐,我可以使用 1024k 的偏移量,我做对了吗?无论如何,当我之后列出我的分区时,我得到这个结果:
使用命令行 wmic partition get BlockSize, StartingOffset, Name, Index
我得到的起始偏移量为 135266304
有些网站/博客推荐 32K,另一些则推荐 2012 年 1K,我可以相信谁?目前我在正确理解它时遇到问题。愿原力(你)启发我吗?
解决方案
Windows Server 2008 及更高版本将具有开箱即用的新分区。
知识库 929491 已记录 2,048 个扇区(1 兆字节)的起始偏移量 - 其中涵盖 最多 SAN。
Kendal van Dyke 做了一些测试 这里.
结果表明,对于 RAID 10 阵列上的 OLTP 数据库,最佳配置是 64 KB RAID 条带、64 KB 分区偏移和 64 KB 分配单元大小。
只是为了未来的读者, dbatools.io 有一个功能 测试-DbaDiskAlignment.ps1
注意事项:
当使用任何内置工具进行轮询时,动态驱动器(或通过第三方软件配置的驱动器)可能会或可能不会获得准确的结果,请咨询您的供应商了解详细信息。Windows 没有可靠的方法来确定条带单元大小。这些值是从供应商磁盘管理软件或 SAN 管理员处获取的。Windows Server 2008之前版本的系统驱动器无法对齐,但一般不建议将SQL Server数据库放置在系统驱动器上。
其他提示
出于价值考虑,我仅在生产或 UAT 环境中使用 64K 分配单元大小,并且如果我有一个带有 SAN 的集群,其中有一个用于数据文件的 LUN、另一个用于日志文件的 LUN 以及另一个用于日志文件的 LUN。至少是 TEMPDB 文件。
其他考虑因素是,如果您的环境只有一个磁盘并且这是操作系统磁盘,请保持分配单元大小不变。如果您尝试在操作系统磁盘之外的不同磁盘上安装 SQL Server 2014,也许在该磁盘中,64K 分配单元大小会获得更好的性能,但请考虑性能和维护方面的最佳实践:您最多可以将数据文件、日志文件和 TEMPDB 文件分离在不同的磁盘上。这是来自 SQL Server 产品组这篇博客文章中的建议: http://blogs.technet.com/b/dataplatforminsider/archive/2012/12/19/disk-and-file-layout-for-sql-server.aspx