引言
本文的第二部分介绍了Exchange 2010的诉讼保留功能,以及利用邮箱搜索功能进行邮件项目恢复的详细步骤。第三部分将重点介绍滞后数据库副本的作用及其具体的配置方法。
滞后数据库副本
Exchange 2007 SP1引入的备用连续复制(Standby Continuous Replication ,SCR)功能,使得用户可以从一个独立的邮箱数据库、CCR(Cluster Continuous Replication,群集连续复制)群集或SCC(Single Copy Cluster,单个副本群集)群集,将一个或多个数据库复制到一个独立的目标邮箱服务器或备用群集(仅安装了被动群集邮箱角色的CCR或SCC故障转移群集)。SCR既可用于在本地数据中心复制存储组,也可用于远程的二级或备份数据中心的服务器复制存储组。
除了能够将数据复制到每个存储组的多个目标,SCR还引入了重播滞后时间和截断滞后时间的概念。利用重播滞后时间,用户可以配置Exchange复制服务,使之在已从SCR源复制到SCR目标的日志文件重播之前等待一段指定的时间。重播滞后时间的默认值是24小时,最多可配置为7天。设置重播滞后时间是为了在位于SCR源服务器的主动数据库副本遭遇逻辑错误时,能够及时从较早版本恢复数据库。这样,用户就可以在发生逻辑错误之前停止复制,从而防止数据丢失。
截断滞后时间可用于指定Exchange复制服务在截断(删除)已复制到SCR目标服务器的日志并重播到数据库副本之前应等待的时间。截断滞后时间最高可设置为7天,最低为0秒。利用截断滞后时间,用户可以从影响SCR源服务器日志的故障中恢复。
Exchange 2010数据库可用性组(Database Availability Groups ,DAG)同Exchange 2007 SP1一样,也支持重播滞后时间和截断滞后时间。虽然它是通过Set-MailboxDatabaseCopy命令行进行控制,但实际上,它们的工作方式几乎相同。
在新版本中,功能得到了进一步改进。例如,现在,重播滞后时间最高可设置为14天,而不是以往Exchange 2007 SP1版本中的7天。同时,与Exchange 2007 SP1不同,Exchange 2010中的重播滞后时间不再有50个日志文件的硬编码重播滞后(即使重播滞后时间的值设置为0秒)。
默认情况下,重播及截断滞后时间都是禁用的,如图1所示。
1:邮箱数据库的缺省重播滞后时间和截断滞后时间
图1:邮箱数据库的缺省重播滞后时间和截断滞后时间
Exchange 2010设置重播滞后时间及截断滞后时间的目的与Exchange 2007 SP1中的SCR大致相同,都是为了避免数据库逻辑损坏和存储逻辑损坏。
通常情况下,由于组织拥有邮箱数据库的多个非滞后副本,再结合单项恢复及保留策略的应用,一般不需要滞后数据库副本。滞后数据库副本的优势仅体现在极少数环境中,如组织遇到逻辑损坏特别是存储逻辑损坏的情况。
大量的数据损坏或者是在用户预期之外特定的添加、删除、修改发生时,会导致存储逻辑损坏。存储逻辑损坏通常由第三方服务器或客户端应用程序对数据库执行MAPI操作引起,并且会导致数据损坏或大量数据丢失。虽然单项恢复可以对多数的逻辑损坏提供保护,但在少数情况下,通过滞后数据库副本恢复数据比使用单项恢复功能更有意义。
滞后公用文件夹数据库
由于在Exchange 2010中不能使用连续复制保护公用文件夹数据库,因此无法配置滞后公用文件夹数据库副本。
但是,用户可以改用传统的公用文件夹复制机制结合已删除项目保留窗口期限来保护公用文件夹。需要注意的是,公用文件夹数据库不使用单项恢复功能,而是使用Exchange 2007及Exchange早期版本中使用的已删除项目保留功能。
数据库复制和日志截断
如果用户拥有一个以上的邮箱数据库副本,日志截断的作用与只有一个数据库副本时截然不同。Exchange 2010中的日志截断功能与Exchange 2007中基于群集的群集连续复制(CCR)非常相似。这种日志文件的截断取决于数据库副本的重播滞后时间和截断滞后时间
下面举例说明。如果用户有同属于一个邮箱数据库的三个非滞后副本,只有满足下列条件,保存主动数据库的服务器上产生的日志文件才会被截断:
•所有日志文件已被重播到两个被动数据库副本
•数据库/日志文件已由Exchange备份应用程序备份,或已启用邮箱数据库的循环日志记录。
•日志文件数量必须低于该数据库的检查点(即用于恢复的日志文件的最低数量)
如果除了三个非滞后数据库副本之外还有一个滞后副本,还必须符合以下条件:
•日志文件必须在配置重播滞后时间和截断滞后时间之前创建
•日志文件必须已在主动数据库副本上被截断
启用连续循环日志记录
选择无备份的模式(事实上,这种说法并不规范,因为滞后数据库副本可以视为基于时间点备份)时,日志文件将不会被截断。正如前文所述,这个操作通常由备份解决方案完成。因此,在这种情况下,对所有存储在邮箱服务器上的数据库启用循环日志记录变得尤为重要。为实现这一目的,分别打开数据库的属性页,点击“维护”(Maintenance)并选中“启用循环日志记录”(Enable circular logging),如图2所示。
图2:启用循环日志记录
需要注意的是,对一个单独的受DAG保护的邮箱数据库和不受DAG保护的邮箱数据库启用循环日志记录差异明显。当对受保护的数据库启用循环日志时,使用的是连续循环日志。
配置滞后数据库副本
本文示例中,有12个邮箱数据库,每个数据库有三个副本,每个数据库副本分别存储于自己的7200转SATA级独立磁盘。换言之,示例中没有使用RAID或JBOD的存储方式。此外,没有对数据库采取按时间点备份。
为简单起见,只为数据库配置一个名为MDB01的滞后副本。首先,将存储滞后数据库副本的邮箱服务器添加到DAG:打开Exchange管理控制台,展开“组织配置”(Organization Configuration),选择“邮箱”下的“数据库可用性组”标签页,右键点击该DAG,在上下文菜单里选择“管理数据库可用性组成员”(Manage Database Availability Group Membership)。这时,将打开如图3所示的向导页。
图3:将存储滞后数据库副本的邮箱服务器添加到DAG
点击“添加”,然后选择添加到DAG的邮箱服务器并确定。
图4:选择要添加的邮箱服务器
几分钟后,向导将向DAG中添加新的邮箱服务器,如图5所示。
图5:邮箱服务器添加成功
将滞后数据库副本添加到MDB01之前,先查看一下MDB01的设置,可以运行以下命令:
Get-MailboxDatabase MDB01 | FL
图6:各个数据库副本的重播滞后时间和截断滞后时间
从图中可以看出,三个数据库副本分布在三个邮箱服务器中,其中没有滞后数据库副本。运行下列命令可以添加滞后数据库副本:
Add-MailboxDatabaseCopy MDB01 –MailboxServer E2K10EX10 –ReplayLagTime 14.00:00:00
图7:播种新的数据库副本
这时,MDB将播种到邮箱服务器E2K10EX10,需要的时间视数据库大小而定。此外,配置的滞后时间为最大值14天。
配置滞后数据库副本后,产生于主动数据库副本的所有日志文件将被复制到两个非滞后数据库副本及滞后数据库副本。通过Exchange管理控制台查看MDB01,可以看到,滞后数据库副本的重播队列长度增加。在图8中,已有422个日志文件复制到滞后数据库副本,并且每个日志都会在重播队列中保存14天。
图8:重播队列中的日志
从图9和图10可以看到,滞后数据库副本的EDB文件比非滞后数据库副本的要小,这是因为上述的422个日志文件已经被重播到滞后数据库副本。
图9:滞后数据库副本的EDB文件
图10:主动数据库副本的EDB文件
阻止滞后数据库副本激活
为阻止数据库被激活,可以使用激活策略。使用Exchange管理控制台不能对此进行设置,但可以通过Exchange命令行管理程序运行Suspend-MailboxDatabaseCopy命令实现这一目的。该命令通常用于挂起数据库副本的复制,但如果带有-ActivationOnly参数运行此命令,将会阻止数据库副本转变为主动数据库副本。
在本文示例中,如果要阻止与MDB01相关的滞后副本在故障转移期间被激活,可以使用下面的命令:
Suspend-MailboxDatabaseCopy –Identity MDB01E2K10Ex10 -ActivationOnly
图11:阻止数据库副本被激活
运行带有ActivationOnly参数的命令行程序时,使用下列命令才能激活数据库副本:
Resume-MailboxDatabaseCopy –Identity MDB01E2K10EX10
图12:解除对数据库副本激活的阻止
如果一个邮箱服务器专门用于存储滞后数据库副本,要阻止某个特定DAG成员上的所有数据库被激活,不需要对服务器上的所有滞后数据库副本运行前面所提到的命令。在服务器级,可以运行一个类似的命令。如果要阻止DAG成员,使用带有DatabaseCopyAutoActivationPolicy参数的Set-MailboxServer命令即可。
例如:如果要阻止DAG成员E2K10EX10的任何数据库副本被激活,可运行下列命令:
Set-MailboxServer –Identity E2K10EX10 - DatabaseCopyAutoActivationPolicy Blocked
图13:阻止某个DAG成员被激活
本文的第四部分将介绍如何使用滞后数据库副本从一个时间点恢复邮件项目。