我们即将对现有的 Sql 2008 Server 进行硬件升级。因此,我正在检查一些与硬件相关的最佳实践,例如 HD 的 RAID 级别以及确保 TempDB 与 DB 位于不同的磁盘上等。
然后我偶然发现了这两个帖子这里和这里。他们讨论如何确保我们的 Windows 2008 服务器具有正确的分区偏移量 尺寸。
读完这些帖子后我有点困惑。他们在很多地方提到……
Windows Server 2008 默认对齐分区。
那么,如果我希望分区大小为 64K,我需要担心这个吗?请记住,我将全新安装 Windows Server 2008... 并且我不记得在安装过程中看到任何选项,当我们对磁盘进行分区时,分区对齐/大小。
有人可以用外行人能理解的语言解释一下吗?
**注意:我不是在谈论 C:\ == 50Gig 大小、D:\ == xxxGig 等等。不是那种类型的分区。
答案1
好的-为了说清楚...
如果你是创造在 Windows Server 2008 上,您无需担心卷的分区偏移量,因为 Windows Server 2008 会自动将其设置为 1MB,这是常见 RAID 条带大小和 NTFS 分配单元大小的倍数(您通常应将这两者设置为 64K,除非您的 I/O 子系统不允许您将 RAID 条带大小设置为低于 128K - 这没问题)。在您的问题中,您提到了分区大小,而您实际上谈论的是 NTFS 分配单元大小(默认为 4K)。
如果您正在安装新的 Windows 2008 Server,然后将使用 Windows Server 2003 或更早版本实际创建的卷附加到它,那么除非您之前使用 diskpart 将分区偏移量从默认值 32.5K(63 x 512 字节磁盘块)更改,否则您必须使用 diskpart 手动更改它,或重新创建该卷。
我的建议是备份您的数据库,然后在新创建的卷上恢复它们。
希望这可以帮助!
PS:你引用的我的博客文章谈到了如何正确分区抵消,不是分区尺寸。第一个答案中的白皮书链接与我在您已经阅读的博客文章中引用的链接相同。
答案2
这是分区在物理磁盘(或 RAID LUN)上的对齐方式。这很重要,因为我们希望这种对齐方式不会在中间分裂 RAID 条带。2008 年之前的 Windows Server 在 32K 边界处对齐,这在单个磁盘或镜像对上运行良好,但经常在中间分裂条带。要手动设置分区对齐,您必须使用 diskpart 命令行工具创建分区。
以下是一些具体信息:
答案3
你的意思是堵塞大小,而不是分区大小。
对齐的唯一相关性在于您可以创建不从驱动器/raid/ssd 的本机块/条带大小的精确倍数开始的分区,这会导致速度大幅下降。