2014-08-28 23:25:52
来 源
中存储网
Exchange邮件服务器
Exchange Disaster Recovery Analyzer(Exchange灾难恢复分析器,简称为ExDRA),它旨在帮助那些不熟悉Exchange数据库内置管理工具或者命令行工具的管理员,来简化Exchange灾难恢复的过程。

很多Exchange管理员可能没有注意到,在2005年11月,微软发布了一个免费且实用的工具。它名为Exchange Disaster Recovery Analyzer(Exchange灾难恢复分析器,简称为ExDRA),它旨在帮助那些不熟悉Exchange数据库内置管理工具或者命令行工具的管理员,来简化Exchange灾难恢复的过程。随着在2006年12月Exchange Server 2007的发布,微软不再提供ExDRA的单独下载;新版本的ExDRA称为Database Troubleshooter(数据库诊断工具),它已经被内置在Exchange Troubleshooting Assistant(Exchange故障排除助理,简称为ExTrA)中,ExTrA也被集成在Exchange Server 2007的Exchange管理控制器(Exchange Management Console,EMC)中。ExTrA可以用在Exchange 2000 Service Pack 3及其后版本的数据库上(注意:ExDRA也可以用在Exchange 2000 Server SP3及其后版本的数据库)。
Database Troubleshooter有着和Exchange Best Practices Analyzer(Exchange最佳实践分析工具,简称为ExBPA)一样熟悉的外观,它可以帮助您分析一个Exchange邮箱存储或者公用文件夹存储,及其任何相关联的事务日志文件,最后向您提供灾难恢复计划的可行性指导以及建议。当出现数据存储不能装载(mount)的情况时,Exchange管理员经常会使用一些错误的或者是不必要的方法来尝试解决问题。比如说,在明显不能用Eseutil或Isinteg工具解决问题时运行它们,造成的结果是企业邮件服务器本可以避免的长时间的当机。Database Troubleshooter试图在Exchange数据库层找到问题的原因,并帮助您做出正确的灾难恢复决策,而不用跌倒在无数次的失败尝试中。

Database Troubleshooter系统要求
因为Database Troubleshooter被集成在Exchange管理控制器EMC中,所以您应当确保您的机器满足运行Exchange Server 2007的全部前提条件。在我写这篇文章的时候,微软要求系统安装了Microsoft .NET Framework 2.0和Microsoft Management Console(MMC)3.0,运行的操作系统必须是Windows Server 2003 Service Pack 1、Windows Server 2003 Release 2(R2)或Windows Server 2003 X64、Windows Server 2003 x64 R2之一,以上系统的标准版或者企业版皆可。Exchange Server 2007内置的Database Troubleshooter也可以用来分析在Exchange 2000 Server SP3或者之后系统中创建的数据库和事务日志文件。
要运行Database Troubleshooter,除了需要拥有足够的从活动目录中读取Exchange配置数据的权限,您还需要能够从物理文件夹中读取Exchange数据库文件和事务日志文件的权限。考虑到Database Troubleshooter不会对您的Exchange服务器或者活动目录做任何修改,您不需要在这两个位置上具有写权限。但是至少,您需要对于存储Exchange数据库文件和事务日志文件的NTFS文件夹,和活动目录的配置节点有读的权限。
就目前来说,Database Troubleshooter仅仅集中在分析数据库文件和事务日志文件;它不会对于分析的文件做出任何修改,但是它需要您在分析文件之前卸除(dismount)数据库。

更新配置文件
因为Database Troubleshooter和ExBPA是基于同样的架构,它们的工作原理都是由一个XML配置文件驱动的,并且他们都可以通过微软的网站自动更新。您可以通过运行Exchange Server 2007 EMC,打开工具(Toolbox)节点,来选择Database Troubleshooter。正如图1所示,Database Troubleshooter出现在灾难恢复工具(Disaster Recovery)的下面。

图1:从Exchange Server 2007 EMC中开始Database Troubleshooter

