跳转到主内容

NDMP转储和还原阶段问题描述

i
Knowledge Base guidance

This article may include metadata, visibility, validation state, and related support guidance.

可不使用  

适用场景

  • Data ONTAP 7 模式
  • 集群模式 Data ONTAP 8
  • ONTAP 9

问题解答

术语

转储阶段的问题描述 中使用的一些关键术语如下:

  • 索引节点:
    • 文件系统上的每个文件都有一个关联的标识符。
      • 此 ID 称为索引节点。
    • 文件系统通常会预先分配索引节点。
    • df -i ONTAP 中的输出显示了卷的已用索引节点总数和可用索引节点总数。
    • 在本文档中,我们将使用术语 inode 和 file 可互换使用。
  • 索引节点文件:
    • 这是文件系统上的一个特殊文件,其中包含卷中所有索引节点及其详细信息的列表。
  • 索引节点映射:
    • 一个元素数与卷上的索引节点数相同的阵列。
    • 索引节点编号用作其在阵列中对应条目的索引。
    • 任何条目中的值为 1 表示相应的文件将出现在给定备份中。
  • 偏移映射:
    • 一个元素数与卷上的索引节点数相同的阵列。
    • 索引节点编号用作其在阵列中对应条目的索引。
    • 如果备份中存在索引节点,则其对应条目包含磁带上的物理地址,用于标记备份映像中文件数据的开头。
转储阶段
  • 对于由 NDMP 启动并启用了文件历史记录的备份,转储必须在第 III 和第 IV 阶段生成文件历史记录,并在第 IIIB 阶段生成偏移映射。
  • 生成文件历史记录和偏移映射会在这些阶段为 NDMP 备份增加一些成本,但允许 NDMP 提供宝贵的功能,例如备份索引编制, DAR 和增强的 DAR 。
  • 有关文件历史记录的详细信息,请参见 常见问题解答: NDMP 文件历史记录。

第一阶段

  • 转储会生成需要备份的文件列表。
  • 此阶段的输出称为节点映射。
  • 索引节点映射包含卷上每个索引节点的条目。
  • 要备份的索引节点的相应条目设置为1、而不要备份的索引节点的条目设置为0。

注意: 其中的Inode越多、完成Phase I所需的时间就越长。  例如、一个具有10亿个Inode的卷所用时间明显长于一个具有1000万个Inode的卷所用时间。

第二阶段

  • 转储会将阶段I中生成的节点映射写入磁带。

第三阶段

  • 转储会将备份数据集的整个目录结构写入磁带。
  • 如果启用、则会在此阶段生成目录的文件历史记录并将其传递给备份应用程序。
    • 阶段三:
      • ACL阶段:在此阶段、转储会将数据集的ACL备份到磁带。
      • 如果数据集中的许多文件都具有ACL、则此步骤可能需要更长时间。
    • 阶段IIIB:
      • 只有打开了文件历史记录的NDMP备份才会执行此阶段。
      • 此阶段的输出为偏移映射。
      • 对于任何给定备份上的每个文件、偏移映射都包含磁带上标记备份映像中文件开头的物理地址。

注意:  目录索引代码越多、完成阶段III所需时间就越长。  此外、由于转储会遍历整个目录树、因此、与更简单的目录结构相比、读取更深、更宽或同时读取这两种目录结构可能需要更长时间。

第四阶段

  • 此阶段会将实际文件数据转储到磁带上。
  • 此阶段按索引节点顺序运行。
  • 因此、可以保证在较大的Inode数之前找到较小的Inode数。
  • 如果启用、则在此阶段会生成文件的文件历史记录并将其传输给备份应用程序。

第五阶段

  • 这与第4阶段A的重复。
  • 这是NetApp本机转储中的传统方法。
  • 由于向后兼容性的原因、此阶段会保留下来、但在现代版本的ONTAP中、此阶段不可用。
还原 阶段
  • 第一阶段:
    • 整个备份映像的目录结构将读取到索引中,文件信息将读取到索引中。
  • 第二阶段:
    • 根据在第 I 阶段创建的索引和索引,在文件系统上创建为还原选择的所有文件和目录 
    • 由于还原操作的性质、在 浏览或列出文件系统时、在第二阶段创建的文件和目录将显示为零字节
    • 零字节文件和目录条目将更改为非零值、在恢复进入阶段III后、可能会观察到大小增加
  • 第三阶段:
    • 系统将从备份映像中读取各个文件的内容、并 使用数据填充在阶段II中创建的树结构。 
qtree/Volume dump 与非 qtree 子目录转储
  • 根据用户是启动卷 /qtree 的备份还是非 qtree 子目录 / 子树的备份,转储的第一阶段的行为会有所不同。
  • 对于子目录转储,必须检查指定备份根目录下的每个目录和文件,以确定是否应将其包含在备份中。
  • 此操作非常耗时,尤其是当子目录包含数百万个索引节点(文件)时。
  • 对于基于卷和 qtree 的备份,无需通过整个目录树来确定需要备份的内容。
  • 相反, ONTAP 可以通过备份快照的索引节点文件。
  • 只需查看索引节点文件,即可确定该索引节点是否存在以及它是否属于给定 qtree/volume 。
  • 与目录遍历相比,使用索引节点文件的过程更快,更高效。
  • 索引节点文件中的信息不足,无法对非 qtree 子目录转储执行相同的操作,因此建议尽可能备份 qtree 和卷,而不是备份非 qtree 子目录。
  • 请注意,使用排除 NDMP 环境变量也会导致 qtree 和卷转储执行速度较慢的目录遍历方法。
  • 如果要考虑备份速度,请避免在 NDMP 启动的转储备份中使用排除项。