Exchange 虚拟服务器

 

上一次修改主题: 2005-05-31

Exchange 虚拟服务器是群集化的 Exchange 安装。当 Exchange 安装在 Windows Server 2003 群集上时,它被配置为可以在群集节点之间透明地传递给 Exchange 客户端的 Exchange 虚拟服务器。

在群集节点上安装 Exchange 时,Exchange 安装程序将把程序文件复制到群集节点的本地磁盘上。在有两个节点(例如,节点 A 和节点 B)的群集中,安装程序将把 Exchange 程序文件复制到节点 A 的硬盘上。然后,再次运行安装程序,以便将 Exchange 程序文件安装在第二个节点的本地硬盘上。

在 Exchange 程序文件复制到每个节点的硬盘之后,为 Exchange 资源配置一个资源组。前面提到过,资源组被定义为容纳 Exchange 虚拟服务器实例的资源的逻辑容器。该 Exchange 虚拟服务器实例所拥有的很多资源与物理 Exchange 服务器所拥有的资源相同,例如:

  • 网络名称
  • IP 地址
  • 存储(SCSI 或光纤通道)

在创建最低程度的上述 Exchange 虚拟服务器资源之后,必须创建系统助理资源。系统助理创建用于组成 Exchange 虚拟服务器的其他资源。这些资源可以设为脱机(模仿服务停止)或设为联机(模仿服务启动)。还可以更改当前资源所有者(群集节点)。例如,可以配置由节点 B 而不是节点 A 拥有和运行该资源。

系统助理资源总是手动创建的。在创建系统助理资源之后,与 Exchange 服务相关的其他资源会被自动创建。完成后,这些更改将写入 Microsoft Active Directory® 目录服务,并在管理组的“服务器”容器中列出这个基于 Exchange 的服务器对象。

note注意:
与 Exchange 2000 Server 的安全模型相比,Exchange Server 2003 引入的几项与安全相关的更改强化了安全模型。例如,在群集环境中创建 Exchange Server 2003 虚拟服务器时,默认情况下不创建 IMAP4 和 POP3 群集资源。如果想在群集上使用这些服务,必须在群集节点上启动相应的服务,然后手动创建资源。有关详细信息,请参阅 Microsoft 知识库文章 824127“HOW TO: Create an IMAP4 or a POP3 Cluster Resource on an Exchange Server 2003 Virtual Server”(英文)。

Exchange 虚拟服务器是 Exchange 资源的集合。每个资源都有属性,例如资源依存关系、可能的所有者、重试值。Exchange 虚拟服务器中的每个资源都代表不同的 Exchange 组件。

群集中的 Exchange 组件

运行在 Windows Server 2003 群集中的组件和虚拟服务器支持主动/主动或主动/被动功能,或同时支持这两者。下表列出了对 Windows Server 2003 群集可用的、特定于 Exchange 的资源。

服务器群集中的 Exchange Server 2003 组件

组件 功能 注释

Microsoft Exchange System Attendant 服务

主动/主动

在有 2 个或更少节点的群集中,每个节点上有多个虚拟服务器。具有 2 个以上节点的群集只支持主动/被动系统助理资源。

Microsoft Exchange Information Store 服务

主动/主动

每个节点最多有四个存储组。

邮件传输代理

主动/被动

每个群集有一个实例;总是由在群集中创建的第一个 Exchange 虚拟服务器拥有。

路由引擎

主动/主动

 

POP3

主动/主动

每个节点有多个虚拟服务器。必须由管理员手动创建。

IMAP4

主动/主动

每个节点有多个虚拟服务器。必须由管理员手动创建。

SMTP

主动/主动

每个节点有多个虚拟服务器。

HTTP

主动/主动

每个节点有多个虚拟服务器。

Microsoft Search

主动/主动

 

NNTP

不支持

仍然必需为 Exchange 安装 Internet 信息服务 (IIS) 网络新闻传输协议 (NNTP) 组件。

Exchange - Novell GroupWise 连接器