双击Database Troubleshooter就可以开始运行ExTrA了。当启动之后,ExTrA总会给您两个选择——是否自动检查可能存在的更新或者跳过。我建议您让ExTrA自动检查更新,除非您的机器不能访问互联网;如果真的是这样,您可能希望能够禁用自动更新的功能。或者,您最好了解ExTrA自动更新的原理,这样您就以后可以手动下载更新了。
当ExTrA连接到微软的网站之后,它首先检查这个工具是否有新版本发布。如果有,ExTrA会比较微软最新发布的版本和本地安装的版本,然后提供选择让用户可以下载新版本的工具。您也可以通过点击ExTrA左栏的“About the Exchange Troubleshooting Assistant”的链接,来查看已经安装的ExTrA的版本,和配置文件的版本。如果版本已经过期,您可以手工下载并安装最新版的工具。
当ExTrA确认已经安装了最新版之后,它会继续从微软网站上下载ExTrA主输入文件即ExTRA.config.xml和ExDRA主输入文件即ExDRA.config.xml。要进行手工更新,您可以简单的把这两个文件拷贝到Program FilesMicrosoftExchange Serverbinen目录下。

数据库分析
当您启动Database Troubleshooter时,在屏幕的左上角您可以看到几个选项,分别是“Start troubleshooting”(开始故障排除)和“Select a result file to review”(选择查看一个结果文件)。这时候正如图2所示,您需要为您的这次诊断项目命名,输入需要分析的Exchange服务器的名称,最后作为可选项,您可以输入域控制器的名字来进行验证。按照以上的信息,Database Troubleshooter将从活动目录的配置节点中读取您选择的Exchange服务器的信息,来找到装载在这台服务器上的存储组(storage groups,SGs)和数据库,以及它们的物理文件的存储路径。默认的,Database Troubleshooter将会使用您登录机器时使用的帐号来访问活动目录和Exchange服务器;但是您也可以通过点击“Show advanced logon options”键来指定登录的帐号。

图2:配置与Exchange和活动目录的连接

在帐号验证完成之后,Database Troubleshooter将会提供一份您所指定服务器上的SGs列表,选出一个您希望分析的存储组;这时Database Troubleshooter还会列出在这个SG中已经被卸载的数据库来供您选择。这次分析过程对于活动目录在性能上的影响非常的微弱。另外有一点非常重要,Database Troubleshooter将会检测一个数据库是否已经被卸载,这是因为它只能对已经被卸载的数据库进行故障排除。实际上,Database Troubleshooter操作中的很大一部分就是使用带有MH和ML参数的Eseutil命令行工具;这些命令都只能作用在已经被卸载的数据库上。如果Exchange数据库的自动检测和分析不能满足您的需求,Database Troubleshooter还允许用户手工分析数据库原始文件。在这里,您要做的就是输入存储这些物理文件的路径。
在您选择了需要分析的数据库之后,Database Troubleshooter将会开始分析数据库文件和事务日志文件的头信息,以及两种文件的完整性。全程操作都是只读的,不会对分析过的文件做任何修改。

解释报告
在完成了数据库分析之后,Database Troubleshooter会让您选择一些分析和管理任务。比如说,您可以选择诊断邮件存储为何不能装载,分析事务日志文件所占用的磁盘空间,移动数据库文件到另一个磁盘卷,筛选所有和特定数据库相关的日志文件,创建恢复存储组(Recovery Storage Group,RSG)。对于事务日志文件的分析可以帮助您了解还有多少磁盘空间可以用来存储事务日志,并且建议您把不重要的文件转移到一个新的位置。但是,如果您在特定数据库上启用了本地连续复制(local continuous replication,LCR),您就不能使用这个向导来移动日志文件了。
如果您选择了诊断邮件存储为何不能装载,您将可以看到这个数据库的状态:一致(也称干净关闭,Clean ShutDown,正如图3所示,它指Exchange服务都正常停止,所有事务日志文件的内容都被写入到数据库文件中,不需要进行还原操作);不一致(Dirty ShutDown,需要从备份中恢复),或者不确定(unknown state,需要联系微软技术支持服务-Microsoft Product Support Services)。Database Troubleshooter还能够辨识是否遗失了数据库文件(像Exchange 2000 Server和Exchange Server 2003的.stm文件或者日志文件);如果这是真的,Database Troubleshooter还会为您提供建议——到哪里去找寻这些文件。

图3:分析显示数据库状态是一致的

