了解 Exchange Server 2003 群集

 

上一次修改主题: 2007-06-28

Windows 群集技术有助于 Exchange 2003 组织获得可伸缩性、可用性、可靠性和容错能力。群集由单独计算机(也称为节点)组成,这些计算机在群集服务中作为一个整体发挥作用。这些计算机充当了网络服务提供者,或者充当承担故障节点职责的保留计算机。根据您如何配置群集,群集可简化单个服务器的灾难恢复过程。

note注意:
前端服务器上不支持本主题(Windows 群集)中描述的群集解决方案。前端服务器应该为独立服务器,或者应该使用 Windows Server 2003 网络负载平衡 (NLB) 进行负载平衡。有关 NLB 以及前端和后端服务器配置的信息,请参阅系统级别的容错措施中的“确保对 Exchange 前端服务器的可靠访问”。

在群集环境中,Exchange 作为虚拟服务器运行(而不是独立服务器),因为群集中的任何节点都可以取得对虚拟服务器的控制。如果运行 EVS 的节点遇到问题,则在另一个节点控制 EVS 之前,EVS 会在短时间内处于脱机状态。关于 Exchange 群集的所有建议都适用于主动/被动配置。有关主动/被动和主动/主动群集配置的信息,请参阅本主题后面的“群集配置”。

Exchange 2003 群集的推荐配置是由三个主动节点和一个被动节点组成的四节点群集。每个主动节点都包含一个 EVS。此配置可高效利用成本,因为通过它可运行三个主动 Exchange 服务器,同时保持由一台被动服务器提供的故障转移安全功能。

dffb0365-e309-4ecf-aebd-18180cd7410f

note注意:
此群集的全部四个节点上运行的都是 Windows Server 2003 企业版和 Exchange 2003 企业版。有关本示例的硬件、网络和存储配置的信息,请参阅 Exchange Server 2003 部署指南中的“四节点群集方案”。

此部分将讨论 Exchange 2003 群集的以下方面:

  • Windows 群集
  • Exchange 虚拟服务器
  • 仲裁磁盘资源
  • 群集配置
  • Windows 和 Exchange 版本要求
  • 两个节点的群集拓扑的示例
  • 理解故障转移
  • IP 地址和网络名

Windows 群集

若要创建 Exchange 2003 群集,必须使用 Windows 群集。Windows 群集是 Windows Server 2003 企业版和 Windows Server 2003 Datacenter 版的一项功能。Windows 群集服务控制了 Windows 群集的所有方面。在 Windows Server 2003 群集节点上运行 Exchange 2003 安装程序时,将自动安装 Exchange 的可识别群集的版本。Exchange 2003 使用下列 Windows 群集功能:

  • 无共享的体系结构 Exchange 2003 后端群集要求使用无共享的体系结构。在无共享的体系结构中,尽管群集中的所有节点都可以访问共享存储,但它们无法同时访问该共享存储的同一磁盘资源。例如,图 5.3 中,如果节点 1 具有某个磁盘资源的所有权,则群集中的其他节点在接管该磁盘资源的所有权之前,将无法访问该磁盘资源。
  • 资源 DLL Windows 通过使用资源 DLL 与群集中的资源通信。为了与群集服务通信,Exchange 2003 提供了自己的自定义资源 DLL (Exres.dll)。群集服务和 Exchange 2003 之间的通信被自定义为提供所有 Windows 群集功能。有关 Exres.dll 的信息,请参阅 Microsoft 知识库文章 810860,“XGEN:Architecture of the Exchange Resource Dynamic Link Library (Exres.dll)”(英文)。
  • 为了在群集中包含 EVS,Exchange 2003 使用了 Windows 群集组。群集中的 EVS 是包含诸如 IP 地址和 Exchange 2003 系统助理等群集资源的 Windows 群集组。
  • 资源 EVS 包括群集服务资源,例如 IP 地址资源、网络名资源和物理磁盘资源。EVS 还包括自己的、与 Exchange 具体相关的资源。将 Exchange 系统助理实例资源(与 Exchange 具体相关的资源)添加到 Windows 群集组后,Exchange 会自动创建其他与 Exchange 相关的基本资源,例如 Exchange HTTP 虚拟服务器实例、Exchange 信息存储实例和 Exchange MS 搜索实例。

