跳转到主内容

WAFLiron 概述

Views:
97
Visibility:
Public
Votes:
1
Category:
ontap-9
Specialty:
core
Last Updated:

可不使用  

适用于

ONTAP

解答

本文讨论了 Wafliron 的以下方面:

什么是 Wafliron ?

Wafliron 是一(R)款 Data ONTAP 工具、它将检查 WAFL(R) 文件系统是否存在不一致之处并纠正发现的任何不一致之处。它应在的指导下运行NetApp Technical Support。Wafliron 可以在传统卷或聚合上运行。在对聚合运行时、它将检查聚合以及所有关联的 FlexVol(R) 卷。它不能在聚合中的单个 FlexVol 卷上运行。

如果不需要检查根卷,则可以在联机存储系统的情况下运行 WAFLRon 。运行时, Wafliron 会对传统卷或聚合及关联的 FlexVol 卷执行以下操作: 

  • 检查文件和目录元数据
  • 扫描 Inode
  • 修复了文件系统不一致的问题
Wafliron 对数据可用性有何影响?

启动 wafliron 将导致卸载聚合和关联的 FlexVol 卷(或传统卷),然后在完成多项基线检查后重新挂载。在第一阶段中、客户端将无法访问受影响的卷。启动 WAFLRon 后、安装阶段完成后才能中止。在此第一阶段中,控制台可能没有响应。第一阶段需要大量时间来重新装入聚合卷和 FlexVol 卷。

警告:如果聚合不是 WAFL_Inconsistent ,请准备执行 WAFLRon 时的停机时间。 

由于聚合卷和 FlexVol 卷上的因素数量众多、存储系统在第一阶段所花费的时间难以估计。这些因素包括: 

  • SnapshotTM 副本的数量
  • 文件数
  • 聚合 / 卷的大小
  • RAID 组大小
  • 物理数据布局
  • 发生 RAID 重建
  • 卷根中的 LUN 数  

通常情况下, 1 TB 聚合需要 3 个或 3 个以上的时间才能安装。具体时间会有所不同,但对于大型聚合 / 卷、 NetApp 建议计划停机时间。 

加载聚合和关联的 FlexVol 卷后、将为数据提供服务、同时 Wafliron 将继续检查数据。对于聚合,必须先装入所有 FlexVol 卷、然后才能从聚合中的任何 FlexVol 卷提供数据。如果聚合包含具有 LUN 的 FlexVol 卷、则该 FlexVol 卷中的所有 LUN 必须完成其阶段 1 检查、然后该 FlexVol 卷中的任何 LUN 才能联机。 

:在 Data ONTAP 7.3 之前、聚合中的所有卷都需要在任何卷可访问之前完成阶段 1 。Data ONTAP 7.3 中的这种行为发生了变化。有关划分卷优先级的详细信息,请参见“您是否可以优先排列哪些卷的优先级?' 

vol status该命令可用于监控卷是否已重新装入。如果卷仍处于装入阶段,vol status 将显示: 

storage1> vol status
         Volume State      Status            Options
           vol0 online     raid4, trad       root
vol status: Volume 'tst' is temporarily busy (vol remount).
vol status: Volume 'vol1' is temporarily busy (vol remount).
 

沃夫里伦和 WAFL_Check 之间有何区别?

WAFL_Check 和 Wafliron 都是用于检查 WAFL 文件系统的诊断工具。Wafliron 将在运行时进行更改并在存储系统的消息文件中记录这些更改。管理员无法选择沃夫利隆将提交哪些更改。   

在 Data ONTAP 7.3.1 之前、 Wafliron 将在运行时进行更改并在存储系统的消息文件中记录这些更改。管理员无法选择沃夫利隆将提交哪些更改。  

在 Data ONTAP 7.3.1 中、可选提交已添加到 Wafliron 。此功能允许 WAFLRon 检查受影响的聚合、但在存储管理员批准更改之前不提交更改。有关详细信息,请参阅“如何使用可选提交运行 wafliron ?”一节  

