跳转到主内容

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

Views:
59
Visibility:
Public
Votes:
0
Category:
ndmp
Specialty:
dp
Last Updated:

可不使用  

适用场景

  • 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 启动的转储备份中使用排除项。

 

NetApp provides no representations or warranties regarding the accuracy or reliability or serviceability of any information or recommendations provided in this publication or with respect to any results that may be obtained by the use of the information or observance of any recommendations provided herein. The information in this document is distributed AS IS and the use of this information or the implementation of any recommendations or techniques herein is a customer's responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. This document and the information contained herein may be used solely in connection with the NetApp products discussed in this document.