Avamar 空间回收过程 — 第 1 部分:垃圾数据收集

Summary: 本知识库文章介绍了 Avamar 空间回收过程的第一部分。这称为垃圾数据收集。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

本文是一系列中的第一篇文档,其中记录了 Avamar 如何回收 GSAN 内部和硬盘上的空间。


当前的垃圾数据收集实施与 Avamar v7.0 一起引入,其设计基本保持不变。

垃圾数据收集的作用是什么?

垃圾数据收集是 Avamar 回收用于存储备份数据的空间的过程的第一个阶段。

它在 cur 目录上运行,并通过删除任何备份不再引用的数据区块来释放 GSAN 中的空间:

  • 如果可以在索引中查找数据,则表示数据将被“定义”。
  • 如果数据作为备份的一部分存在(即哈希存在于用户核算系统、复合条带或目录元素中),则引用数据。

通过垃圾数据收集回收的空间在 运行处理 后才能重复使用。在每日计划的垃圾数据收集完成后,立即运行处理。请参阅 Avamar 空间回收过程 — 第 2 部分:正在处理


垃圾数据收集何时运行?

    垃圾数据收集在维护窗口开始时运行,在检查点/hfs/检查点周期之前运行。在此期间,系统传入备份应受到限制,因此垃圾数据收集可以在不加载系统的情况下运行。


    垃圾数据收集的运行时间是多少?

    默认情况下,垃圾数据收集将运行 4 小时。如果两次通过在此时间内未完成,则下一个垃圾数据收集的运行时间将增加 15 分钟。这将继续,直到两次通过成功完成,或达到 7 小时(420 分钟)的默认限制。
     
      是什么可以防止垃圾数据收集成功运行?

      下面列出了常见问题。某些文章可能需要在戴尔支持网站上查看身份验证。


      垃圾数据收集的工作原理

      步骤 1 — 构建参考计数表 (TORC):

      垃圾数据收集读取用户核算系统中的条目、复合条带和目录元素,以构建参考表计数 (TORC)。
      在 TORC 中,垃圾数据收集会记录系统上的所有哈希以及引用每个哈希的次数。

      步骤 2 — 阅读索引:
      TORC 完成后,每个节点都会将其单个索引条带的子集加载到内存中。读取的条带数由 gccount 参数定义。对于索引中定义的每个哈希,垃圾数据收集会在 TORC 中查找哈希,以检查是否引用该哈希。

      • 如果索引和 TORC 中都存在哈希,则无需执行任何操作。TORC 中的每个哈希的引用计数至少为 1,因此哈希是定义和引用的。
      • 如果哈希存在于索引中,但 不在 TORC 中,则定义但不引用哈希,因此可以删除。

      提醒:如果哈希存在于 TORC 中,但 不在索引中,这将是一个数据完整性错误(引用但未定义哈希)。  这会导致 hfscheck 故障。

      步骤 3 — 删除未引用的哈希:
      正如我们前面提到的,未引用的哈希不是任何备份的一部分,因此可以安全地从 Avamar 中删除。为此,垃圾数据收集:

      1. 删除索引中的条目。
      2. 将区块标头描述符 (CHD) 中的哈希条目设为零。CHD 定义单个区块在条带容器内的位置。

      Avamar 已将哈希占用的区域标记为空。出于性能和或容量原因,在此阶段不会删除数据。

      步骤 4 — 更新 TORC:
      如果删除的垃圾数据收集区块是复合区块,则必须更新 TORC。
      回想一下步骤 1,TORC 中的引用计数包括由复合条带(包含复合区块)进行的引用。
      由于已删除复合区块,我们可以将 TORC 中的引用计数减去该复合区块引用的任何哈希数。
      垃圾数据收集通过在复合中读取来查看它引用的哈希,然后更新 TORC 来执行此操作。

      步骤 5 — 阅读下一组索引:
      垃圾数据收集从内存中卸载上一组索引条带,然后加载新集。
      对于这些新的索引条带,将重复步骤 2、3 和 4。
      读取所有索引条带后,将删除 TORC 中具有 0 个引用(得益于步骤 4)的任何数据区块(称为“原子”区块)。

      步骤 6 — 启动新通过:
      读取所有索引后,垃圾数据收集将启动新通过。
      所有索引条带都会重新读取,查找由于我们之前的通过而不再引用的数据。

      这是必需的,因为哈希不是以逻辑顺序读取的,而是按它们存储在索引中的顺序进行读取。
      垃圾数据收集不能确定以最佳顺序查找哈希。哈希可以保留引用,直至通过结束。

      在大多数 Avamar Server 环境中,两个垃圾数据收集传递可以舒适地保持“稳定状态”容量。
      垃圾数据收集将执行传递,直至其用完,或通过完成而不删除任何数据。



      手动垃圾数据收集

      不应要求对 Avamar Server 进行微管理。计划程序旨在自动运行维护任务。如果 Avamar 容量较高,请参阅《Avamar 操作最佳做法指南》和 《Avamar:容量管理概念和培训

      极少数 情况下,运行垃圾数据收集 可能有助于 缓解 GSAN“用户容量”高到系统进入只读模式的严重问题。
      在这些情况下,将手动运行垃圾数据收集,以将容量级别降至低于只读阈值。这允许运行备份窗口。
      自动垃圾数据收集可以照常继续工作。

      在考虑手动垃圾数据收集之前,Avamar 支持应全面调查并了解情况。
      在进行此类调查后,如果未经 L2 支持工程师的授权,则 绝不 应请求支持在系统上运行手动垃圾数据收集。
      请参阅 Avamar — 关于手动垃圾数据收集的使用

      Additional Information



       

      Affected Products

      Avamar

      Products

      Avamar, Avamar Server
      Article Properties
      Article Number: 000068726
      Article Type: How To
      Last Modified: 05 Aug 2025
      Version:  12
      Find answers to your questions from other Dell users
      Support Services
      Check if your device is covered by Support Services.