如果运行 WAFL_Check ,管理员可以选择是否提交更改。 

在存储系统联机时、 Wafliron 可以运行、并且不检查卷 / 聚合中的数据。如果从高级特权模式启动,则一旦完成基准检查, Wafliron 将允许访问聚合中的数据。如果是从特殊引导菜单启动的,则一旦完成基准检查,存储系统将自动引导并开始提供数据。 

但是, WAFL_Check 必须从特殊的引导菜单运行、并且存储系统在 WAFL_Check 完成并管理员选择提交更改之前不会提供数据。

警告:NetApp Technical Support在运行 wafliron 或 WAFL_Check 之前,应始终与之协商
Wafliron 的哪些阶段?

Wafliron 有三个阶段用于检查聚合和卷。

注: Wafliron 是一种诊断工具,其使用和输出可能会发生变化。

阶段 1 

  • 通过检查必要的元数据来验证文件系统访问。这包括检查与聚合中包含的每个 FlexVol 卷关联的聚合元数据、元数据跟踪可用空间和 Snapshot 副本完整性。
  • 阶段 1 首先检查聚合、然后检查该聚合上的每个 FlexVol 卷。检查聚合中的所有 FlexVol 卷后、将装入聚合和 FlexVol 卷。 
  • 在此阶段中提供的唯一状态是一条消息,用于控制台记录 Wafliron 的开头。在此阶段无法监控进度。
  • 警告:在阶段 1 完成之前 LUN 将不可用。LUN 不能自动设置为联机状态。有关详细信息,请参阅“为什么在 Wafliron 阶段 1 完成后 LUN 仍处于脱机状态?”一节
  • 警告: Snapshot 副本为只读副本,因此不能由 wafliron 修改。如果 Snapshot 副本包含不一致性、则需要删除 Snapshot 副本才能从文件系统中删除不一致性。[1]在删除怀疑包含不一致性的 Snapshot 副本之前,请始终与 NetApp 支持联系。

第 2 阶段

  • 验证用户数据的元数据。如果用户请求尚未检查的数据,则 Wafliron 将根据需要检查并修复该数据(如有必要)。由于这种按需检查、用户在此阶段可能会看到延迟增加。
  • 在 Data ONTAP 7.2.3 及更高版本中,aggr wafliron status -s将为 Wafliron 提供进展。  

第 3 阶段 

  • 执行清理任务,例如查找丢失的块 / 文件和验证已使用的块。
  • 在 Data ONTAP 7.2.3 及更高版本中,aggr wafliron status -s将为 Wafliron 提供进展。  
在运行 Wafliron 之前应该做些什么?

在运行 Wafliron 之前,应更正文件系统不一致的原因。 如果不一致是由 FC-AL 环路不稳定或错误导致的、则应执行环路测试以隔离问题。NetApp FC-AL diagnostics 可用于故障排除。

:不应同时运行 Wafliron 或在发生任何聚合转换事件后立即运行。建议在存储故障转移(接管或恢复)或聚合重新定位后等待 8 分钟,然后再在这些聚合上启动 Wafliron 。

要运行 Wafliron ,必须对聚合或传统卷应用以下条件: 

  • RAID 必须处于联机或受限 / 降级状态。
  • 必须挂载 WAFL 文件系统。
  • 文件系统可能不一致。  

可以通过运行aggr status -rvol status -r命令来检查上述条件。 

示例 1 :已挂载的联机聚合

可以在此聚合上运行 Wafliron 。
storage1> aggr status -r aggr0
Aggregate aggr0 (online, raid_dp) (block checksums)

示例 2 :已装入但 WAFL_Inconsistent 的受限聚合

可以在此聚合上运行 Wafliron 。
storage1> aggr status -r aggr1
Aggregate aggr1 (restricted, raid_dp, reconstruct, degraded, wafl inconsistent) (block checksums)

