使用DPM 2010还原SharePoint - 汲取的教训

[原文作者Chris Butcher]

大家好,我是Chris Butcher,好久不见。自从我装了Data Protection Manager 2010(简称DPM 2010),我好像就没花什么时间研究DPM 2010服务器,而是花了大量的空闲时间在其他项目的工作上(比如我的SharePoint场)。但是现在我发现仅仅了解SharePoint是很危险的。这句话最近得到了证明,那时我删除了一个我一直在工作的站点,然后我就变成了“备份管理员”的角色,我要在任何人意识到站点已经消失了之前把它还原过来。

这看起来是个很简单的任务,但是我遇到了一些麻烦。因为这是SharePoint 2010,还原好像非常简单直接,并且我不需要创建还原场(Recovery Farm)。

我遵循不使用还原场(Recovery Farm)的过程一步步做下来,输入了临时服务器的信息,这个服务器将保存内容数据库(Content Database)并从中取得我需要的数据。

我完成了整个过程,没有发现错误,然后出现了等待的界面,好像它正在尝试还原。

几分钟后,任务失败并且出现了错误信息:DPM不能与<临时服务器名字>上的保护代理(Protection Agent)通信,因为代理没有响应。(ID 43)

我决定自己研究这个问题,看看能够发现什么。所以我在监控标签(Monitoring Tab)中进一步查看了这个失败,看看有没有对我有用的信息。

虽然我们从这里多得到了一些信息,但是它真正告诉我的东西和前面是一样的,就是通信失败或者代理没有响应。它只是增加了ID 3111和内部的错误代码:0x8099090E(看起来映射到一个响应超时错误)。所以这时我采取了建议的动作。

  1. 查看临时服务器(SQL01)上的应用和系统事件日志,我看到一些事件记录了DPMRA出现了错误,但是却没有表明为什么会出现这个错误,因为其他的事件记录都没有问题。
  2. 我检查了临时服务器(SQL01),发现它与DPM服务器有完整地连接。
  3. 我把环境中的防火墙全部关闭了,并且这个服务器全部在同一个段(Segment)中,没有交换机或者其他必须通过其进行通信的设备。
  4. 我检查了临时服务器上的DPM 保护代理服务(DPMRA),发现它已经在运行了。

为了确保上述的所有内容是可靠的,我对临时服务器测试了一些普通文件的备份和还原,发现它工作正常,所以我必须要更加深入地研究。

我决定查看临时服务器(SQL01)上的日志,看看发生了什么。我进入了用来存放DPM创建的所有日志的Temp文件夹(C:\Program files\Microsoft Data Protection Manager\DPM\Temp),按照时间排序,让最新的日志出现在最上面。然后我回到DPM服务器,并且再次尝试还原。当最后在DPM服务器上发生失败的时候,我注意到DPMRA*.errlog创建了一个a.crash文件,记录了当时的信息。

这时候我似乎看到了希望,所以我把它放到记事本中,滚动到底部来看看它记录了什么错误。在文件的底部,我看到了很多类似的错误:

Invalid path:\\?\UNC\sql01.contoso.com\restores\DPM_bf6000cc_d835_47f8_86a5_bfa3e703bcd2

这行记录的出现就像我儿子在看他最爱的节目时我经常听到的那样……“线索!线索!”

看起来好像是在使用我创建的共享文件夹时出现了问题,虽然它对所有人都设置了完全控制的权限。所以我又回到前面的步骤,使用驱动器路径来做还原。

果然,数据开始流动,我的站点被还原了,并且开始运行。我想我得到了一个教训,并且从现在起可以让你的SharePoint正常工作了。但是如果它们需要还原,现在我知道需要为临时服务器使用一个驱动器路径而不是共享文件夹。

注:原文地址https://blogs.technet.com/b/dpm/archive/2011/03/02/restoring-a-sharepoint-item-with-data-protection-manager-2010-lesson-learned.aspx

[本博文仅供参考,微软公司对其内容不作任何责任担保或权利赋予]