Exchange 虚拟服务器

若要创建 Exchange 2003 群集,首先要创建一个 Windows Server 2003 群集组,然后再向该组中添加特定资源。Exchange 2003 群集将创建被称为 Exchange 虚拟服务器 (EVS) 的逻辑服务器。与独立的(非群集的)Exchange 2003 服务器不同,EVS 是一个群集组,当运行 EVS 的主服务器发生故障时,可以对该群集组进行故障转移。如果某个群集节点发生故障,则剩余节点中的一个将承担出现故障的 EVS 的职责。若要访问此新服务器,客户端可以使用同一服务器名。

EVS 是一个群集组,它至少需要下列资源:

  • 静态 IP 地址。
  • 网络名。
  • 供共享存储使用的一个或多个物理磁盘。
  • Exchange 2003 系统助理资源。(系统助理资源可安装其他必需的 Exchange 资源。)

下图说明了 Exchange 2003 群集资源以及资源相关性。

8f6aceaa-2b4e-4bfe-b911-376ebf8e56e2

note注意:
在 Exchange 2003 中,创建新 EVS 时不会自动创建 IMAP4 和 POP3 资源。有关 IMAP4 和 POP3 资源的详细信息,请参阅 Exchange Server 2003 管理指南中的“管理 Exchange 集群”。

客户端计算机到 EVS 的连接方式与它们到独立的 Exchange 2003 服务器的连接方式相同。Windows Server 2003 提供 IP 地址资源、网络名资源以及与 EVS 相关联的磁盘资源。Exchange 2003 提供系统助理资源以及其他必需的资源。创建系统助理资源时,将创建其他所有必需的和相关的资源。

下表列出了 Exchange 2003 群集资源及其相关性。

Exchange 2003 群集资源和相关性

资源 描述 相关性

系统助理

系统助理是控制 EVS 中所有资源创建和删除的基本资源。

网络名资源和共享磁盘资源

Exchange 存储

为 Exchange 提供邮箱和公用文件夹存储。

系统助理

SMTP

处理电子邮件的中继和传递。

系统助理

IMAP4

帮助 IMAP4 客户端访问电子邮件的可选资源。

系统助理

POP3

帮助 POP3 客户端访问电子邮件的可选资源。

系统助理

HTTP

允许通过 HTTP 客户端(如 Microsoft Office Outlook® Web Access 2003)访问 Exchange 邮箱和公用文件夹。

系统助理

Exchange MS 搜索实例

为 EVS 提供内容索引。

系统助理

邮件传输代理 (MTA)

每个群集只能有一个 MTA。MTA 是在第一个 EVS 上创建的。所有其他的 EVS 都依赖此 MTA。MTA 负责与 X.400 系统的通信以及与 Exchange 5.5 的互操作。

系统助理

路由服务

构建链路状态表。

系统助理

Exchange 2003 群集不支持下列 Windows 和 Exchange 2003 组件:

  • Active Directory 连接器 (ADC)
  • Exchange 2003 日历连接器
  • Exchange - Lotus Notes 连接器
  • Exchange - Novell GroupWise 连接器
  • Microsoft Exchange Event 服务
  • 站点复制服务 (SRS)
  • 网络新闻传输协议 (NNTP)
    note注意:
    NNTP 服务(Windows Server 2003 Internet 信息服务 (IIS) 组件的子组件)仍然是在群集中安装 Exchange 2003 的必需先决条件。在群集中安装 Exchange 2003 后,NNTP 服务不工作。

群集组

