通信

在 Windows Server 2008 上运行 Exchange

Paul Bowden

 

概览:

  • 在 Windows Server 2008 上安装 Exchange
  • 配置提示和技巧
  • 了解 Exchange 环境

在 Microsoft 的 Exchange 开发团队中,我负责为团队工作制定计划、工作进度以及先后次序。在 Microsoft 内部,这种角色称为发布经理,在其他公司,大概是称这一角色为技术项目经理。从事过这种工作的人都知道,

只有知识丰富、技术过硬、工作努力并且享有威望的团队才能按时交付优质的产品。与此类精英团队合作,您不会在一夜之间赢得信任,必须通过勤勤恳恳的工作慢慢积累。

有一种方法可以证明您的勇气,即在“dogfood”服务器(运行 Exchange 预发布版本的生产服务器)上运行邮箱。这是一个不稳定的环境,每隔两到三周就会升级到新的 Exchange 版本。通过此类安装,我们可以在包含与真人交互活动的现实环境中测试软件。我们甚至会在最新的测试版上运行邮箱。我曾参与上述活动,下面就是我的故事。

为“Longhorn”做好准备

2006 年末我们刚发布 Exchange Server 2007 后,一种新的操作系统也横空出世 — 代号为“Longhorn”的 Windows Server®。当我们齐心协力开始计划新 Exchange 平台的第一个 Service Pack 后,很快发现 Exchange 计划和 Windows® 计划的成长道路十分类似,而且“Longhorn”(现在称为 Windows Server 2008)已越来越强大。也就是在那个时候,我们决定同时针对 Windows Server 2003 和 Windows Server 2008 设计 Exchange Server 2007 SP1。要在多个 Windows 版本上支持同一企业应用程序,需要进行大量的协调和规划。例如,Exchange 与 IIS 密切合作,而 Windows Server 2008 中包含了一个新版本 IIS 7.0。

我记得在实验室首次安装 Windows Server 2008 是在 2006 年 12 月下旬。那天有两点让我印象非常深刻:第一,安装速度相当快;第二,虽然 Windows Server 2008 的管理工具与 Windows Server 2003 有很大差别,但用起来很直观。

在我们的主实验室中,安装 Windows Server 2008 所需的时间大概是安装 Windows Server 2003 所需时间的三分之一。出现这种情况的原因之一,就是安装 Windows Server 2008 时并未配置既有组件以外的可选组件,这些可选组件不是运行操作系统所必需的。这有助于减小对计算机的攻击面并尽可能简化各事物。没有人喜欢不必要的混乱。此类安装的典型缺点是,每次要添加其他组件时,都必须插入磁盘。但使用 Windows Server 2008 时,所有文件都会被复制到 SxS 文件夹(发音时,按字母逐个读出即可)。然后,您可使用服务器管理工具配置所需组件,操作系统会为您计算出要复制的文件。

在这儿我要提一下 Server Core。Server Core 是 Windows Server 2008 的一种模式,在此模式下可安装绝对原始最低的操作系统。在此模式下,通常通过命令提示符与服务器控制台交互,甚至不用安装资源管理器。此模式非常适合于基础结构服务器,如域控制器和 DNS 服务器。但是,在此模式下无法运行所有类型的应用程序。Exchange 广泛使用托管代码,这使它不支持 Server Core 安装。

设置 Exchange

我酷爱使用物理 Windows Server 2008 和 Exchange Server 2007 SP1 媒体从头开始安装计算机,不用进行任何其他下载或考虑是否满足先决条件。为 Exchange 配置 Windows Server 2008 安装的最佳方法是使用 ServerManagerCmd 工具。我已制作了一个 XML 应答文件,如图 1 所示,此文件仅安装足够的操作系统组件,以允许在 Windows Server 2008 上安装并运行 Exchange。安装好新操作系统后,只需运行以下命令即可设置该系统:

Figure 1 ServerManagerCmd answer file for Exchange

<!-- 与 Windows Server 2008 兼容的 ServerManagerCmd 应答文件        --> <!-- 使用:ServerManagerCmd -ip Exchange.xml                                -->

<ServerManagerConfiguration Action="Install" xmlns="http://schemas.microsoft.com/sdm/Windows/ServerManager/Configuration/2007/1">

    <!-- BASE:安装 PowerShell 1.0 功能 --> <Feature Id="PowerShell"/>

    <!-- PREPARESCHEMA:安装 LDIFDE 及其他目录工具,如 LDP 和 ADSIEdit --> <Feature Id="RSAT-ADDS"/>

    <!-- CAS/MBX:安装具有其他子组件的 Web 服务器角色 --> <Role Id="Web-Server"/> <RoleService Id="Web-Metabase"/> <RoleService Id="Web-Lgcy-Mgmt-Console"/> <RoleService Id="Web-Basic-Auth"/> <RoleService Id="Web-Windows-Auth"/>

    <!-- CAS:为 OWA、GZip 压缩以及 Outlook Anywhere 支持安装三种身份验证类型 --> <RoleService Id="Web-ISAPI-Ext"/> <RoleService Id="Web-Digest-Auth"/> <RoleService Id="Web-Dyn-Compression"/> <Feature Id="RPC-over-HTTP-proxy"/>

    <!-- EDGE:安装 Active Directory 轻型目录服务(以前称为 ADAM)--> <Role Id="ADLDS"/>

    <!-- UM:安装 Windows Media Player 组件 --> <Feature Id="Desktop-Experience"/>

</ServerManagerConfiguration>

ServerManagerCmd –ip Exchange.xml

完成上述设置并重新启动系统后,就已具备了安装 Exchange 角色(如邮箱、客户端访问、集线器传输、边缘传输和统一消息)所需的一切条件。