不支持

 

Exchange - Lotus Notes 连接器

不支持

 

Microsoft Exchange Event

不支持

 

主动/主动群集

Exchange 2003 支持双节点群集的主动/主动群集。有两个以上节点的群集必须使用主动/被动群集。在主动/主动 Exchange 群集中,有多个可以在属于群集的不同节点之间移动(存在某些限制)并且可以同时运行在一个节点上的 Exchange 虚拟服务器。

在主动/主动群集中,应用程序和资源可以存在于群集内的多个实例中。因此,两个节点都可以主动为客户端提供服务。在 Exchange 2003 主动/主动群集中,群集中的 Exchange 虚拟服务器个数等于或大于群集中的物理节点个数。只能在由两个或更少的节点所组成的群集中创建主动/主动 Exchange 群集。如果群集中有两个以上节点,则必须使用主动/被动群集模型。

大多数情况下,群集中的每个 Exchange 虚拟服务器都运行在单独的节点上。如果硬件失败或节点脱机,则其他节点将检测到该更改,并按照所配置的故障转移策略采取操作。通常,这意味着其余节点接收运行在第一个节点上的 Exchange 虚拟服务器的所有权。在双节点群集中(例如,节点 A 和节点 B),当节点 A 脱机时,节点 B 将接收 Exchange 虚拟服务器的所有权。然后,节点 B 拥有群集中全部共享磁盘系统、IP 地址、网络名称和其他所有 Exchange 资源的所有权。节点 A 联机时,有可能执行故障回复操作,也可能不执行,具体情况取决于所配置的故障回复策略。

尽管支持主动/主动群集,但由于以下原因您应当使用主动/被动 Exchange 群集:

  • 可伸缩性 在主动/主动 Exchange 群集中,每个物理节点无法同时拥有超过 1,900 个的 MAPI 连接,或一致地使用超过 40% 的总体可用 CPU 时间。
  • VM 碎片 主动/主动群集比主动/被动群集和非群集 Exchange 服务器更容易产生虚拟内存碎片。这是由于在主动/主动群集模型中,多个可扩展存储引擎 (ESE) 实例运行在同一个 STORE.EXE 进程中。
  • 性能 在主动/主动 Exchange 群集中发生故障转移时,其余节点将拥有一个以上 Exchange 虚拟服务器。这将使两个 Exchange 虚拟服务器的用户都遇到性能降级,直到脱机节点承担它的工作负荷。

有关使用 Windows Server 2003 和 Exchange 2003 建立群集的详细信息,请参阅 Using Clustering with Exchange 2003: An Example(英文)。

主动/被动群集

在主动/被动群集中,客户端连接到当前由群集的一个节点(例如节点 A)拥有的 Exchange 虚拟服务器。该节点对包含 Exchange 数据库的共享磁盘系统拥有控制权。如果节点 A 遇到硬件失败或转到脱机状态,则节点 B 将检测到该失败并取得 Exchange 虚拟服务器和它的所有关联资源的所有权。

在主动/被动群集模型中,应用程序作为单个实例运行在群集中。这意味着一个节点通常处于空闲(被动)状态,直到发生故障转移。在 Exchange 2003 群集的上下文中,主动/被动群集说明群集中的 Exchange 虚拟服务器数量少于群集中的物理节点数量。下图显示了主动/被动群集模型的示例。

c815d9a2-67bc-4ab6-834e-cf17486b1cc3

主动/被动是强烈推荐采用的 Exchange 2003 群集模型。主动/被动群集配置具有高度可缩放性,并且有比主动/主动群集更少的管理开销,其原因如下:

  • 主动/主动群集的每个节点最多只能同时有 1,900 个 MAPI 客户端连接。
  • 必须对主动/主动群集进行连续监视,才能确保在每个节点上 STORE.EXE 进程不超过总体可用 CPU 时间的 40%。
  • 由于多个 ESE 实例运行在同一个 STORE.EXE 进程中,因此主动/主动群集更容易产生虚拟内存碎片。