配置 Exchange 群集时,必须创建群集组来管理群集以及群集中的 EVS。此外,可以单独配置每个 EVS。创建群集组时,请考虑下列建议:

  • Microsoft 分布式事务协调器 (MSDTC) 资源对于 Exchange Server 安装和 Service Pack 安装是必需的。在 Exchange 专用的群集上,建议将 MSDTC 资源添加到默认的“群集组”。建议进一步取消选中 MSDTC 资源的“影响组”选项。这样可防止 MSDTC 资源的故障影响到默认的群集组。
  • 有关在 Windows Server 2003 中添加 MSDTC 资源的信息,请参阅 Microsoft 知识库文章 301600“如何在 Windows Server 2003 群集上配置 Microsoft 分布式事务处理协调器”。Microsoft 知识库文章 301600 中引用了文章 817064“如何在 Windows Server 2003 中启用网络 DTC 访问”。Exchange Server 安全性的最佳实践是不要对 Exchange 群集启用网络 DTC 访问。如果要为 Exchange 群集配置分布式事务协调器,请不要启用网络 DTC 访问。
  • 若要为群集提供容错能力,请不要向默认群集组添加除 MSDTC 资源之外的其他任何应用程序或群集资源,也不要将仲裁卷用于除群集仲裁和 MSDTC 资源之外的任何资源。
  • 为每组分配各自的物理磁盘资源集。通过此操作,事务日志文件和数据库文件可以同时故障转移到另一个节点。
  • 请使用单独的物理磁盘存储事务日志文件和数据库文件。单独的硬盘可以避免单个磁盘心轴的故障影响到多个组。此建议也适用于 Exchange 独立服务器。

有关服务器群集的存储注意事项的详细信息,请参阅规划群集时的考虑因素中的“群集存储解决方案”。

仲裁磁盘资源

仲裁磁盘资源是群集中最重要的资源。仲裁磁盘资源维护群集的配置数据,其中包括仲裁日志、群集数据库检查点和资源检查点。仲裁资源还提供了跨系统故障的永久性物理存储。如果运行的是 Windows Server 2003,可以选择下列仲裁类型:

note注意:
如果运行的是 Windows 2000,则必须使用标准仲裁。
  • 标准仲裁(也称为单一仲裁) 通过标准仲裁,仲裁磁盘资源数据将存放在所有群集节点都可以访问的共享物理磁盘资源上。使用标准仲裁时,由于群集配置数据保存在仲裁磁盘资源上,因此所有群集节点都必须能够与当前拥有该群集配置数据的节点通信。
  • 多数节点集仲裁 通过多数节点集仲裁,仲裁数据将存储在各群集节点的本地系统磁盘上。多数节点集资源确保了存储在多数节点集仲裁上的群集配置数据在各磁盘间保持一致。

下图说明了一个四节点群集的标准仲裁磁盘和多数节点集仲裁。

0882b5a2-660a-4e9f-a5fc-2216085ef55c

创建群集时,或者群集中的节点之间的网络通信失败时,仲裁磁盘资源可防止节点形成多个群集。若要形成群集,节点必须发起仲裁并获得仲裁磁盘资源的所有权。例如,如果一个节点在探查过程中无法检测到群集,则该节点就会尝试通过控制仲裁磁盘资源来形成其自己的群集。但是,如果该节点未能成功获得仲裁磁盘资源的控制权,就不能形成群集。

仲裁磁盘资源以恢复日志和注册表检查点文件的形式存储群集配置数据库的最新版本。这些文件包含群集配置和每个节点的状态数据。当节点加入群集或形成群集时,群集服务就会更新该节点的各个配置数据库副本。当节点加入现有的群集时,群集服务将从其他活动节点检索配置数据。

群集服务使用仲裁磁盘资源恢复日志来完成下列目标:

  • 确保只有一组活动的通信节点可以作为群集工作。
  • 使节点只有在获得对仲裁磁盘资源的控制权时才能形成群集。
  • 只有节点可与控制仲裁磁盘资源的节点通信时,才允许该节点加入现有群集或留在现有群集中。
