恢复使用 DAOS 第 2 层存储

HCL Domino 当前不提供将 DAOS 对象从第 2 层存储移动到第 1 层存储的自动方法。以下步骤描述了如何手动恢复。

关于此任务

完整步骤如下。请参阅详细步骤以了解更多信息。
  1. 禁用 DAOS 第 2 层
  2. 验证第 2 层中是否有对象。
  3. 将第 2 层的所有对象复制到第 1 层存储。
  4. 验证 DAOS 不再具有第 2 层引用。

过程

  1. 禁用 DAOS 第 2 层存储:
    1. 在服务器文档的 DAOS 选项卡上,禁用 DAOS 第 2 层字段。
    2. 重新启动进行更改的 Domino 服务器:
      restart server
    3. 服务器重新启动后,在服务器控制台上输入以下命令:
      tell daosmgr status
      验证输出是否显示 DAOS Tier2 is Read Only
      注: 尽管禁用了第 2 层,但是 Domino 仍可以下载存储在第 2 层的现有对象,因为它的对象索引仍然知道这些对象存储在第 2 层。不过,此时不会将其他对象推到第 2 层。
  2. 通过在服务器控制台上发出以下命令,验证第 2 层中是否存在 DAOS 对象:。
    tell daosmgr objectinfo summary
    如果输出表明没有第 2 层对象,请跳过此过程中的其余步骤。以下输出示例表明有 32 个第 2 层对象:
    [1998:0002-082C] DAOS TIERED STORAGE SUMMARY
    [1998:0002-082C] TIER 1 STORAGE:
    [1998:0002-082C] 	OBJECTS      - 0
    [1998:0002-082C] 	MB           - 0 MB
    [1998:0002-082C] TIER 2 STORAGE:
    [1998:0002-082C] 	OBJECTS      - 32
    [1998:0002-082C] 	MB           - 70 MB
    [1998:0002-082C] TOTAL STORAGE :
    [1998:0002-082C] 	OBJECTS      - 32
    [1998:0002-082C] 	MB           - 70 MB
    [1998:0002-082C] 	AVERAGE AGE  - 1521 days
  3. 使用下列其中一个选项,将所有第 2 层对象复制到第 1 层存储。如果您具有大量第 2 层对象,那么您可能想要使用第二个选项,以便可以“怠惰地”执行复制,将它们传播到可以在您方便时发出的单独命令上。
    注: 从第 2 层拉取对象时,如有必要,系统会根据配置的 DAOS 加密设置重新加密这些对象,这将花费额外的时间。
    使用一个命令复制所有对象
    1. 在 Domino 控制台中输入以下命令:
       tell daosmgr objectpull all

      操作开始时,它会将以下消息输出到控制台: DAOSMGR: Start OBJECTPULL all

      操作结束时,它会将以下消息输出到控制台: DAOSMGR: End OBJECTPULL all

      没有针对所拉取的单个对象的输出。如果没有其他服务器引用某个第 2 层对象,那么在成功将其拉取到第 1 层之后,将删除该对象。

      由于可能要通过网络复制大量第 2 层对象,因而此命令的执行时间可能会很长。如果服务器在操作进行期间关闭,它将异常终止并且不会自动重新启动。在这种情况下,您必须在系统重新启动后重新输入命令。

    分阶段复制对象
    1. 在 Domino 控制台中输入以下命令:
       tell daosmgr status

      在 DAOS 第 2 层的输出部分中,记录为 DAOS Tier2 days since last access before pushing 列出的值。此处,我们假定值为 180 天。这意味着任何对象在推送到第 2 层之前,距上次访问日期必须至少为 180 天。因此,第 2 层中的大部分对象的存在时间将至少为 180 天。如果在将某些对象推送到第 2 层后对它们进行了访问,这些对象的存在时间可能更短,但这种情况通常很少出现。因此,您将使用值 180 作为以下命令的起点。

    2. 使用您确定的起始值在 Domino 控制台中输入以下命令:
      tell daosmgr objectpull 180

      这会导致 DAOSmgr 将上次访问日期在 180 天或以内的所有对象拉取到第 1 层。此初始命令可以相当快速地执行。在输出中查找指示命令已完成的消息 DAOSMGR: End OBJECTPULL 180

    3. 然后随着时间的推移逐步输入其他命令,逐渐增加该值。请等待每个命令完成,然后再开始执行下一个命令。例如:
      tell daosmgr objectpull 210
      tell daosmgr objectpull 240
      tell daosmgr objectpull 270

      由于可能要通过网络复制大量第 2 层对象,因而这些命令的执行时间可能会很长。如果服务器在操作进行期间关闭,它将异常终止并且不会自动重新启动。在这种情况下,您必须在系统重新启动后重新输入命令。

      输入下一个命令之前,在控制台日志中搜索 DAOSMGR: End OBJECTPULL 以确认完成。如果服务器具有许多第 2 层对象,请输入命令,并稍后再检查控制台日志以确认完成。

  4. 通过在服务器控制台上发出以下命令来验证是否不再具有第 2 层对象:
    tell daosmgr objectinfo summary
    输出应显示 0 第 2 层对象,例如:
    [1D1C:0002-6170] DAOS TIERED STORAGE SUMMARY
    [1D1C:0002-6170] TIER 1 STORAGE:
    [1D1C:0002-6170]        OBJECTS      - 32
    [1D1C:0002-6170]        MB           - 70 MB
    [1D1C:0002-6170] TIER 2 STORAGE:
    [1D1C:0002-6170]        OBJECTS      - 0
    [1D1C:0002-6170]        MB           - 0 MB
    [1D1C:0002-6170] TOTAL STORAGE :
    [1D1C:0002-6170]        OBJECTS      - 32
    [1D1C:0002-6170]        MB           - 70 MB
    [1D1C:0002-6170]        AVERAGE AGE  - 1521 days