示例 3 :未挂载的受限聚合

无法在此聚合上运行 Wafliron 。
storage1> aggr status -r aggr2
Aggregate aggr2 (unmounting, raid4, reconstruct, wafl inconsistent) (block checksums)

示例 4 :聚合失败

无法在此聚合上运行 Wafliron 。
storage1> aggr status -r aggr2
Aggregate aggr2 (failed, raid_dp, partial) (block checksums)

如何在非根聚合或传统卷上运行 WAFLRon ?

要在根以外的聚合上启动 WAFLRon : 

storage1> priv set advanced
storage1*> aggr wafliron start [aggr_name | volname]
 

注:运行上述命令后、存储系统控制台可能会在一段时间内无响应。在 Wafliron 启动后,应至少监控存储系统 30 分钟。如果在此时间之后控制台仍然没有响应、NetApp Technical Support则应与之联系。 

是否可以在根聚合 / 卷上运行 wafliron ? 

Wafliron 可以在根聚合 / 卷上运行。但是,无法在引导存储系统时执行此操作。此限制是由于以下几个因素造成的:

  • 如果存储系统上根聚合 / 卷的 WAFL 文件系统不一致、存储系统将无法引导。
  • 如果根聚合 / 卷不一致且启动了 WAFLRon 、则需要卸载根聚合 / 卷才能执行其基准检查。  由于根聚合 / 卷必须联机且可供存储系统运行、因此 WAFLRon 无法执行此操作。
由于这些因素,只能从特殊的引导菜单在根聚合 / 卷上启动 wafliron 。
 
警告:如果需要在包含 FlexVol 根卷的聚合上或在传统根卷上运行 WAFLRon ,则必须为存储系统安排停机时间。但是,通过从特殊的启动菜单运行 WAFLRon 可以最大限度地减少停机时间。当从特殊引导菜单运行 Wafliron 时,它将执行一些初步检查和更正,然后自动引导存储系统。启动存储系统后、受影响的卷中将提供数据、而 Wafliron 将继续完成其检查并进行任何必要的更改。

要在根聚合 / 传统卷上运行 Wafliron 、必须首先使用以下步骤引导存储系统到特殊的引导菜单:

  1. 重新引导或引导存储系统。
  2. 在引导过程中,当系统提示“ Press Ctrl-C for special boot menu ”时,按 Ctrl-C 组合键。出现五项菜单。
  3. 在 "(1-5) " 提示符下,输入隐藏命令 wafliron
警告:在 Data ONTAP 7.3 之前,上述步骤将在所有聚合和 FlexVol 卷上启动 WAFLRon 。这将导致存储系统启动 Wafliron 的第一阶段,然后启动 Data ONTAP 。请注意,执行此任务时,文件管理器的引导速度会明显变慢。一旦 Data ONTAP 启动、 Wafliron 将在所有卷上运行。

对于 Data ONTAP 7.3 和更高版本、如果从特殊引导菜单启动了 WAFLRon 、则只会检查根聚合。只能使用 Data ONTAP 中的 WAFLRon 检查所有其他聚合。 

是否可以在已进行重复数据删除的( SIS )卷上运行 WAFLRon ?
警告:[2]在包含已进行重复数据删除的 FlexVol 卷的聚合上运行 WAFLRon 之前,必须联系 NetApp 技术支持。 

在尝试使用 Wafliron 之前、必须将存储系统以网络方式引导至 Data ONTAP 7.2.4p5d6 版本、因为该版本包括在对已进行重复数据删除的卷运行时对 Wafliron 的重要修复。

是否可以在 SnapMirror 或 SnapVault 使用的卷上运行 Wafliron ?