note注意:
应该为 EVS 创建新的群集组,不要在拥有仲裁磁盘资源的群集组中创建任何 EVS。

选择 Exchange 群集的仲裁类型时,请考虑每个仲裁类型的优点和缺点。例如,若要保持标准仲裁运行,则必须保护位于共享磁盘上的仲裁磁盘资源。为此,建议对仲裁磁盘资源使用 RAID 解决方案。此外,若要保持多数节点集群集运行,则多数节点必须处于联机状态。具体地说,必须使用以下公式:

<群集中已配置的节点数>/2 + 1。

有关选择群集的仲裁类型的详细信息,请参阅 Windows Server 2003 Deployment Guide 中的“Choosing a Cluster Model”部分(英文)。

群集配置

利用群集过程,一组独立的节点可作为单个系统协同工作。每个群集节点都有各自的内存、处理器、网络适配器以及用于操作系统和应用程序文件的本地硬盘,但它们共享公用的存储介质。这些服务器由一个单独的专用网络连接起来,该网络只用于节点之间的群集通信。

一般情况下,对于每个群集节点,建议使用相同的硬件(例如,相同的处理器、相同的网络接口卡和相同容量的 RAM)。这种做法有助于确保用户在访问后端服务器上的邮箱时,体验到一致的性能级别,而无论提供该访问的 EVS 是运行在主节点上,还是运行在备用节点上。有关在服务器上使用标准化硬件的优点的详细信息,请参阅组件级别的容错措施中的“标准化硬件”。

note注意:
根据每个群集节点的角色,对于群集的被动节点,可以考虑使用不同类型的硬件(例如,处理器、RAM 和硬盘)。举个例子,如果您的高级部署解决方案使用被动群集节点来执行备份操作。有关如何在群集节点上配置不同类型硬件的信息,请参阅 Messaging Backup and Restore at Microsoft(英文)。

下列各节讨论了 Exchange 2003 群集配置 — 具体来说,主动/被动和主动/主动配置。主动/被动群集是 Exchange 的推荐群集配置。在主动/被动配置中,群集节点一次最多只能运行一个 EVS。此外,主动/被动群集提供的群集节点多于已有的 EVS 数量。

note注意:
在配置 Exchange 2003 群集之前,必须首先确定用户期望的可用性级别。确定可用性级别后,请根据能最好地满足要求的 Exchange 2003 群集来配置硬件。

主动/被动群集

主动/被动群集是 Exchange 的最佳推荐群集配置。在主动/被动群集中,Exchange 群集最多包含八个节点,且可管理最多七个 EVS。(每个主动节点运行一个 EVS。)所有主动/被动群集都必须有一个或多个被动节点。被动节点是一个服务器,该服务器已安装了 Exchange,并且为运行 EVS 进行了配置,但在发生故障之前,它一直保持备用状态。

在主动/被动群集中,如果其中一个 EVS 遇到故障(或者被脱机),则群集中的被动节点将取得在该故障节点上运行的 EVS 的所有权。根据故障节点的当前负载,EVS 通常会在几分钟之后故障转移到另一个节点。因此,用户只在很短的时间内无法使用群集上的 Exchange 资源。

在主动/被动群集中(例如下图所示的 3 主动/1 被动群集),有三个 EVS:EVS1、EVS2 和 EVS3。这种配置可以处理单一节点故障。例如,如果节点 3 出现故障,节点 1 仍然拥有 EVS1,节点 2 仍然拥有 EVS2,节点 4 在出现故障之后取得 EVS3 的所有权并装入所有存储组。但是,如果在节点 3 仍然不可用的同时第二个节点出现故障,则与第二个故障节点关联的 EVS 仍然处于故障状态,因为没有备用节点可用于故障转移。

2db1742e-821c-4815-81d9-9155ac632f76

主动/主动群集

