循序渐进SharePoint灾难恢复
出处:WindowsITPro 作者:WindowsITPro 时间:2011-5-27 11:25:56
星期天晚上,你接到紧急电话,得知SharePoint服务器停机!经过一番检查,你发现在Web前端服务器上的磁盘阵列已经损坏。这时你一定会叹息,多么希望自己已经做过一次完整的SharePoint场备份。尽管如此,重要数据并未丢失。因为SharePoint的数据存储在一台独立的SQL Server服务器上,而这台服务器依然正常。马上行动起来吧,在周一之前完成工作。此时此刻,我们需要怎么做?
本文将探讨这些问题。这里我探讨的恢复是基于两台服务器所组成的场,但其方法也适用于更大的场。第一台服务器运行所有的SharePoint服务,第二台则运行SQL Server数据库系统。按照本文的意图,我假设你正在运行Microsoft Office SharePoint 2007,当然大部分情况也适用于Windows SharePoint Service。我同样假设你使用Windows身份验证和活动目录。当然,我们的环境不尽相同,所以步骤应该有所差别。本文的末尾,我也会为你提供一些建议,以帮助你更好地保护SharePoint数据资产。
恢复概述
SharePoint将所有的内容和大部分配置存储在SQL Server数据库中。然而,仍有一些配置存储在IIS和各种不同的Web配置文件中。自定义代码通常被存储在默认位置‘C:\Program Files\Common Files\Microsoft Shared\web server extensions\12’,或者全局程序集缓存之中。正如你所看到的,只进行数据库备份并不足以保证顺利恢复。这也许就是最值得注意的,即使许多配置存储在一个配置数据库中,也不能替代SharePoint场备份。
资产评估
让我们回顾一下在恢复过程中需要处理的项目,下面是一些摘要:
- 所有内容数据库(不包含管理中心数据库),共享服务提供程序数据库,以及搜索数据库。
- Web应用程序和设置。这应包括你的门户Web应用程序、SSP Web应用程序和My Sites Web应用程序。弄清楚每一种Web应用程序使用哪个内容数据库。这就是为SharePoint环境做好文档的重要性。
- 服务器场的构建版本,它会告诉你有什么Service Pack或其它更新被应用。可以在你的场关闭的时候获取此信息,打开一个SQL Server查询窗口,选择SharePoint配置数据库,运行SELECT * FROM VERSIONS命令。通常的版本是12.0.0.4518 Original release(RTM)、12.0.0.6219 SP1、12.0.0.6318 Infrastructure Update或12.0.0.6421 SP2。
- SharePoint域账户和密码。确定每个服务所对应的域账户,如果忘记密码,可以在活动目录中重置它们。
- 确认第三方应用程序和SharePoint解决方案,以便重新安装。
- 确认使用物理服务器还是虚拟服务器作为前端Web服务器。
- 确认有MOSS安装介质和许可证密钥。
恢复步骤
现在已经罗列了所有的要点,接下来让我们逐步实现。
- 在新的服务器上安装原来的操作系统版本,切莫升级,尽管这在技术上是可行的,以免为你的恢复工作增加复杂度。尽量保持所有的设置相同,例如服务器名称、IP地址等。
- 在新服务器中将MOSS管理账户添加到本地管理员组。确保此账户也可以登录SQL Server数据库,并添加到Sysadmin服务器角色。
- 从活动目录中删除之前的计算机账户,把新服务器加入域后重新启动计算机。
- 安装IIS。
- 安装与之前服务器相同版本的.NET Framework。如果不太清楚,请安装最新的版本。
- 安装MOSS。首先,以MOSS管理账户登录,运行安装程序。在安装过程中,推荐使用完整选项,便于安装SharePoint所需的所有角色。
- 在创建服务器场之前,安装更新,以符合之前的版本。升级的时候,一定要先升级WSS,再升级MOSS。例如,要构建至版本6318,请按照如下顺序安装:WSS SP1,MOSS SP1,WSS架构更新,MOSS架构更新。在每次升级之后,SharePoint产品和技术配置向导将会启动,请予以取消。
- 更新完毕之后,可以准备建立服务器场。首先,启动SharePoint产品和技术配置向导,创建一个新的服务器场。然后,指定数据库服务器的名称和SharePoint配置数据库的名称。输入MOSS管理账户,点击下一步。接下来,指定服务器场安全设置,并配置SharePoint管理中心的Web端口号和安全设置。点击下一步之后,会显示配置概要,点击下一步继续创建服务器场。
- 开启搜索服务。在服务器场建立后,管理中心会出现在你面前。使用SharePoint管理账户登录系统。
- 开启其他需要的服务。比如Excel计算服务,而WSS搜索服务,则不必要。
- 重新创建Web应用程序。需要被重新创建的有SSP Web应用程序、My Sites Web应用程序(如果适用)和服务器场所使用的其它Web应用程序。请按照如下步骤操作:选择应用程序管理选项卡,选择建立或扩展Web应用程序,再选择建立新的Web应用程序。输入端口和主机标头。大多数情况下,可以保留默认路径。如果此Web应用程序使用SSL,请予以指定。输入应用程序池凭据。大多数情况下,每个Web应用程序以独立的凭据使用各自的应用程序池。最后,更重要的是,输入SQL Server数据库和Web应用程序内容数据库的名称。SharePoint会在IIS中重新创建站点,在新的配置数据库中注册,并链接到已创建的内容数据库。如果之前扩展过任何Web应用程序,例如,为内网配置了外部访问,那么请重新配置。
- 关联内容数据库和Web应用程序。如果存在多个对应Web应用程序的内容数据库,这是必须的。选择应用程序管理选项卡,选择内容数据库,再选择添加内容数据库。保证在上面选择正确的Web应用程序,然后指定数据库名称。
- 恢复SSP。选择管理中心左侧的导航菜单,单击共享服务管理,恢复SSP。输入SSP名称,例如SharedServices1。选择为SSP创建的Web应用程序。如果为My Sites独立使用了Web应用程序,那么请清除使用现有位置对话框。如果有警告提示,忽略并为My Sites选择Web应用程序。接下来,提供SSP服务凭据。输入SSP数据库和搜索数据库的名称。最后,为索引文件位置指定文件夹。这应该被放置在空间充足的磁盘上,默认的C盘并不是一个好的选择。
- 重启IIS。最简单的方法是使用iisreset命令。
- 重新安装第三方应用程序和SharePoint解决方案。这包括自定义筛选器(如索引PDF文件)、自定义Web组件等等。
- 应用额外配置。这是最容易出错的地方,因为SharePoint的配置是多种多样的。下面是一些常见的改动之处:备用访问映射(AAM)、web.config、部署到bin文件夹的代码或全局程序集缓存、IIS配置(例如加载SSL证书)、根目录12下的改动(如功能和站点定义)、Web应用程序策略设置以及传入、传出邮件,总之,管理中心操作选项卡中的一切。
- 抓取内容数据,重建SharePoint索引。由于你的索引文件已经丢失,因此必须重新抓取。在刚刚恢复的SSP上,单击搜索设置,然后选择内容源和抓取任务。对于每个内容源,从上下文菜单中选择开始完全抓取。根据内容的多少,完全抓取将花费数分钟到数天不等。
- 最后, 对SharePoint站点进行完全测试,以确保正常工作。从部分页面到整个站点,都有可能出现错误。这可能是由于配置不当或者文件丢失造成的。
建议
正如你所看到的,如果没有备份,恢复过程会变得异常痛苦。下面是一些建议,帮助你降低风险,以便快捷、简便地恢复数据。
- 定期执行SharePoint服务场备份。可以通过管理中心或stsadm命令行工具手动备份。Stsadm命令行工具的优点是可以通过计划任务运行。下面是使用stsadm进行服务器场完整备份的基本语法:
- stsadm -o backup -directory -backupmethod full
- 此命令必须在场中的一台SharePoint服务器上运行,建议使用SharePoint管理账户。SQL Server服务账户必须对UNC共享和NTFS文件夹拥有更改权限。
- 由于场备份并非包罗一切,所以也应该备份inetpub\wwwroot文件夹、12根目录和IIS(Windows Server 2003使用iisback.vbs,Windows Server 2008使用appcmd.exe)。
- 更强大、更细粒度的恢复方法,请考虑第三方备份软件。
- 如果要升级服务器场,请在升级之前或之后进行场备份。推荐在升级之后进行备份,因为之前的备份可能难以恢复。
- 维护一个变更记录。只需一个简单的文档,即可记录服务器场的变动,不要将此文档存储到SharePoint之中。
- 鉴于环境的要求,可以建立一个备用场。
- 进行备份、恢复测试。这样做的目的是保证备份可用,并练习如何进行场恢复。
- 部署自定义代码时,推荐使用SharePoint解决方案。将自定义更新部署到场的时候,SharePoint解决方案是最好的办法。
- 使内容数据库保持较小的体积。内容数据库越大,恢复耗时越长。通常情况下,建议每个内容数据库不超过200GB。
- 为数据库使用直观的命名约定。由于需要把内容数据库和Web应用程序相关联,直观的命名约定会让人一目了然。