我的一位客户计划建立一个新的文档存储,其容量每年可能会增长 1-2TB。我的一位同事说,如果 Windows 有一个大于 5 或 6 TB 的 NTFS 卷,其性能将非常糟糕。他认为我们需要在他们的系统中设置多个卷,这样就不会有单个卷超过该限制。
这真的是一个问题吗?当卷大小达到几 TB 时,Windows 或 NTFS 是否会变慢?或者是否可以创建 10 TB 或更多 TB 的单个卷?
答案1
我之前创建过 30TB 的卷。它们保存着大文件,因此这极大地有助于避免性能下降。与较小的卷相比,这没有问题。
问题出在哪里可能开始发生这种情况的原因是,如果大型文件系统建立了足够多的文件和目录,以达到非常大的范围。我说的是 2000 万个文件和目录或更多级别。此时 MFT 可能会非常分散,并且RAM 受限的服务器那可能开始引入一些目录显示性能问题。实际的文件访问不会受到影响,只会影响 fileOpen() 和目录扫描操作。
这真的有可能吗?是的,但出于同样的原因,这种影响也适用于其他平台上的类似大型文件系统。此外,受性能下降影响最大的操作甚至可能不是您担心的操作。由于这听起来像是一种新设置,因此听起来您不会在只有 1GB RAM 的服务器上使用这 10TB,因此您不必担心。
对大小的担忧可能源自 WinNT 和 Win2K 时代,当时 MBR 的限制使得创建大卷变得很棘手。这需要一些技巧来解决所有这些问题,而在那个时代,这些技巧是有代价的。这放大了很多小文件性能损失。GPT 没有这个问题。GPT 卷最早出现在 Windows 2003 中,但由于它们很新,保守的系统管理员最初并不怎么使用它们。
旧观念有时很难根除。尤其是当创伤强化了旧观念时。
答案2
我们有一些比这更大的系统(使用 W2K8),我们没有看到任何明显的性能下降。
答案3
在遇到软件相关问题之前,您更有可能遇到硬件性能问题。
考虑一下,
- 磁盘:10 个 1TB SATA 绿盘可能比 5 个 2TB 磁盘性能更好。原因之一是,对于较小的磁盘,您将拥有更多磁盘队列 (DiskQueueLength)。但是,请将您的操作系统放在单独的更快卷上。RAID 卡及其缓存也需要考虑一些严重的性能问题。
- RAM:还会影响可打开的文件数量和大小(PagedPoolSize)。
- NIC:将影响可写入/来自服务器的数据量。考虑让备份在单独的 NIC 上运行。并使用适配器组合将两个主 NIC 合并为一个。
目前我有两台服务器。容量分别为 16TB 和 6TB,数据量为 500 万个文件/目录。一天下来,更改或添加了 200GB 的数据。有 100 个用户连接到服务器。当然,这些服务器使用 DoubleTake 实时复制数据。没有人抱怨服务器性能。
也就是说,这也取决于您想要实现什么。例如,Win2008R2 上的 MS DFS-R 确实有限制,例如官方答案是每台服务器/卷 800 万个文件和 10 TB。但我见过 20+TB 的报告。
如果您愿意,您也可以阅读一下此内容... http://www.microsoft.com/whdc/system/sysperf/perf_tun_srv.mspx