强烈建议不要使用主动/主动作为 Exchange 的群集配置。如果对 Exchange 群集使用主动/主动配置,则最多只能有两个节点。如果需要两个以上的节点,则一个节点必须是被动节点。例如,如果向两个节点的主动/主动群集中添加一个节点,则 Exchange 不允许创建第三个 EVS。此外,安装第三个节点后,群集节点一次最多只能运行一个 EVS。

important重要提示:
无论运行的是哪种版本的 Windows,Exchange 2003 和 Exchange 2000 都不支持包含两个以上节点的主动/主动群集。有关详细信息,请参阅 Microsoft 知识库文章 329208“Exchange virtual server limitations on Exchange 2000 clusters and Exchange 2003 clusters that have more than two nodes”。

在主动/主动群集中,仅有两个 EVS:EVS1 和 EVS2。此配置可以处理单一节点故障,并且在出现故障之后仍然可以保持 100% 的可用性。例如,如果节点 2 发生故障,则目前拥有 EVS1 的节点 1 还将取得 EVS2 的所有权,并且装入所有存储组。但是,如果在节点 2 仍然不可用的同时节点 1 也出现故障,则整个群集将处于故障状态,因为没有节点可用于故障转移。

9480ff6e-58af-487e-a55a-b6703ed418f9

如果决定实现主动/主动群集,则必须遵守下列要求:

  • 可伸缩性要求 为了确保故障转移后保持高效的性能,并且帮助确保主动/主动群集的单个节点可以使第二个 EVS 联机,应该确保每个主动节点上的并发 MAPI 用户连接的数量不超过 1,900。此外,还应该确保每个节点上 Microsoft Exchange 信息存储 (store.exe) 的平均 CPU 使用率不超过 40%。
    有关如何调整主动/主动群集中运行的 EVS 大小,以及如何监视主动/主动配置的详细信息,请参阅规划群集时的考虑因素中的“性能和可伸缩性的注意事项”。
  • 存储组要求 与独立的 Exchange 服务器一样,每个 Exchange 群集节点最多包含四个存储组。如果发生故障转移,那么,为了主动/主动群集的单个节点将所有存储组装入群集,整个群集中最多只能包含共四个存储组。
    有关此限制的详细信息,请参阅规划群集时的考虑因素中的“存储组限制”。

由于主动/主动 Exchange 群集的可伸缩性限制,因此建议部署主动/被动 Exchange 群集。建议任何情况下都不要使用主动/主动群集。

两个节点的群集拓扑的示例

虽然常见的群集拓扑包含两个以上的节点,但为了便于解释主动/被动和主动/主动群集之间区别,最好用简单的两个节点的群集拓扑进行说明。

在本示例中,两个群集节点都是同一个域的成员,并且两个节点都与公用网络以及一个专用群集网络相连接。物理磁盘资源是群集中的共享磁盘。如果仅有一个群集节点拥有一个 EVS,则该群集为主动/被动群集。如果两个节点都拥有一个或多个 EVS,或任一节点拥有两个 EVS,则此群集为主动/主动群集。

b6efd180-e762-4980-a447-b97f2cf71ab2

Windows 和 Exchange 版本要求

若要创建 Exchange 群集,则必须使用特定版本的 Windows 和 Exchange。下表列出了这些要求。

Windows 和 Exchange 版本要求

Windows 版本 Exchange 版本 可用的群集节点

Windows Server 2003 企业版

Exchange Server 2003 企业版

最多八个

Windows Server 2003 Datacenter 版

Exchange Server 2003 企业版

最多八个

Windows Server 2003 或 Windows Server 2000

Exchange Server 2003 标准版

Windows Server 2003 标准版或 Windows 2000 Server

Exchange Server 2003 标准版或 Exchange Server 2003 企业版

Windows 2000 Advanced Server

Exchange Server 2003 企业版

最多两个

Windows 2000 Datacenter Server

Exchange Server 2003 企业版

最多四个

note注意:
在主动/被动群集中,一个群集最多可以有八个节点,并且要求每个群集都有一个或多个被动节点。在主动/主动群集中,一个群集最多可有两个节点。有关主动/主动群集和主动/被动群集之间的区别的详细信息,请参阅本主题前面的“群集配置”。