更为重要的是,Database Troubleshooter还可以为管理员提供一份详细的计划来恢复一个不能装载的数据库。可以看出,Database Troubleshooter的开发者在这一个环节上是做过仔细研究的,特别是当Exchange管理员已经花费了数不清的时间在恢复一个数据库却最终还是没有成功时,当做出错误的假设关于使用特定的工具和参数来恢复数据库时,当放弃恢复一个完全可以修复的数据库时,这个工具提出的结论和建议将会非常有意义。当工作环境中的Exchange服务器出现当机的情况时,尽可能快的修复数据库将是至关重要的。基于这一点,Database Troubleshooter所提供的专家级的指导还是无价的。
如果您使用过其他的Exchange分析工具,像ExBPA,您就不会对Database Troubleshooter呈现的报告感到陌生。如图4所示,在默认的报告格式中,您可以选择是否查看关键的问题(Critical Issues)还是所有的问题(All Issues)。对于关键问题,您还可以点击“告诉我更多关于这个问题的信息以及应该如何解决它”(Tell me more about this issue and how to resolve it)链接来打开一个帮助文档,它将会从更深的层次来解释这个问题。一般来说,Database Troubleshooter能够检测出的问题包括EDB文件和事务日志文件之间的签名不一致(即经过一次不成功的恢复操作),或者遗失必须的或是可选择的事务日志文件。您可以按照问题的描述,问题的种类,问题的严重程度(即问题或警告)来重新排列报告的格式。另外,Database Troubleshooter还有一种树状的显示格式,它包含了诊断一个数据库问题,您(或者微软)所需要的所有信息。对于高级Exchange管理员来说,细节视图(detailed view)是非常有用的,但对于一般用户来说,总结视图(summary view)已经足够。

图4:Database Troubleshooter的默认的报告格式

在写这篇文章的时候,我的数据库的状态是一致的(consistent,即Clean ShutDown),但是如果它变成了不一致(inconsistent),我就会去通过查看如图5所示的Database Troubleshooter树状结构的细节视图,来找到要使这个数据库状态重新变成一致所至少需要重播(replay)的事务日志文件(即MinLogRequired属性),同时还有至多需要的文件(即MaxLogRequired属性)。仅仅重播这些日志文件将足以使数据库的状态变为一致,这也意味着数据库将可以重新被装载。如果一个数据库的状态已经是干净关闭,即一致的,我们不需要对任何事务日志文件进行重播,这是因为在日志文件中的数据已经全部被写入到数据库中。所以,如果您的数据库的状态是一致的,但是数据库又不能被装载,这样我们就要怀疑是不是由数据库本身损坏造成的问题了。如果要开始重播日志文件,但我又有很多的事务日志文件,我会有选择一个头文件,然后按照顺序来重播它们,直到最新的一个(即HighestExistingSequenceNumber和HighestExistingSequenceNumberFileName属性),这样我们可以恢复尽可能多的数据并且使它们到最新的状态。

图5:树状结构的细节视图

在您使用Database Troubleshooter一段时间之后,您会注意到它包含了一个历史记录,它记录了您所有看过的报告。您可以通过点击左栏的“观看报告”(View a report)来查看这个历史记录。您还可以把报告导出成为一个CSV,HTML,或XML文件的格式。最后,Database Troubleshooter还会包含一份日志文件来记录所有执行过的操作。您可以通过报告页面选择“其他报告”(Other Reports)来查看这份报告。

展望未来
正如我前面提到的,ExTrA不会对于您的数据库做任何修改。如果您仔细看看Exchange管理控制器的工具栏(Toolbox),您会发现一些其他老的Exchange分析工具,像Exchange Performance Troubleshooting Analyzer(Exchange服务器性能故障排除分析工具,简称ExPTA)在Exchange Server 2007中被称为Performance Troubleshooter(性能问题排除器),相对来说新一点的Exchange Mailflow Analyzer(Exchange邮件路由分析器,简称ExMFA)现在也被称为Mail Flow Troubleshooter(邮件路由问题排除器)。和Database Troubleshooter一样,这两个工具也用到了ExTrA。实际上,在Exchange Server 2007中,ExBPA仍然强调对于Exchange整体环境的主动分析,而ExTrA更加倾向于在排除故障时被使用。
我们可以把ExTrA看成是一个深层次排除Exchange问题的框架。无论如何,微软承诺Database Troubleshooter会一直进步且一如既往起到关键的作用,来帮助那些使用Exchange服务器并且遇到关于数据库的问题的公司来尽快从灾难中恢复。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。