Wafliron 可以在 SnapMirror(R) 或 SnapVault 使用的卷上运行(R)。但是,根据 SnapMirror/SnapVault 配置的不同,有些限制也适用。

  • 如果卷是卷 SnapMirror 的源卷或包含 qtree SnapMirror 或 SnapVault 的源 qtree :
    • 由于 SnapMirror 或 SnapVault 的源是读 / 写的、因此可以使用与常规聚合相同的命令运行 Wafliron :  

storage1> priv set advanced
storage1*> aggr wafliron start [aggr_name | volname]

包含 SnapMirror 源卷的聚合警告:
当 WAFLRon 在聚合上完成(或中止)后、将在 FlexVol 卷上作为后台进程进行元文件扫描。所有 SnapMirror 功能都将延迟到完成对已被熨烫的 FlexVol 卷的扫描后。完成时间随使用的 inode / 块数量和卷中的 Snapshot 副本数量呈线性增长。这意味着可以按小时或天顺序为已被处理的 FlexVol 卷恢复 SnapMirror 复制所需的时间。可以使用“ WAFL 扫描状态”监控扫描进度。
  • 如果卷是卷 SnapMirror 目标或包含 SnapVault 或 qtree SnapMirror 的目标 qtree :
    • 由于 Wafliron 在运行时对不一致的文件系统进行了必要的更改,因此无法对只读卷运行该文件系统。因此, SnapMirror 目标卷必须可写才能运行 Wafliron 。要在运行 Wafliron 时使卷 /qtree 可写、必须使用“ -f ”选项。通过此选项,通过断开与目标 qtree 的所有 SnapMirror/SnapVault 关系、可以在包含 qtree SnapMirror/SnapVault 目标卷的卷上启动 WAFLRon 。
    • 该命令为:
      storage1> priv set advanced
      storage1*> aggr wafliron start [aggr_name | volname] -f
警告:一旦 Wafliron 完成、 SnapMirror 和 SnapVault 关系将处于中断状态。要恢复更新、必须重新同步或重新初始化关系。根据 Wafliron 所做的更改数量、可能无法重新同步 SnapMirror/SnapVault 关系。此外,并非所有版本的 Open Systems SnapVault ( OSSV )都支持重新同步。
警告:如果在 SnapMirror/SnapVault 目标上运行带有可选提交的 WAFLRon 、则在提交 WAFLRon 更改时、 SnapMirror/SnapVault 关系将自动中断。
  • 在卷 SnapMirror 的目标卷上运行 wafliron 之后、必须对由 wafliron 检查和修改的传统 /FlexVol 卷执行“块类型初始化”扫描。在该扫描仪完成之前、卷 SnapMirror 关系无法重新同步、更新或初始化。此行为被跟踪为错误、142586 Data ONTAP 7.0.6 、 7.1.2 和 7.2.2 中首次修复。根据 FlexVol 卷的大小和存储设备上的负载,“块类型初始化”扫描可能需要几天时间才能完成。要检查命令的状态、请在wafl scan status高级特权模式下运行命令:
    storage1> priv set advanced
    storage1*> wafl scan status
    Volume sm_dest:
    Scan id        Type of scan                                            progress
           1        block type initialization               snap 0, inode 58059 of 30454809

WAFLRon 能否在 SnapLock 聚合 / 卷上运行?

Wafliron 可以在 SnapLock(R) 兼容和 SnapLock Enterprise 卷和聚合上运行。但是、 SnapLock 兼容卷有一些限制,可能会阻止 WAFLRon 正常运行。[3]在基于 SnapLock 兼容聚合 / 卷启动 WAFLRon 之前,应始终咨询 NetApp 技术支持。

是否可以在 64 位聚合上运行 wafliron ?

Data ONTAP 8.0 7- 模式包括一种称为 64 位聚合的新聚合类型。如果 64 位聚合标记为不一致、则可以在聚合和所有关联的 FlexVol 卷上运行具有可选提交的 WAFLRon 和 WAFLRon 。[4]在开始任何文件系统检查之前,请与 NetApp 支持联系以获得帮助。