理解故障转移

作为群集部署规划过程的一部分,应该理解故障转移过程如何工作。故障转移有两种情况:计划的故障转移和非计划的故障转移。

在计划的故障转移中:

  1. Exchange 管理员使用群集服务将 EVS 转移到另一个节点上。
  2. 所有 EVS 资源将脱机。
  3. 资源移到 Exchange 管理员指定的节点。
  4. 所有 EVS 资源将联机。

在非计划的故障转移中:

  1. 一个或多个 EVS 资源发生故障。
  2. 在下一次 IsAlive 检查过程中,资源监视器会探查资源故障。
  3. 群集服务自动使所有相关的资源脱机。
  4. 如果发生故障的资源被配置为重新启动(默认设置),则群集服务将尝试重新启动发生故障的资源及其所有相关资源。
  5. 如果该资源再次发生故障:
    • 群集服务将再次尝试重新启动该资源。
      - 或者 -
    • 如果该资源被配置为影响群集组(默认),并且该资源在设置的时间段内(默认值为 900 秒)发生故障的次数已经达到某个数值(默认值为 3),则群集服务将使 EVS 中的所有资源脱机。
  6. 所有资源都故障转移(移动)到另一个节点。如果进行了指定,则该节点就是“首选所有者”列表中的下一个节点。有关配置资源的首选所有者的详细信息,请参阅 Administration Guide for Exchange Server 2003 中的“Specifying Preferred Owners”(英文)。
  7. 群集服务尝试使 EVS 的所有资源在新节点上联机。
  8. 如果新节点上的同一个资源或另一个资源再次发生故障,则群集服务将重复前面的步骤,并且可能需要故障转移到另一个节点(或者回到原来的节点)。
  9. 如果 EVS 不停地进行故障转移,则群集服务将在指定的时间段内(默认值为 6 小时)允许 EVS 故障转移的次数达到最大值(默认值为 10)。此后,EVS 将停留于故障状态。
  10. 如果配置了故障返回(默认情况下为关闭),则群集服务将在原来的节点变为可用时立即使 EVS 移回到原来的节点,或者,如果原来的节点再次可用,则会在一天中指定的某个时间使 EVS 移回到原来的节点,这取决于组配置。

IP 地址和网络名

典型的群集安装包括一个供客户端计算机连接到 EVS 的公用网络和一个提供群集节点通信的专用网络。为了确保有足够的静态 IP 地址可供使用,请考虑下列要求:

  • 每个群集节点都有两个静态 IP 地址(即每个节点的公用网络连接 IP 地址和专用网络连接 IP 地址)和一个 NetBIOS 名。
  • 群集本身有一个静态 IP 地址和一个 NetBIOS 名。
  • 每个 EVS 都有一个静态 IP 地址和一个 NetBIOS 名。

建议一个拥有 <e> 个 EVS 的 <n> 节点群集使用 2×n + e + 1 个 IP 地址。此公式中的 +1 假定仲裁磁盘资源和 MSDTC 资源都位于默认的群集组中。有关这些建议的详细信息,请参阅本主题前面的“群集组”。

对于两个节点的群集,建议的静态 IP 地址数量为 5 加上 EVS 的数量。对于四节点群集,建议的地址数量为 9 加上 EVS 的数量。

important重要提示:
建议在任何群集部署中都使用静态 IP 地址。使用动态主机配置协议 (DHCP) 会阻止客户端计算机连接到群集。如果 DHCP 服务器更新 IP 租约失败,则整个群集可能发生故障。此外还建议使用专用网络进行群集通信。某个节点上的公用网络连接故障可阻止群集节点之间的相互通信。因此,该故障会阻止受影响的资源进行故障转移,甚至可能导致整个群集发生故障。

下图提供了四个节点的 Exchange 群集配置中所必需的 IP 地址和其他组件的示例。

d8bdeb51-6fde-4301-8b96-d61e139aafac