最近开始搞Exchange邮件及其他应用系统的备份和容灾方案。想到一些中小型企业对于自身的数据安全不是太重视,同时出于成本考虑,也很难上一台相对完善的备份系统。出现问题后,KB的还是我们这些“攻城狮”和“民工”。因此在这里给大家分享一下如何使用Windows Server Backup对Exchange进行备份与恢复的方法。在不增加额外成本的前提下这个还是比较实用的。废话不多说了,走起。。。
在windows2003和Exchange2003时,IT人员可以直接使用系统内置的NT backup来作为Exchange的备份还原工具。到了windows2008和Exchange2007、2010时代,由于没有了NT backup,开始逐渐采用第三方的备份软件进行备份管理,如symantec的NBU、BE或者微软的DPM等。
在Windows2008和Exchange2010中,虽然windows2008中没有了NT backup工具,但是我们可以使用全新的windows server backup工具搭配Exchange2010全新的Recovery Database(RDB)功能,轻松完成用户邮箱数据库的备份与还原工作。
需要注意的是Exchange2010不再支持对数据库的流式备份,只支持VSS备份;Windows Server Backup 对DAG成员不支持VSS Write(即不支持对DAG副本备份还原)。
一般来说,使用Windows server backup对Exchange2010的主动节点进行备份即可。DAG本身就是一种数据库备份技术,一般来说对被动节点进行备份的需求并不高。同时建议只在小规模的Exchange环境中使用,大中型Exchange环境建议考虑第三方的备份工具。
一、 安装Windows Server Backup
在Exchange2010 Mailbox服务器上安装Windows Server Backup。在服务器管理器中右键点击功能,选择添加功能。
选择Windows Server Backup。
点击“安装”。
二、禁用Exchange服务器的VSS Writer(没有使用DAG的可跳过)
如果Exchange服务器加入了DAG组,需要在Exchange服务器上禁用VSS Writer。
禁用的方法如下图所示,首先在Exchange服务器上运行regedit,定位到HKEY_Local_MachineSoftwareMicrosoftExchangeserverv14replayparameters,选择新建一个DWORD键。
键名设置为EnableVssWriter,键值设置为0。
然后将Exchange服务器上的Microsoft Exchange Server Extension for Windows Server Backup服务类型设置为自动,启动此服务。
三、备份Exchange邮件数据库
Exchange服务器中有一个数据库mdb01,mdb01数据库在两台Mailbox服务器上都有一个副本,mdb数据库中有一个用户邮箱user2。
启动Windows Server Backup,我们使用Windows Server Backup备份数据库。
选择“一次性备份”。(生产环境中一般会设置备份计划)
选择“其他选项”。
自定义备份内容。
本例中我们备份mdb01数据库所在的文件夹即可。生产环境中,一般是直接备份Exchange数据库所在的卷。
点击“高级设置”
VSS设置要设为“VSS完整备份”,这样备份完成后Exchange才可以自动截断事务日志。如果不能截断事务日志,事务日志会增长得非常迅速,有可能导致磁盘空间不足。
确认要备份的内容无误,点击“下一步”继续。
备份可以保存在服务器本地的卷,也可以保存到远程共享文件夹。
本例选择本地的 E盘
注: 一般来说,Window Server Backup不允许将备份结果存储到源数据所在的卷。如果一定要保存到源卷,那么需要在Exchange的服务器中的注册表HKEY_Local_MachineSystemCurrentControlSetServiceswbengineSystemStateBackup中添加一个名为AllowSSBToAnyVolume的键值,键类型为DWORD,内容设置为1。
点击“备份”。
备份完成。
四、用户邮箱环境准备
备份前user3的邮箱内容如下图所示,邮箱中共有2封邮件。
备份后user3对邮箱做了误删除操作,邮箱中只有一封邮件了。
备份后user3又收到了一封新的邮件
我们的测试需求是,user2需要从之前的备份中恢复被误删除的邮件,同时要保留备份后收到的新邮件。要解决这个问题,需要利用Exchange2010的邮箱恢复数据库,将user2之前备份的邮箱内容和当前的邮箱内容进行合并。
五、创建RDB恢复数据库
备份完成后,不能直接用备份恢复当前的邮件数据库,这样会导致所有用户的邮箱内容都受到影响。正确的做法是利用备份创建Exchange的恢复数据库,然后将恢复数据库中的用户邮箱和当前用户邮箱内容进行合并。
Windows Server Backup的备份并不能直接创建RDB数据库,需要将备份还原到备用位置,然后利用EMS命令创建出RDB数据库。
首先在Exchange的EMC控制台中暂停DAG复制。在mdb01服务器上选择“搁置数据库副本”。
选择“是”。
在Exchange服务器上运行Windows Server Backup,选择“恢复”。
选择恢复到此服务器。
选择合适的备份数据进行恢复。
选择恢复“文件和文件夹”。如果备份时包括了Exchange2010所在的卷,则还原时可以选择“应用程序”类型。无论选择恢复应用程序还是文件和文件夹,对恢复的结果没有影响。
选择要进行恢复的文件夹
选择将备份还原到C:RDB目录。
点击“恢复”。
恢复完成,点击“关闭”。
恢复数据已经被复制到D:RDB目录。
在Exchange的EMS中运行
New-MailboxDatabase -Recovery -Name "RDB" -Server BJRENNEX03 -EdbFilePath "e:rdbmdbmdb.edb"
–LogFolderPath "e:rdbmdb"这条命令是在Exchange服务器上创建一个名为rdb的恢复数据库,数据库文件是e:rdbmdbmdb.edb,数据库日志则位于e:rdbmdb目录。
注意提示:如果要mount恢复数据库,要确保恢复数据库出于干净关闭状态。
这是因为我们新建的数据库RDB是连接的现有的Exchange邮箱数据库。
六、合并邮件
恢复数据库在mount之前,要确保数据一致性。正确的做法是在挂载数据库之前,将数据库日志commit到数据库。
打开恢复数据库日志文件夹,可以看到日志文件都以E04开头。
在Exchange服务器上打开Exchange Management Shell,进入RDB数据库目录,执行
eseutil.exe /R E04 /I /D
这条命令是将rdb中的日志commit到rdb中的数据库文件。
Commit日志后,在Exchange的EMS中运行
eseutil.exe /mh E:RDBmdbmdb.edb 来查看数据库的状态
如果State显示为Clean shutdown,则数据库处于干净关闭状态;如果State显示为Dirty shutdown,则数据库还需要使用Eseutil /r进行软修复或使用eseutil /p进行硬修复。
完成后,打开EMC管理控制台对恢复数据库RDB进行挂载
挂载恢复数据库之后,在Exchange服务器的EMS中运行
restore-mailbox –Identity user3 –RecoveryDatabase rdb
这条命令的作用是将恢复数据库中的user3邮箱内容和当前的user3邮箱进行合并。
命令执行完成后
接下来一user3身份登录OWA,查看user3的收件箱。
可以看到恢复了备份后误删除的邮件,同时也保留了备份后收到的新邮件。
最后对mdb数据库的副本执行恢复数据库复制的操作,至此,数据库还原完成。
此种方式结合windows server backup的备份计划完全能够满足小规模exchange环境的邮件备份恢复操作,而且不需要额外的成本投入,嘻嘻^_^
不过对于大中型exchange环境,建议还是上一套第三方的备份或者容灾系统,毕竟邮件系统对于企业来说是相当重要的。
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。