存储 频道

卷影复制服务(VSS)原理介绍

  快照影子副本

  克隆和快照之间的最重要区别是快照是不完全独立于原始数据。一般地,通过在一个点及时地定义一个标记来创建快照,同时确保数据能够被及时回滚到那个点。您能够保持多个快照,并且快照与克隆相比要求更少的空间。

  能够以几种不同的方法来创建快照。最常用的方法是copy-on-write。

  copy-on-write 方法在一个点及时地定义一个快照,接着监视原始的数据集是否更改。如果发生更改,更改被记录或跟踪在单独的位置。随着时间的过去,因此,快照的大小会继续增长,尤其当一个快照是由快速更改数据集组成。

  快照管理器提供了数据集的不同视图,通常好象它们是数据的不同完整备份。根据需要快照管理器也能够切换到数据的任何可用的视图,这样,在某种意义上,恢复数据。

  记住快照不是真正独立于数据的备份。如果原始数据破坏了的话,快照数据是没有用的因为它只包含了 数据的最近的修改。

  这种备份方法给您提供了回滚的机制,但不是真正的数据备份。该备份方法的好处是您只写入更改,而不是所有的数据,到磁盘,因此快照的实际创建发生的非常快。缺点是如果您的原始数据损坏的话您没有可恢复的备份。

  因为快照备份不提供真正的备份,大多数方案部署了额外的步骤将快照备份流出到磁带。流出到磁带对您的生产数据库LUN 的I/O 增加了显著的连续负载。

  在常规操作期间,对于加载Exchange 数据库的磁盘的I/O 负载是非常随机的,但是对于流备份来说I/O 负载是非常连续的。持续负载和随机负载的混合使的缓存很难继续保持高效,并且会导致额外的延迟并使最高吞吐量大大减少。如果您计划完全依赖快照作为您的Exchange Server 2003 的备份源,这是要考虑的一个重要因素。

  许多Exchange Server 管理员计划减少该问题的影响通过在非高峰时间制定流备份。尽管这是一个有效的策略,但什么是真正的非高峰时间也许并不很明显。

  除了响应客户端的请求,Exchange 数据库也要时间来执行在线维护。管理员能够计划该维护的时间,但经常要求一天的几个小时才能完成。即使终端用户负载很低,数据库也许忙于维护任务。您也必须考虑额外服务器负载要求用来准备或执行备份。作为非常好的实践,避免备份窗口与在线维护或高峰用户需求时间重叠。

  要决定数据库活动的高峰时间是什么,您必须通过至少几天的基线时间段真正描绘出您的数据库负载。

  Exchange 请求者和校验与完整性检查

  Exchange 数据库文件被分成了一系列相同大小的页面。这些页面中的每个都包含了验证页面上Exchange 数据的完整性的校验。如果页面上的任何数据在Exchange 服务器的控制之外发生了更改,例如,磁盘或控制器错误,校验检查将检测到该问题。Exchange 事务日志文件也部署了校验计划,但它不是基于页面的。因此,事务日志文件的损坏也能够被检测到。

  Microsoft 支持流备份API来执行Exchange 数据库的备份当它们运行的时候。流API 部署在所有版本的Windows 和Exchange Server的Windows Backup 中以及许多非Microsoft 备份应用程序中。

  注意:您必须在运行Windows Server 的计算机上安装Exchange 管理程序,来让Windows Backup 执行Exchange 在线流API 备份。

  本质上,流备份在将数据库拷贝到媒介上的时候一次拷贝一页,非常整齐。在备份的期间,每页的校验被验证,只有当数据库中的所有页都通过验证,备份才算成功完成。备份中事务日志文件也被验证。这保证特定数据库的最后一次备份是好的。

  当影子副本被创建的时候没有机会去验证数据库或事务日志的页完整性。因此,必须在影子副本被创建后执行校验与完整性检查。Microsoft 指导方针提供了在请求者上执行该验证的职责。

  请求者,或备份应用程序,对数据库和日志文件运行校验与完整性检查在备份完成之后。这对数据库和事务日志逻辑单元号(LUN)来说是非常重的流I/O负载。请求者通过运行执行Exchange Server 数据库工具 (Eseutil.exe) 来执行校验与完整性检查。它读取整个备份文件集来验证每个数据库页面和事务日志文件的单独完整性。

  在缺省情况下,Eseutil.exe 运行和存储读数据一样快,对于通常的独立于生产LUN的克隆这是最优的。然而,不是所有的VSS 备份集都独立于原始数据。

  有时候,它也许能够帮助降低校验与完整性检查的I/O 率通过增加人为的暂停在一组I/O 数字之后。通过使用Exchange Server 2003 加上 Service Pack 2,您能够增加下面的开关来增加1秒钟的暂停在一组I/O数字之后。

  /p

  这里的x 表示在经过多少I/O之后暂停将发生。例如,下面的命令增加1秒钟的暂停在每100个I/O之后:

  eseutil /K /p100

  I/O 减速部署只针对于数据库文件验证,不适用于事务日志文件验证。

  当策划您的备份方法的时候,您必须仔细考虑和计划由校验与完整性检查创建的I/O 负载。该验证是备份过程的一个重要部分不能被忽视。

  快照不能完全独立于生产LUN。因此,对快照运行校验检查肯定会影响生产LUN。克隆上的校验检查可能会或可能不会影响生产系统,取决于克隆保存在哪儿和它是如何被访问的。

  您必须仔细的监视I/O 负载和验证过程对您的终端用户和平常数据库维护的影响。仔细地使用Eseutil.exe 减速机制也许也能够让您更好地掌握验证性能和其他I/O 需求。

0
相关文章