支持从存储区域网络 (SAN) 启动

本文介绍从存储区域网络启动 Windows 服务器 (SAN) 的可支持性。

适用于:Windows Server 2012 R2、Windows Server 2008 R2 Service Pack 1、Windows 10 - 所有版本
原始 KB 编号: 305547

更多信息

如果 SAN 供应商支持其特定的硬件平台启动 Windows 服务器,Microsoft 支持从存储区域网络 (SAN) 启动。 必须根据 SAN 供应商的准则配置 SAN 和主机总线适配器 (HBA) ,并且 SAN 供应商必须充当启动相关问题main联系点。 存在此要求是因为从 SAN 启动很复杂,并且供应商需要支持特定配置,因为 SAN 供应商提供了 SAN 启动可支持性声明。 请务必注意,本文中包含的信息并非旨在成为从 SAN 启动所需的项的一个全部列表。 SAN 供应商必须提供有关如何使其硬件 (存储系统、交换机、主机总线适配器等的具体步骤、驱动程序、固件修订和资源,) 协同工作。

配置

必须解决以下问题,才能从 SAN 成功启动多台计算机:

  • 若要从 SAN 启动多台计算机,必须在交换环境中配置 SAN,或者必须从每个主机直接连接到存储子系统的光纤通道端口之一。 从 SAN 启动多个服务器时,不支持使用光纤通道 - 仲裁循环 (FC-AL) ,因为它不允许连接到 SAN 的主机彼此正确隔离。 交换环境允许主机彼此独立。 仅当从 SAN 启动单个服务器时,才支持使用光纤 Channel-Arbitrated 循环拓扑启动到 SAN。

  • 主机必须对从中启动的磁盘具有独占访问权限。 SAN 上的任何其他主机都不应能够检测或有权访问同一逻辑磁盘。 这可以通过使用逻辑单元号 (LUN) 管理(例如 LUN 掩码、分区或这些方法的某种组合)来实现。 LUN 管理通常在交换机、存储子系统和/或主机总线适配器 (HBA) 级别配置,而不是在 Windows 中配置。 Windows 不提供映射 LUN 的功能。

  • 多路径软件和多个 HBA 可提高从路径故障中恢复的机会。 在单个主机中拥有多个 HBA 的目的是具有冗余, (可能会) 增加吞吐量。 但是,如果发生故障并且 SAN 的路径丢失,则可能在一段时间内无法访问 SAN 上的驱动器。 此路径失败可能会导致 Windows 服务器出现问题。 供应商之间多路径软件的行为差异很大。 检查 Windows 目录 (以前为存储/RAID 系统的硬件兼容性列表或 HCL) ,以确保多路径驱动程序位于包含存储系统的 Windows 目录中。 如果找不到多路径软件,请联系 SAN 供应商。

  • 如果附加的主机是 Windows 2000 群集解决方案的一部分,则必须将一个 HBA 用于启动过程,并使用单独的 HBA 用于共享存储。

  • 如果附加的主机是 Windows 2000 群集解决方案的一部分,并且使用的是 Microsoft 多路径 I/O (MPIO) 功能,则需要四个 HBA。

疑难解答

本部分介绍可能阻止 Windows 服务器从 SAN 成功启动的几个问题:

  • 配置 SAN 时的一个常见问题是,多个主机可能有权访问同一逻辑磁盘。 这通常是因为未采用适当的 LUN 管理。 Windows 的默认行为是附加和装载它在 HBA 驱动程序加载时检测到的每个逻辑单元。 如果多个主机装载同一磁盘,则可能发生文件系统损坏。 需要由 SAN 的配置来确保一次只能有一台主机访问特定的逻辑磁盘。 多个主机访问同一逻辑磁盘的症状包括:
    磁盘管理在多个主机上显示相同的逻辑磁盘。 即插即用添加或配置新逻辑磁盘时,多个主机上可能会出现发现新硬件的通知。 尝试使用“我的计算机”或 Windows 资源管理器访问逻辑磁盘时,可能会收到“访问被拒绝”、“设备未就绪”或类似的错误消息,这些错误消息可能指示其他主机有权访问同一逻辑磁盘。

  • 计算机停止响应 (挂起) 或响应时间较慢。 这可能指示页面文件存在较高的延迟,并且系统日志中可能附带事件,例如:

    事件 ID:51
    事件类型:警告
    事件源:磁盘
    说明:在分页操作期间,在设备 \Device\Harddisk0\DR0 上检测到错误。

    事件 ID:11
    源:%HBA_DRIVER_NAME%
    说明:驱动程序在 Device\ScsiPort0 上检测到控制器错误。

    事件 ID:9
    源:%HBA_DRIVER_NAME%
    说明:设备 \Device\ScsiPort0 在超时期限内未响应。

    如果上述错误消息位于系统日志中,则表明 Windows 正在尝试访问磁盘,但存在问题。 如果引用的磁盘位于 SAN 上,则可能表示存在延迟问题。 如果显示事件 ID 51,则表示内存管理器正在尝试将数据复制到内存或从内存复制数据,但有问题。 页面文件延迟问题的另一个指标是,如果 Windows 服务器出现系统故障,并且蓝屏上显示以下任一错误消息:

    0x00000050 PAGE_FAULT_IN_NONPAGED_AREA

    0x0000000A IRQL_NOT_LESS_OR_EQUAL

    一种可能的解决方法是将页面文件放在主机的本地硬盘上。 Windows 需要对页面文件的可靠访问,因为数据被分页或分页出内存。 将页面文件设置为主机本地可确保访问不受 SAN 上其他设备和主机的影响。

    注意

    如果页面文件与启动分区 (通常为 c:\Windows 或 c:\WINNT) 位于同一分区上,则不会创建Memory.dmp文件。 Memory.dmp文件用于对出现 STOP 错误的 Windows 计算机进行故障排除。 有关如何为故障转储配置计算机的信息,请参阅 Windows 帮助。

有几种方法可以解决上述问题。 第一种方法是尝试将时间与 SAN 上发生的任何事件相关联。 例如,HostA 正在执行大型复制操作,而 HostB 报告错误 9,这可能意味着没有进行适当的 LUN 管理。 另一个示例是,每次重新启动 HostA 时,HostB 都会生成错误。 这可能表示正在使用 FC-AL,并且 HostB 正受到来自 HostA 的循环初始化基元 (LIP) 序列的影响。 通常可以通过重新配置 SAN 来更正这些问题,这需要硬件供应商的帮助。 通过在 Windows 服务器的本地硬盘上放置页面文件,可以解决任何类型的延迟问题,但同样,这会禁止创建内存转储。 需要了解的一个关键点是,SAN 的硬件供应商将拥有有关正确配置的最多信息,并且必须是所有配置问题和疑虑的第一个联系点。