我们即将对现有的 Sql 2008 Server 进行硬件升级。因此,我正在检查有关硬件的一些最佳实践,例如 .. HD 的 RAID 级别,并确保 TempDB 与 DB 位于不同的磁盘上,等等。
然后我偶然发现了这两个帖子here和here。他们谈论确保我们的 Windows 2008 服务器具有正确的分区偏移 大小。
看了这些帖子后,我有点困惑。他们在不同的地方提到..
Windows Server 2008 默认对齐分区。
所以,如果我希望分区大小为 64K,我需要担心这个吗?请记住,我将重新安装 Windows Server 2008 .... 我不记得在安装过程中看到任何选项,当我们对磁盘进行分区时,用于分区对齐/大小。
任何人都可以用外行的话来阐明一下吗?
**注意:我不是在谈论 C:\ == 50Gig 大小、D:\ == xxxGig 等。不是那种类型的分区。
好的 - 说清楚......
如果您在 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 512byte 磁盘块)的分区偏移量),您必须使用 diskpart 手动更改它,或重新创建卷。
我的偏好是备份您的数据库,然后在新创建的卷上恢复它们。
希望这可以帮助!
PS 你引用的我的博客文章谈到了正确的分区偏移量,而不是分区大小。第一个答案中的白皮书链接与我在您已经阅读的博客文章中引用的链接相同。
这是分区在物理磁盘(或raid lun)上的对齐方式。这很重要,因为我们希望这种对齐方式不会在中间分割 RAID 条带。2008 年之前的 Windows Server 在 32K 边界处对齐,这在单个磁盘或镜像对上运行良好,但通常在中间分割一个条带。要手动设置分区对齐,您必须使用 diskpart 命令行工具创建分区。
这里有一些具体的信息给你:
SQL Server 的磁盘分区对齐最佳实践
您的意思是块大小,而不是分区大小。
对齐只是相关的,因为您可以创建不以驱动器/raid/ssd 的本机块/条带大小的精确倍数开始的分区,这会导致严重减速。