另一个有用的技巧是使用具有 –query 开关的 ServerManagerCmd。这样,就会列出角色和服务的总列表,并显示实际配置哪些项(在图 2 中以绿色文本标出)。

Figure 2 Enumerating Exchange roles and services

Figure 2** Enumerating Exchange roles and services **(单击该图像获得较大视图)

现在,书归正传。2007 年前几个月我们一直在实验室中度过,尝试进行一些更改以在 Windows Server 2008 上获得优良性能。如果说学到了什么,那就是:您可以在实验室中持续安装软件并对软件进行压力测试,直到精疲力尽为止,但质量的真正衡量尺度是真实的实际用户所执行的真实、实时部署。这也正是我们“dogfood”自己产品的原因 — 以现实、日常、完成目标的使用为前提进行测试。2007 年 4 月 Windows Server 2008 Beta 3 的发布是一个转折点 — 已经可以利用此产品并将其部署到生产中了。

在 Windows Server 2008 上部署第一组 Exchange 服务器时,我坐在那儿,越过操作组成员的肩膀看到 Exchange 安装进行得非常顺利,所有服务均已启动。我们现在要做的就是移动邮箱,并确定该邮箱是否能够正常运行。我主动要求完成这项任务。我使用了一个 2GB 的邮箱,26 分钟后便开始正常运行,已能够使用 Exchange 在 Windows Server 2008 上发送电子邮件了。成功了!

经验教训

自从首次在 Windows Server 2008 上进行安装以来,我们一直在进行微调,以确保已真正为实现最佳状态做好了准备。这途中,我们确实必须做出一些关键部署决策。

安装 您可以将 Exchange Server 2007 SP1 用作原始 Exchange Server 2007 安装的升级版本 — 我称之为 Exchange 2007 RTM(预发布版本),也可以在新计算机上直接使用 Exchange Server 2007 SP1 媒体进行安装。这一点非常重要,因为您无法在运行 Windows Server 2008 的计算机上安装 Exchange Server 2007 RTM。

升级 尽管可以将 Windows Server 2003 SP2 操作系统就地升级到 Windows Server 2008,但仍需要首先卸载某些组件。其中之一就是 Windows PowerShell™。它是 Exchange 管理的核心;甚至 Exchange 安装也基于 Windows PowerShell。因此,如果已经安装了 Exchange,我们就无法支持操作系统的就地升级。对于大多数用户来说,这通常意味着用户将希望在新的计算机上安装 Windows Server 2008,然后安装 Exchange Server 2007 SP1。

IPv6 Exchange 旨在利用 Windows Server 2008 中的多项新功能。例如,默认情况下会安装 IPv6,而在新操作系统上运行的两台 Exchange 服务器会自动使用 IPv6 相互通信。Exchange 管理控制台中的界面也接受 IPv6 地址范围。有一点需要注意:Exchange 仍要求每个网络接口绑定 IPv4 地址。

只读域控制器 对 Active Directory® 部署做了一项算得上彻底的改动,就是更改了只读域控制器(或全局编录服务器)的概念。更改此概念后,公司可部署能接收单向复制但无法回退复制更改的 Active Directory 服务器。这在无法保证物理安全的分公司或远程办公环境中非常有用。遗憾的是,Exchange Server 2007 SP1 无法使用只读域控制器,并且需要对 Active Directory 的常规可写分区具有访问权限。

Exchange 环境

Exchange 和 Windows Server 资源

需要为部署选择操作系统级别时,您可以灵活运行各种配置,如图 3 所示。

Figure 3 Exchange environment matrix

Exchange 版本 服务器操作系统 域控制器
Exchange Server 2007 SP1 Windows Server 2008 Windows Server 2008
Exchange Server 2007 SP1 Windows Server 2008 Windows Server 2003
Exchange Server 2007 SP1 Windows Server 2003 SP2 Windows Server 2008
Exchange Server 2007 SP1 Windows Server 2003 SP2 Windows Server 2003
     

另外一种考虑是混合版本的部署。不错,您可以混合使用 Exchange 和 Windows 的各个版本,实现彼此之间的互操作。例如,您可以在用于客户端访问服务器的 Windows Server 2008 上部署 Exchange Server 2007 SP1,使这些客户端访问服务器能够访问 Windows Server 2003 邮箱服务器上的 Exchange Server 2007 RTM。

请注意,早期版本的 Exchange 与 Windows Server 2008 Active Directory 之间有一些细微差别。如果您拥有 Exchange Server 2003 SP2 和更高版本,则可以在您的环境中部署和使用 Windows Server 2008 域控制器。但是,如果您还部署了 Exchange 2000,您可能希望在 Exchange 服务器所在的 Active Directory 站点中拖延部署 Windows Server 2008 域控制器,也可能希望对 Directory Service Access (DSAccess) 设置进行硬编码,以便 Exchange 2000 不会尝试使用 Windows Server 2008 域控制器。

结束语

为使 Exchange 2007 SP1 在 Windows Server 2003 平台和 Windows Server 2008 平台上都能够正常运行,我们投入了大量精力。在 Exchange 中,我们一直为提供灵活的部署和更佳的组合方案而努力。我想,您一定会为能够在 Windows Server 2008 上轻松快捷地部署 Exchange 而惊喜。您还会发现一些细微的内部性能和可伸缩性的改进,如 Outlook Anywhere 客户端的各种高级客户端访问服务器的伸缩性。

Windows Server 2008 为今后在消息传送空间的创新提供了平台,不会令您失望的。

Paul Bowden 是 Exchange Server 团队的首席项目经理。他的大部分空闲时间都花在应请求重新确认其 PayPal 帐户信息上。

© 2008 Microsoft Corporation 与 CMP Media, LLC.保留所有权利;不得对全文或部分内容进行复制.