扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
Exchange Server 2003群集充分利用了 Windows 的高可靠性,实现了自身高级别的可用性。但在Exchange群集技术支持工作中,我发现由于客户使用不当或在一些特殊的软硬件配置的条件下,Exchange Server 2003群集会很不稳定或效率很低。在这里,我把Exchange Server 2003群集中最常见的问题和大家分享,希望能够帮助您引以为鉴,配置出稳定高效的Exchange Server 2003群集。 |
安装Exchange Server 2003群集的常见问题
在Exchange 5.5站点中安装的Exchange Server 2003 群集不能同步Exchange 5.5的配置信息?
安装Exchange Server 2003 群集不外乎两种情况,一种是直接安装全新的Exchange Server 2003 群集,另一种则是从低版本的Exchange服务器升级。如果您在从Exchange 5.5服务器升级时,把Exchange Server 2003群集安装在Exchange 5.5的组织中,那么这个Exchange Server 2003群集必定不能和Exchange 5.5服务器通过Active Direcotry Connector(ADC)进行同步。原因是Exchange Server 2003和Exchange 5.5服务器间不可或缺的一个同步组件,Site Replication Service(SRS),是不能运行在Exchange Server 2003群集上的。我们推荐的升级做法是:首先,安装一台单独的Exchange Server 2003服务器并把它加入Exchange 5.5组织,使得SRS运行在这台Exchange Server 2003服务器上,然后,安装Exchange Server 2003群集并把Exchange虚拟服务器也加入这个Exchange组织。 如果您已经把Exchange Server 2003 群集Exchange虚拟服务器也加入了Exchange 5.5组织,唯一的解决方法是移除这个Exchange Server 2003群集,并按照推荐方法重新安装。
在创建Exchange System Attendant(系统助理)资源后,为什么IMAP4 和 POP3 资源没有自动生成?
为了提高安全性,在运行 Windows Server 2003 的服务器上默认情况下不再启用 Windows IMAP4 和 POP3 协议服务。同样,在创建 Exchange Server 2003 虚拟服务器时,默认情况下不再创建 IMAP4 和 POP3 协议资源。 提示:类似地,在独立的Exchange Server 2003服务器中,IMAP4 和 POP3 协议服务在默认状态下也是被禁止的。 如果要启用其中的任意一种协议,必须执行下列操作: %26#8226; 在将运行具有 IMAP4 或 POP3 资源的 Exchange 虚拟服务器的那些群集节点上启用 Windows IMAP4 或 POP3 服务。为了确保该服务在群集情况下正确工作,还必须将服务配置为手动启动。 %26#8226; 分别将 IMAP4 或 POP3 虚拟服务器作为资源手动添加到要在其上启用所选协议的每个 Exchange 虚拟服务器,然后将该资源联机。
在多个Exchange虚拟服务器的情境中,为什么有的虚拟服务器没有Message Transfer Agent(MTA)resource资源?
确切地说,在每一个Exchange Server 2003群集中,应该只有一个Message Transfer Agent(MTA)资源。从技术上讲,Exchange Server 2003群集对于MTA组件来说是透明的。通俗地说,MTA并不知道Exchange Server 2003群集的存在。有关此问题的详细信息,我建议大家参看下面的微软知识库文章: There is only one MTA resource per Exchange 2000 Server cluster or Exchange Server 2003 cluster http://support.microsoft.com/kb/329235
在安装Exchange Server 2003时,出现错误信息:由于COM+ 问题而导致Exchange安装程序无法工作,错误代码为 0xc103798a。
0xc103798a是一个比较常见的错误代码。产生这个错误的原因主要有两个方面:一是微软分布式事务协调器服务(MS DTC)没有启动,二是COM+ 目录已损坏。详细的解决方法本文略去,请参见下面的微软知识库文章:由于 COM+ 问题而导致 Exchange 安装程序无法工作,错误代码为 0xc103798a http://support.microsoft.com/kb/318731
有一点需要说明的是,基于我的经验,大多数情况下,重新安装COM+可以解决这个问题。但在极少数情况下,只有重新安装Windows才能解决这个问题。 创建Exchange System Attendant(系统助理)资源时,报告下述错误信息: “Access is denied. Facility: Win32 ID no: c0070005 Microsoft Exchange Cluster Administrator Extension”
在我技术支持工作中,遇到Access is denied问题的客户环境一般有两个地方配置不正确。一是Remote Registry Service没有运行,二是登录用户对注册表没有远程访问(remote access)权限。因此,解决方法是:第一,确认Remote Registry Service已经运行。第二,通过注册表授予权限,其方法是:在注册表编辑器中,找到下面的注册表键值: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg 点击鼠标右键,并选择Permissions。按照下表设定权限:
Type |
Name |
Permission |
Apply to |
Allow |
Administrator |
Full Control |
This key only |
Allow |
Administrators |
Full Control |
This key and subkeys |
Allow |
Backup Operators |
Read |
This key only |
Allow |
Domain Admins |
Full Control |
This key only |
Allow |
Enterprise Admins |
Full Control |
This key only |
Allow |
EXCHANGE$ |
Full Control |
This key only |
Allow |
Exchange Domain Servers |
Read |
This key only |
Allow |
LOCAL SERVICE |
Read |
This key and subkeys |
创建Exchange System Attendant(系统助理)资源时,为什么有些群集结点不能设定为系统助理资源的所有者(owner)?
这是因为:不能作为系统助理资源的所有者(owner)的节点没有安装Exchange的安装文件。在Exchange Server 2003 群集中,MsExchange_NodeState注册表键值标明在所有Windows群集的节点中,有哪些已经安装了Exchange的安装文件,以及安装文件的版本号。Exchange Server 2003群集使用这个注册表键值来计算群集中可容纳Exchange虚拟服务器的数目。如果试图把MsExchange_NodeState = 0的群集节点作为Exchange系统助理的所有者,您将看到下面的错误信息: An error occurred attempting to add node "
维护Exchange Server 2003群集的常见问题
在Exchange Server 2003群集上安装更新后,Exchange虚拟服务器只能在一个节点上联机。
作为一名管理员,一个重要的工作就是保持各个服务器更新到最新版本。而应当注意的是,在Exchange Server 2003群集上安装更新与在独立的Exchange Server 2003上安装有很大的区别。不同更新的安装步骤类似,具体步骤您可以参考以下微软知识库文章:如何在群集 Exchange 环境中安装 Exchange Server 2003 Service Pack 1 http://support.microsoft.com/kb/867624
根据我的经验,更新的安装还是比较稳定的。如果出现了下列问题:即第9步“Exchange 虚拟服务器 1”无法升级;或者,第10步,成功升级“Exchange 虚拟服务器 1”后,在“群集节点 2”上,Exchange系统助理资源无法联机。在这种情况下,我们建议您把该群集组中所有资源脱机。并在“群集节点 1”上安装更新,在安装结束后,仅保持IP 地址资源、物理磁盘资源和网络名称资源联机,并在原来的主动节点上升级“Exchange 虚拟服务器 1”。
在Exchange Server 2003上安装Windows Server 2003 Service Pack 1后,Outlook Web Access(OWA)和Outlook可能无法连接到Exchange Server 2003 server。
Installing security update MS05-019 or Windows Server 2003 Service Pack 1 may cause network connectivity between clients and servers to fail http://support.microsoft.com/kb/898060/
"500 - Internal server error" error message when a user tries to access a clustered Exchange Server 2003 back-end server by using Outlook Web Access http://support.microsoft.com/kb/841561
此外,还有许多解决Exchange Server 2003 Service Pack 1遗留的问题的补丁程序,它们都包含在Exchange Server 2003 Service Pack 2中。Exchange Server 2003 Service Pack 2不但修复了这些遗留问题,而且在移动功能
Exchange Server 2003 群集完全坏了,但邮件存储和公共文件夹存储还在,如何用Setup /disasterrecovery恢复Exchange Server 2003 Cluster?
答案是否定的。在Exchange Server 2003 Cluster上是不能够使用Setup /disasterrecovery的方法来恢复Exchange Server 2003 Cluster的。这是因为,当单独的Exchange Server 2003服务器不能联机时,这台Exchange Server 2003服务器在活动目录中的配置信息仍然存在。使用Setup /disasterrecovery的方法来恢复这台Exchange Server 2003服务器时,安装程序会从活动目录中读取Exchange Server 2003服务器的配置信息,从而恢复这台Exchange Server 2003服务器。在Exchange Server 2003 群集中,虽然在Exchange 虚拟服务器不能联机时,其配置信息也存储在活动目录中,但在Exchange Server 2003 群集中运行的安装程序只负责拷贝文件而不会从活动目录中读取信息,致使Setup /disasterrecovery的操作不能成功。那么在这种灾难恢复的情境中,应该是用什么方法来恢复Exchange Server 2003 Cluster呢?下面的方法是推荐使用的:从群集中移除Exchange虚拟服务器。运行cluadmin.exe,找到Exchange虚拟服务器的群集组,删除IP地址资源。在活动目录中移除Exchange虚拟服务器对象。运行Adsiedit.msc,通过如下路径找到CN=
我们推荐在群集服务中创建群集组时,为仲裁磁盘资源单独创建群集组,以便为该群集提供容错能力;并且,为所有Exchange资源创建单独的群集组,在该群集组中,为Exchange虚拟服务器创建单独的共享磁盘资源。这样,如果某个硬盘发生故障,其它群集组中的群集资源就不会受到影响。但是,有的客户会把仲裁磁盘资源和所有Exchange资源创建在同一个群集组中。当他发现这样做有些不妥,想把ExchangeSystem Attendant(系统助理)资源移动到他新创建的群集组时,会看到如图1的提示:
图2:试图移动当前群集组中所有资源 %26#61548;
如图2所示,群集管理器试图移动当前群集组中所有资源。这是必然的,因为移动群集资源的时候,和该群集资源具有依存关系的资源都将被移动,即,包括仲裁磁盘在内的群集组中的所有资源都将被移动。在这种情况下,由于当前的Exchange虚拟服务器已经在运行,移除它并在另一个群集组中重新创建一个Exchange虚拟服务器也是行不通的。因此,我们强调在部署Exchange Server 2003群集的时候一定要注意以下事项:%26#61548; 在群集服务中创建群集组时,请为仲裁磁盘资源单独创建群集组,以便为该群集提供容错能力。%26#61548; 将每个群集组自己的一组物理硬盘分配给该群集组中的群集资源。这样,如果某个硬盘发生故障,其它群集组中的群集资源就不会受到影响。%26#61548; 使用不同的物理硬盘来分别存储 Exchange 虚拟服务器的事务日志文件和数据库
移除Exchange Server 2003群集常见的问题
使用Exchange 2000的方法移除Exchange Server 2003的Exchange虚拟服务器问题的解决
在Exchange 2000群集中,移除一个Exchange虚拟服务器只需要简单的删除Exchange系统助理资源就可以了。这将自动删除所有Exchange 2000群集的资源,并且把该Exchange虚拟服务器在活动目录中的信息一并移除。 在Exchange Server 2003群集中,我们必须通过右击包含Exchange虚拟服务器的群集组或者右击Exchange系统助理资源,然后点击移除Exchange虚拟服务器的方法来移除Exchange虚拟服务器。这是因为,在Exchange Server 2003群集中,群集组的属性MSExchange_VirtualServerName标明了该群集组中拥有一个Exchange虚拟服务器。而且,只有使用上述方法才能够把这个属性置为空。我们可以用如下命令来访问这个属性: Cluster group myGroup /priv MSExchange_VirtualServerName没有被置为空时,您将看到如图3所示页面:
错误信息一: 图5 在试图移除Exchange虚拟服务器以前,必须删除或迁移所有非系统邮箱,否则,您将看到如图5这条错误信息。 在某些情况下,您可能在“Exchange系统管理器/管理祖/<服务器名>/邮箱存储/邮箱”中看不到任何非系统邮箱,但仍然会收到这条错误信息。这很可能是由于:您创建了一些启用邮箱的用户,然而有些邮箱从来没有被使用过,也就是该邮箱没有被登录过也从未收到过任何信件。这个时候该用户的邮箱并没有被创建出来,所以在邮箱存储/邮箱中看不到该用户的邮箱。但是这个时候,这条错误信息会报告出来。解决办法是:用ADSIEdit、CSVDE或者LDIFDE等工具查找所有用户对象的msExchHomeServerName属性。如果您发现某个用户对象msExchHomeServerName属性值含有您要移除的Exchange虚拟服务器的名字,那么移除所有此类用户的邮箱就可以解决这个问题。
错误信息二: 图6 移除Exchange虚拟服务器要求包括Exchange系统助理在内的所有Exchange资源脱机。如果看到图6这条错误信息,请检查是否Exchange系统助理仍处于联机状态。
错误信息三: This Exchange Virtual Server can not be removed because it is responsible for the MTA protocol service. There are other Exchange Virtual Servers in this cluster that depend on the MTA protocol service which is hosted by this Exchange Virtual Server service. Facility: Microsoft Exchange Cluster Administrator Extension ID no: c103fd2b Microsoft Exchange Cluster Administrator Extension 看到这条错误信息,请立即停止移除当前Exchange虚拟服务器的操作,因为这条错误信息表明当前Exchange虚拟服务器拥有群集中其它Exchange虚拟服务器需要访问的邮件传输代理(MTA)资源。到目前为止,Exchange群集还不支持在Exchange虚拟服务器间迁移邮件传输代理(MTA)资源。因此,唯一的解决方法是把另一个Exchange虚拟服务器中所有的邮箱迁移到拥有MTA资源的Exchange虚拟服务器中来,并移除另一个Exchange虚拟服务器。
结束语 众所周知,Exchange Server 2003群集非常复杂,很难用几千字把所有问题概括清楚。以上是笔者在Exchange Server 2003群集技术支持工作中总结的一点经验。希望这些知识能对您的工作有所帮助,也希望它能让您的Exchange Server 2003群集更加稳定、高效。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。