使用ZWC的MSSQL半群集感知备份

本文适用于 阿曼达企业(AE)

与Zmanda Windows客户端(以下称为ZWC)一起使用的Amanda Enterprise(以下称为AE)可用于获取SQL Server群集的备份。 但是,由于Amanda Enterprise并非完全“集群感知”的,因此存在一些需要注意的限制和必须满足的要求。 ZWC与我们的母公司Carbonite的功能齐全的Windows Server备份程序Carbonite Server Backup共享代码。 因此,有时将“ ZWC服务”或“ ZWC数据库”分别列为“ Carbonite服务器备份控制器”和“ Carbonite服务器数据库”。 完全像这些说明中的ZWC服务一样对待这些Carbonite服务。

设置

ZWC必须安装在群集中的所有节点上。

  1. 将ZWC安装在SQL群集资源的首选(主要)所有者的节点上。
    1. 一个新的注册表项,名为 集群名称 (Type = String)必须在 HKLM \软件\ Zmanda \ ZWC \ 1.0 \ Engine \。 键值必须是SQL群集的名称。
    2. 打开“服务”菜单,然后重新启动Carbonite服务器数据库服务,这将重新启动这两个服务。
  2. 在AE中配置SQL Server备份集。
    1. 可以将主节点上的备份配置为完整备份和差异备份。 请参阅 SQL Server群集中的差异备份 联络一位教师
  3. 将SQL实例移至另一个节点,然后重复ZWC的安装和配置。
    1. 停用新的SQL备份集。 右键单击备份集,然后选择“停用”。
    2. 在所有其他节点上仅配置完整备份。 请参阅 SQL Server群集中的差异备份 联络一位教师
  4. 对群集中的所有节点重复步骤3。
  5. 将SQL实例移回首选(主)节点。

初始设置后在群集节点之间移动SQL实例

如果在初始设置后将SQL实例从主群集节点移至另一个节点,则还必须调整AE和ZWC配置,除非您计划在计划备份之前移回资源。

  1. 首先,停用当前节点上的SQL备份集。
  2. 将SQL实例移到另一个节点。
  3. 在新节点上激活备份集。

SQL Server群集中的差异备份

由于AE并不完全支持群集,因此在群集环境中使用差异备份时必须格外小心。 想象以下情况:

  1. 第一次完全备份是在事务/记录1的节点100(首选所有者)上进行的。SQLServer记录了已经进行了完全备份。
    1. 该备份将包含事务/记录1 –100。类型=完整。
  2. 仍在节点1上的下一个备份是在事务150处进行的差异备份。SQLServer记录已进行差异备份。
    1. 该备份将包含事务101 –150。类型=差异。 对应的“满”是1-100。
  3. 现在,在事务2处将SQL Server移动到节点200并进行备份。 该节点上的AE和ZWC无法识别另一个节点上的备份,因此您必须进行另一个完全备份。
    1. 此备份将包含事务1 –200。SQLServer记录“完全备份”是在事务200上进行的。
  4. 此时,您将SQL移回节点1并在事务250处进行差异备份。SQLServer记录了上次完全备份是在事务200处。
    1. 此备份将包含事务201 – 250。
    2. 但是,此节点上的最后一个完整备份仅包含事务1 – 100。
  5. 现在有一个问题。 备份链中缺少事务。 仅完整备份可以还原。
    1. 在节点1上还原完全备份将只包含记录1 –100。唯一可以还原的差异备份是包含事务101 – 150的备份。事务151 – 250丢失。
    2. 在节点2上还原完全备份将只包含记录1 –200。从节点1的差异备份无法还原到节点2。事务201 – 250丢失。

为避免出现上述问题,我们建议:

  1. 仅在单个主节点上(即在SQL实例群集资源的首选所有者上)使用完整备份或差异备份。
  2. 仅在所有其他节点上使用完全备份。
  3. 如果已备份SQL数据(同时驻留在另一个主节点之外),则在将SQL实例移回主节点时,首先进行的备份必须是完全备份。

如果SQL实例仅在短时间内移至群集的其他节点(例如出于维护目的),则可以通过仅在单个主节点上安装和配置ZWC来简化备份方案。

我们鼓励您阅读MSDN博客上发布的以下文章: 您应该从SQL Server群集备份哪些数据?