试验:查看大规模的磁盘 I/O 操作
可使用 TechNet Sysinternals Process Monitor之类的文件系统监视工具来
查看 Windows Server 2008 系统上的大规模文件 I/O 操作。
有多种方法均可产生大规模 I/O 操作。如果有另一个运行 Windows Vista Service Pack 1 或 Windows Server 2008 的系统,可在头一个服务器上运行 Process Monitor 并监控到第二个系统的文件复制。还可以通过运行非常耗费内存的程序使得内存管理器将页面写出到分页文件中,从而产生大规模的分页文件 I/O 操作。
图 A 显示了在 Windows XP 系统中运行非常耗费内存的程序后 Process Monitor 的输出,此时在 Pro自从文件服务功能被引入到 Windows 中以来,服务器消息块 (SMB) 远程文件系统协议(也称为通用 Internet 文件系统
(CIFS))就已成为 Windows 文件服务的基础。在过去的几年中,SMB 的设计限制制约了 Windows 文件服务的性能和利用新的本地文件系统功能的能力。例如,单个消息能传输的最大缓冲区大小为约 60KB,并且 SMB 1.0 无法识别 Windows Vista 和 Windows Server 2008 中新增的 NTFS 客户端符号链接。
Windows Vista 和 Windows Server 2008 引入了 SMB 2.0,它是客户端和服务器都支持时 Windows 所使用的一种新型远程文件服务协议。除能正确处理客户端符号链接和其他 NTFS 增强功能外,SMB 2.0 还使用批处理来最小化客户端和服务器之间的信息交换数量。批处理可提高广域网 (WAN) 之类高延迟网络的吞吐量,因为它允许同时传输更多数据。
SMB 1.0 针对单个文件按顺序执行 I/O,而 SMB 2.0 则实现了 I/O 管道,从而可针对同一文件执行多个并发 I/O。它通过衡量客户端用于未完成 I/O 的服务器内存数量来决定管道的深度。
由于 Windows I/O 内存管理器和 I/O 系统以及 TCP/IP 接收窗口自动调节方面的变化和文件复制引擎的改进,SMB 2.0 显著提高了吞吐量并减少了大型传输的文件复制时间。由于两种操作系统都实现了 SMB 2.0,所以部署 Windows Server 2008 文件服务器和 Windows Vista 客户端即可使用 SMB 2.0 并实现这些性能优点。
使用 NTFS 自修复功能提高可靠性
可靠性是一个关键服务器属性,Windows Server 2008 提供各种改进来帮助管理员顺畅运行其服务器(包括在线 NTFS 一致性修复、新的硬件错误报告体系以及对驱动程序验证程序的扩展)。
由于现在使用的存储设备一般都以 TB 为单位,因此对某个卷进行脱机一致性检查可能会使服务中断数小时。鉴于许多磁盘损坏都局限于单个文件或部分元数据,Windows Server 2008 实现了新的 NTFS 自修复功能,即可在卷保持联机的情况下修复损坏。
当 NTFS 检测到损坏时,它将阻止访问受损的文件并创建一个系统工作线程,该线程将对受损数据结构执行类似 Chkdsk 的修复,完成后再允许访问修复后的文件。在此操作期间仍然可以正常访问其他文件,因而最小化服务中断。
WHEA 基础结构
Windows Server 2008 中包含有 Windows 硬件错误报告体系 (WHEA) 基础结构,它可以简化硬件故障管理并主动响应非致命错误。服务器通常都有严格的正常工作时间保证,因此及时确定并响应此类系统中的错误至关重要。
通过对利用在线崩溃分析 (OCA) 提交到 Microsoft 的崩溃进行分析表明:约 10% 的操作系统崩溃是源于硬件故障,但确定此类崩溃的根本原因却非常困难甚至于不可能,因为崩溃时所获取的硬件错误信息非常少。此外,在 Windows Server 2008 之前,Windows 并不内置支持监控设备的运行状况,也未实现故障前的修复或通知。其原因在于硬件设备并未使用一种通用的错误格式并且不支持错误管理软件。
WHEA 为各种平台设备(包括处理器、内存、缓存和类似 PCI 和 PCI Express 之类的总线)提供了统一的错误源发现和报告机制。其原理是实现图 2 中所示的体系结构,其中核心是错误源调用来报告错误的内核 API。此 API 要求所有错误都以同一方法进行格式化,然后使用 Windows 事件跟踪 (ETW) 事件来记录错误(严重错误则在重启后再记录)。

阅读推荐
相关文章