主动/被动 Exchange 群集(不管其大小如何)必须至少包括一个被动节点。此外,在任何给定时间,每个节点都必须只运行一个 Exchange 虚拟服务器。

资源依存关系

如下图所示,与 Exchange 相关的资源直接依赖于系统助理资源。系统助理资源反过来又依赖于物理磁盘和网络名称资源,而网络名称资源则依赖于 IP 地址资源。如果 Exchange 虚拟服务器包括多个物理磁盘资源,则系统助理资源必须对它们全部都有依赖性。

Microsoft Exchange System Attendant 服务

下图显示的默认依存关系是在创建 Microsoft Exchange System Attendant 服务时创建的。系统助理是用于控制 Exchange 虚拟服务器中的所有资源的创建和删除的基本资源。

64566397-1571-4fd9-a47c-43f342b7e148

这些资源是在创建系统助理资源时创建的。若要从 Active Directory 中删除服务器及其对象,则需要使用群集管理器来删除 Exchange 虚拟服务器。对系统助理进行 IsAlive 调用可以检查服务控制管理器,以获得系统助理的最新状态。

Microsoft Exchange Information Store 服务

Microsoft Exchange Information Store 服务被设为联机时,该服务 (STORE.exe) 将启动并开始装入存储组。在装入所有存储组并且存储已经处理现有事务日志之后,则认为该资源已联机。对 Microsoft Exchange Information Store 服务进行 IsAlive 调用将向 STORE.exe 进程发送 RPC 调用。在存储进程端,检查只验证虚拟服务器名称是否存在于活动虚拟服务器的列表中。

邮件传输代理

邮件传输代理 (MTA) 资源是主动/被动资源。每个群集只能有一个 MTA。MTA 被创建于群集内的第一个 Exchange 虚拟服务器中,并且无法移动到其他 Exchange 虚拟服务器上。因此,在群集中创建的第一个 Exchange 虚拟服务器也是可以从群集中删除的最后一个 Exchange 虚拟服务器。

尽管 MTA 是主动/被动资源,但当它联机时,它服务于群集中的所有虚拟服务器。对邮件传输代理进行 IsAlive 调用可以检查服务控制管理器,以获得 MTA 的最新状态。

协议

IsAlive 调用的操作方式对所有协议都是相同的。EXRES.DLL 通过使用 Internet 信息服务 (IIS) 元数据库所提供的绑定来为协议打开 TCP 端口。它等待横幅形式的响应。如果横幅的开头与期望值匹配,则认为该资源已联机。如果在超时之前没有返回横幅,则群集服务确定该协议虚拟服务器不可用,并且 IsAlive 调用不成功。

没有一个协议可以被设置为拒绝来自所有服务器的所有连接,否则,协议虚拟服务器将拒绝来自它自己的 IsAlive 调用。因此,每个协议虚拟服务器都必须接受来自它自己的 IP 地址的连接。对于 HTTP 协议,EXRES.DLL 将发送 WebDAV Track 命令来获得响应。

Exchange 虚拟服务器被设为脱机时,节点上的所有 SMTP 协议虚拟服务器实例都将暂时停止并重新启动,以确保存储驱动程序被正确注册。这意味着节点上所有 Exchange 虚拟服务器的 SMTP 资源都将快速脱机并重新启动。如果在 SMTP 资源的属性中选中“不要重新启动”选项,则它不会自动重新启动。

MSSearch 资源为 Exchange 虚拟服务器提供内容索引。对 MSSearch 进程进行IsAlive 调用将返回指向被索引的数据库的数据结构的指针。如果指针是有效的,则确定资源正在正常工作。

若要在 MSSearch 资源被删除之后重新创建它,必须删除然后重新创建该 Exchange 虚拟服务器的 Microsoft Exchange Information Store 服务资源。有关详细信息,请参阅 Microsoft 知识库文章 830189“Exchange Server 2003 computer cannot bring the Microsoft Search resource online”(英文)。