Wafliron 能否在条带化聚合上运行?
是Wafliron 可以在作为条带化文件系统一部分的成员聚合上运行、也可以在包含 MDV (元数据卷)的聚合上运行。[5]在开始任何文件系统检查之前,请与 NetApp 支持联系以获得帮助。
 
警告: WAFL_Check 不会在条带文件系统中的任何成员聚合上运行。仅使用 Wafliron 。
 
如何使用可选提交( IOC )运行 Wafliron ?

有关此功能的详细信息,请与联系 NetApp Technical Support

警告:在文件系统检查聚合或使用可选提交模式检查其任何关联卷期间、使用可选提交模式运行的 wafliron 不允许访问。将可访问其他不在 Wafliron 中的聚合 / 卷。
警告:如果在 SnapMirror/SnapVault 目标上运行带有可选提交的 WAFLRon 、则在提交 WAFLRon 更改时、 SnapMirror/SnapVault 关系将自动中断。
 
您是否可以优先排列哪些卷的 Wafliron 首先检查?

从 Data ONTAP 7.3 开始,您可以选择由 Wafliron 检查的聚合上 FlexVol 卷的优先级。选定要首先检查的卷将在其他卷之前装入。此功能允许关键卷在其他不太重要的卷之前用于数据访问。

 

要设置优先级,可以使用 '-v' 标志。完整的语法为: 

    storage1> priv set advanced
    storage1*> aggr wafliron start
-v 

如果指定了多个 FlexVol 卷,则会按顺序对其进行检查。如果聚合上的 FlexVol 卷未列出、则在检查命令中指定的所有 FlexVol 卷后将对其进行检查。

警告: FlexVol 卷优先级有几个例外:

  • FlexCache(R) 卷将始终首先挂载。

  • 如果在(R)列表中指定了 FlexClone 卷、则其父 FlexVol 卷也将被优先级划分。 

 
您如何检查 WAFLRon 的状态?

在第 1 阶段中,目前无法检查 Wafliron 的状态。可以在阶段 2 和阶段 3 中看到状态。Data ONTAP 7.2.3 增加了一些增强功能,用于检查 Wafliron 的这些阶段的状态。

对于 Data ONTAP 7.2.3 :

要在阶段 2 或阶段 3 期间检查 WAFLRon 的状态、aggr wafliron status -s可以使用高级级别命令。它将生成类似于以下内容的输出:

storage1> priv set advanced
storage1*> aggr wafliron status -s
        Total mount phase of aggr aggr1 took 5s.
        Rootdir mount phase of aggr aggr1 took 3 msecs.
        Activemap mount phase of aggr aggr1 took 199 msecs.
        Snapshot mount phase of aggr aggr1 took 2567 msecs.
        Refcnt mount phase of aggr aggr1 took 2526 msecs.
        Metadir mount phase of aggr aggr1 took 18 msecs.
        Flex vols mount phase of aggr aggr1 took 75 msecs.
Wafliron scan stats for volume: flexvol3
        24 files done
        7 directories done
        598773 inodes done
        45092 blocks done
Wafliron scan stats for volume: flexvol1
        44 files done
        14 directories done
        199685 inodes done
        11282 blocks done
        wafliron is active on aggregate: aggr1
                Scanning (16% done).

在 Data ONTAP 7.2.3 之前:
要检查聚合或传统卷上的 WAFLRon 状态:

storage1> priv set advanced
storage1*> aggr wafliron status [aggr_name | volname]

示例:

storage1*> aggr wafliron status
        wafliron is active on volume: vol1
                Scanning (2% done).
        wafliron is active on aggregate: aggr0
                Scanning (0% done).

默认情况下, Wafliron 信息会记录到存储系统的控制台以及 /etc/messages 文件中。记录的消息包括 wafliron 开始时间、所做的更改、更改摘要以及聚合和所有 FlexVol 卷的完成时间。

