相信你已经知道了,Exchange Server 2007与它之前的版本是有很大差异的。由于Exchange Server 2007结构上发生的变化,你用来备份以及恢复Exchange数据的方法可能不同于你过去所作的方法了。在Exchange Server 2003里,创建一个备份基本上意味着使用一个Exchange识别的备份程序来备份服务器的系统状态、文件系统,以及任何已有的存储信息。但是使用Exchange Server 2007的基于角色的结构,你所使用的备份方法将主要依赖于服务器所承担的角色。因此,我将会把讨论的重点放在基于每个服务器的角色角度来备份一个Exchange Server。记住,一个Exchange Server可以担任多个角色。在那些场合中,你需要将备份方法与那个服务器所承担的角色相结合。
Mailbox服务器角色
在Exchange Server所执行的所有角色当中,Mailbox服务器角色对于备份来说是最重要的。这是因为承担Mailbox服务器角色的服务器包含终端用户数据,比如邮箱和公共文件夹。
与Exchange Server早期版本里的情况类似,邮箱和公共文件夹数据是保存在数据库以及事务日志文件里。Exchange Server 2007沿用Extensible Storage Engine(ESE)数据库格式。而对于Exchange Server数据库所作的改变,那些变化首先是写入一个基于RAM的数据库缓存里,然后当系统的工作负载允许时写入一个事务日志中。直到下次备份,事务日志的内容才会提交给数据库。这就意味着除非你定期地备份系统,否则事务日志可以一直累积到最后提示服务器磁盘空间不足为止。如果发生这种情况,Exchange Server将卸除数据库,并且直到额外存储器空间可用时才会接受数据。
与Exchange Server 2003的情况类似,Exchange Server 2007使用存储组(SG)的概念。默认情况下,Exchange Server 2007把数据库和事务日志存储在一个与SG有关的文件夹里。例如:与第一个SG有关的数据库和事务日志保存在Program FilesMicrosoftExchange ServerMailboxFirst Storage Group文件夹里。当然,这只是一个默认的位置。在实际的部署场景里,事务日志和数据库通常会基于性能和灾难恢复的原因而分开保存。
在事务日志里的数据库是Mailbox服务器角色最最重要的组件。你可以通过使用任何Exchange Server 2007识别的备份程序来备份这些组件。然而,你可能还需要恢复一些其它的Mailbox服务器角色使用的组件。其中一个这样的组件是Exchange Search信息,它是一个用户邮箱内容的索引。它允许用户根据消息和附件来执行搜索操作。根据微软公司所提供的信息,Exchange Search信息不能被备份或者恢复。实际上,你必须重新创建它,而在这样情况下,你不必担心它作为你的备份过程的一部分。
为了重建搜索索引,首先停止Microsoft Exchange Search Service,并且删除现有的搜索目录。搜索目录被保存在存储组目录下的一个子目录里。子目录的名称发生了变化,但是它始终使用CatalogData字,后面是两个GUID。想要删除搜索目录,只须删除你恢复的那个SG里文件夹的内容即可。然后重新启动服务来强制重建搜索目录。
Hub Transport服务器角色
Hub Transport服务器负责路由Exchange组织内部的消息。同样地,承担Hub Transport角色的服务器有两个主要的职责:它们承担消息队列,并且它们为Exchange组织维护消息路由信息,以及消息跟踪日志和协议日志。它还会处理所有的传输规则及其它与传输有关的活动。
尽管Hub Transport服务器角色有点重要,但是备份一个Hub Transport服务器并不是关键性的。为了理解为什么会是这种情况,让我们单独地看看一个Hub Transport服务器的函数。或许Hub Transport服务器更重要的职责是消息队列。消息队列由一个类似于那些用于Mailbox服务器的ESE数据库组成;然而,Hub Transport服务器使用循环日志,这就意味着Exchange在日志文件中覆盖旧的日志,而Mailbox服务器使用连续的日志,日志文件直到被备份后才会被删除。Hub Transport服务器能使用循环日志的原因是因为通过Store的数据的瞬变特性。
你可能认为你会像备份任何其它的数据库那样备份消息队列数据库。可是记住,一般消息通过队列的速度非常快。假定你进行一个消息队列数据库的备份,那么30分钟之后,你的系统就会崩溃了。如果你想恢复消息队列数据库,或许唯一会被恢复的东西是已经通过队列的那些消息。这个数据库的高动态的特点以及它使用循环日志的事实使得传统的备份方法变得不切实际。
但这并不是说万一服务器崩溃后,你不能挽救当前在队列里的消息。如果一个Hub Transport服务器崩溃了,你可以使用与恢复任何其它的Exchange Server数据库相同的方法来恢复消息队列数据库,当然需要除了从备份恢复数据库以外的操作。实际上,Windows NTBackup甚至不允许你备份消息队列数据库。在某些情况里,从传输dumpster(transport dumpster)里恢复消息也是可能的。
现在让我们讨论一下消息跟踪日志和协议日志。这些日志文件存储事务的记录都发生在服务器上。它们对于服务器的操作并不重要,而是用于刑事调查的目的。如果消息跟踪日志和协议日志对你有价值,你可以使用一个常规的文件级备份来备份它们。默认情况下,这些日志保存在Program FilesMicrosoftExchange ServerTransport RolesLogs文件夹里。
最后,Hub Transport服务器包含与消息通过Exchange组织的路由方法有关的配置信息。大多数配置信息被保存在Active Directory(AD)里。少量的配置信息被保存在Windows注册表里,但是这些信息对于将一个Hub Transport服务器恢复到一个功能状态并不重要。
即使备份没有生效,你通常也可以通过运行下面这个命令在系统崩溃之后恢复一个Hub Transport服务器到功能状态:
Setup /m:RecoverServer
这个命令将使用包含在AD里的信息来重建服务器,并且恢复它到功能状态。你可以阅读微软文章“ Understanding Setup /M:RecoverServer ”(http://technet.microsoft.com/en-us/library/ aa998656.aspx)来了解更多有关这个命令的信息。
Edge Transport服务器角色
Edge Transport服务器与在你的Exchange组织里的任何其它的服务器不同,因为它们是被设计为与AD分隔的,而其它的Exchange服务器都依赖于AD。更确切地说,Edge Transport角色不能是一个域成员,并且它使用Active Directory Application Mode(ADAM)来给它一个本地目录的副本。
除了那些差异以外,Edge Transport服务器功能与一个Hub Transport服务器类似。实际上,Edge Transport服务器和Hub Transport服务器有许多同样的组件。两类服务器都有消息队列、跟踪和协议日志,以及基本的服务器配置数据。基于这些相似之处,许多适用于备份和恢复Hub Transport服务器的规则也适用于Edge Transport服务器。
和一个Hub Transport服务器一样,在一个Edge Transport服务器上的消息队列是基于一个ESE数据库的。和Hub Transport服务器类似,由于数据的transient瞬变的特性以及服务器使用循环日志的事实,它不会真的备份消息队列。
你可以通过执行一个文件级备份在一个Edge Transport服务器上备份消息跟踪和协议日志。消息跟踪和协议日志默认情况下存储在Program FilesMicrosoftExchange ServerTransportRolesLogs文件夹里。
Edge Transport服务器实际上不同于Hub Transport服务器的地方是它们存储配置数据的方式。正如我之前提到的,Edge Transport服务器不在AD里储存数据。实际上,它被存储在一个Active Directory Application Mode(ADAM)数据库里。这个数据通过从AD数据库复制中而得到。
一个Edge Transport服务器的主要工作是从Internet过滤输入进组织里的消息。内容过滤后的内容被保存在类似于用于消息队列的一个ESE数据库里。
有意思的是你一般不需要备份在一个Edge Transport服务器上的配置数据。这是因为在一个Edge Transport服务器里的大多数设置都是默认设置。包含在ADAM数据库里的数据从AD数据库复制,而该AD数据库你已经备份了。当新的抗病毒数据可用时,内容过滤数据库会通过Internet自动地更新。因此,微软公司介绍说除非你执行了自定义的设置,否则不必备份在一个Edge Transport服务器上的配置数据。
如果你的Edge Transport服务器包含了自定义设置,你需要使用一个克隆(cloning)技术来备份那些设置。完成这个任务最简单的方法是使用Exchange Management Shell来运行两个预定义的脚本:ExportEdgeConfig.ps1和ImportEdgeConfig.ps1。你使用ExportEdgeConfig.ps1脚本来将配置数据输出到一个XML文件里,而如果你需要恢复服务器的配置,可使用ImportEdgeConfig.ps1脚本来输入XML文件里。两个脚本都保存在Program FilesMicrosoftExchange ServerScripts文件夹里。
Client Access服务器
在Exchange Server 2007里,承担Client Access服务器角色的那些服务器为用户提供Outlook Web Access(OWA)。恢复Client Access服务器有些棘手的是它们包含在Exchange Server之外的数据。例如:配置数据被保存在本地文件系统、AD,以及Microsoft IIS metabase里。这些外部数据复杂的恢复过程可能会导致系统发生崩溃。
和其它的一些我已经讨论过的服务器角色一样,有一个你可以将服务器恢复为功能状态的命令。对于一个Client Access服务器,该命令是:
Setup /mode:RecoverServer
你应该了解有关这个命令最重要的事情是它将你的服务器恢复成默认的安装状态,因此任何你已经自定义的设置信息都会丢失。这些自定义信息包括非默认的虚拟目录,任何你对默认虚拟目录所作的自定义,以及任何你所添加的证书。
此外,如果你试图在运行Setup /mode: RecoverServer命令之后恢复IIS metabase数据库,那么IIS Metabase将不会与AD同步,并且Client Access服务器将会出现错误。因此,微软建议你不要在运行Setup /mode:RecoverServer命令之后恢复IIS metabase。实际上,你应该创建一个你对Client Access服务器所作的所有自定义设置的日志,这样当你执行完一个恢复操作之后,可以手动地再次应用那些改变。
备份一个Client Access服务器最容易的方法是执行一个文件级备份,它还包括一个系统状态的备份。表1列出了你可以通过一个文件级备份来进行备份的组件,以及这些组件的位置。一个系统状态备份将备份保留的Client Access服务器组件,包括Autodiscover服务、Windows注册表,以及Web Services配置信息在内。
表1:你可以通过文件级备份的Client Access组件
Unified Messaging角色
Unified Messaging角色是Exchange Server 2007里的一个新角色。它是一个允许语音消息和传真存储在用户收件箱里的角色。你可以通过执行一个文件级和系统状态备份来备份Unified Messaging服务器。
大多数的与一个Unified Messaging服务器有关的配置数据被保存在AD里。实际上,如果万一系统崩溃,你可以通过运行Setup /m:RecoverServer命令来重建一个Unified Messaging服务器。所以服务器的大部分配置信息被保存在AD里,一个系统状态备份实际上可以给你的唯一的东西是Windows注册表配置数据的备份。
注册表里的配置数据对于服务器恢复是不可缺少的,因此一个系统状态备份不是一个绝对的必要条件。记住,如果你已经创建了自定义的自动应答或自定义语音提示,你需要备份它们,否则你会丢失它们。而对于任何包含自动应答表名的自动产生的语法文件也是相同的情况。
在一个文件级备份期间最重要的位置是Program FilesMicrosoftExchange ServerUnified MessagingPrompts文件夹。这个文件夹包含你已经创建的任何自定义的声音文件。
AD
正如你所知道的,Exchange Server完全依赖于AD。同样地,保护你的Exchange Server组织免于灾难性故障损害的唯一方法是还要备份你的AD和DNS服务器。DNS服务器备份之所以是必需的是因为DNS是一个AD的从属物。执行一个AD备份最容易的方法是执行一个域控制器(DC)的文件系统和系统状态的备份。
新结构,新策略
你可以在附文“Exchange Server 2007服务器角色和备份技术”中看到一个Exchange Server 2007的新服务器角色的摘要信息,以及与它们相关联的备份策略。正如你所看到的,Exchange Server 2007基于角色的结构使其与之前的版本相比有着相当多的不同之处。因此,你用来备份Exchange Server 2007的技术或许和以前惯用的方法也有所不同了。但是一旦你了解了Exchange Server 2007新的服务器角色,备份和恢复起你的重要的Exchange数据来就不会有任何问题了。
附文:
Exchange Server 2007服务器角色和备份技术
Mailbox服务器角色
• Mailbox服务器包含邮箱和公共文件夹,因此对于你的备份来说它是最重要的。
• 你可以使用任何Exchange识别的备份程序来备份Information Stores。Search信息不能被备份;你必须重建它。
Hub Transport服务器角色
• 备份一个Hub Transport服务器一般并不是很关键的。
• 如果一个Hub Transport服务器崩溃了,你可以使用与恢复任何其它的Exchange数据库相同的技术来从队列里恢复消息。
• 在系统崩溃之后,你可以通过使用下面的命令重建一个Hub Transport服务器的配置:
Setup /m:RecoverServer
Edge Transport服务器角色
• 一般不需要备份一个Edge Transport服务器。
• 除非你对Edge Transport服务器进行了自定义的改变,否则你不需要备份配置数据,因为它很容易就被替换了。
Client Access服务器角色
• 备份一个Client Access服务器最好的方法是执行一个文件级备份,它还包括一个系统状态的备份。
Unified Messaging角色
• 大多数与一个Unified Messaging服务器有关的配置数据被保存在Active Directory(AD)里。
• 记住,如果你已经创建了自定义的自动应答或自定义语音提示,你需要备份它们,否则你会丢失它们。而对于任何包含自动应答表名的自动产生的语法文件也是相同的情况。
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。