要检查驻留在要处理的聚合上的 FlexVol 卷上的 WAFLIRon 的进度:

storage1> priv set advanced
storage1*> wafl scan status volname

示例:

storage1*> wafl scan status vol1
Volume vol1:
 Scan id                   Type of scan     progress
     158                wafliron demand     156003 (156597/156595) of 3640875

一旦 Wafliron 完成,则应使用以下命令将存储系统返回到正常管理模式:

storage1*> priv set admin

 
Wafliron 能否停止?

警告:除非得到指示,否则决不应停止 WaflironNetApp Technical Support

可以在阶段 2 检查期间停止 Wafliron 。 

警告:如果在阶段 2 期间停止了 WAFLRon 、则必须在开始时重新启动。不能从停止点恢复。

要在聚合或传统卷上停止 WAFLRon :

storage1> priv set advanced
storage1*> aggr wafliron stop [aggr_name | volname]

在阶段 3 期间无法停止 WAFLRon 。

如果在 Wafliron 运行时关闭或重新启动存储系统会发生什么情况?

在所有情况下,需要使用aggr wafliron start命令启动 WAFLRon 。但是, Wafliron 在电源周期后开始的时间点取决于关闭时 Wafliron 处于哪个阶段:

  • 如果 Wafliron 处于阶段 1 (安装)并被中断,则 Wafliron 将从头开始。 
  • 如果 Wafliron 处于阶段 2 – 3 、则任何提交到关闭点的更改都将保留下来、但 Wafliron 将在该 aggr wafliron start命令之后的阶段 1 中再次启动。
WAFL 扫描速度对 WAFLRon 有何影响?

WAFL 执行扫描的速率(如 WAFL )受 WAFL 扫描速度的限制。默认情况下,此速度是动态设置的(值为 0 )。在 Data ONTAP 7.0.5 之前、默认值为 2000 。Data ONTAP 会根据可用的系统资源自动调整速度。也可以使用高级命令手动设置。

警告:手动将 WAFL 扫描速度值从默认值增加,可以使扫描仪更快地运行,但这可能会对存储系统造成负面性能影响,因为 WAFL 扫描仪需要更多的系统资源。

除非在的指导下、否则不得更改此值NetApp Technical Support

Wafliron 是否会对性能产生任何影响?

阶段 1 完成后、当 Wafliron 在任何卷(包括根卷)上运行时、将为数据提供服务。但是,运行 Wafliron 的性能损失取决于许多因素,例如:

  • 文件系统结构
  • 客户端访问模式
  • 存储系统负载
  • 存储系统平台
  • 可用内存
  • WAFL 文件系统中不一致的程度

性能降低的一个原因是,当客户端访问数据时, Wafliron 必须先检查数据然后再执行客户端的请求。此行为可确保客户端接收一致的数据、并防止客户端触摸不一致的数据时存储系统出现故障。  如果由于客户端请求而导致存储系统负载过重、则建议管理员计划高性能损失、尽管实际影响可能会更小。

如何在 Data ONTAP 7G 前存储系统上运行 Wafliron ?

在 Data ONTAP 7G 之前、只有传统卷可用。  因此vol wafliron start,必须使用该命令启动 Wafliron 。

为什么在 Wafliron 阶段 1 完成后 LUN 仍处于脱机状态?

当聚合标记为不一致时、 FlexVol 卷和 LUN 将脱机、直到选中文件系统。如果NVFAIL option启用,则在 WAFLRon 阶段 1 检查后、 FlexVol 卷联机时、 LUN 不会自动联机。此行为是预期的。  卷联机后、存储管理员需要分别手动联机 LUN 。NetApp 强烈建议您在联机 LUN 的同时使用 sysstat 监控系统性能。

:在 LUN 联机工作期间、 sysstat 可能会显示文件管理器 CPU 已 100% 反查。这并不一定表示存在问题。

其他信息

不适用

 

 

 

Scan to view the article on your device