跳转到主内容

适用于Data ONTAP 7的Wafliron概述

Views:
83
Visibility:
Public
Votes:
0
Category:
data-ontap-7
Specialty:
core
Last Updated:

适用场景

  • Data ONTAP 7
  • Data ONTAP 8 7-模式

问题解答

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

什么是 Wafliron ?

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

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

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

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

警告:如果聚合不是WAFL_INCONSICAL、请在执行wafliron时准备停机。 

由于聚合卷和 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 完成并管理员选择提交更改之前不会提供数据。

警告: 在运行wafliron或wafl_check之前、应始终咨询NetApp技术支持
Wafliron 的哪些阶段?

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

注意:Wafliron是一款诊断工具、其使用情况和输出可能会发生更改。

阶段 1 

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

注意: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_INCONSICAL的受限聚合

可以在此聚合上运行 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技术支持。 

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

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

  • 如果存储系统上根聚合 / 卷的 WAFL 文件系统不一致、存储系统将无法引导。
  • 如果根聚合 / 卷不一致且启动了 WAFLRon 、则需要卸载根聚合 / 卷才能执行其基准检查。  由于根聚合 / 卷必须联机且可供存储系统运行、因此 WAFLRon 无法执行此操作。

由于这些因素、只能从特殊启动菜单在根聚合/卷上启动wafliron。
 

警告:如果需要在包含FlexVol 根卷的聚合或传统根卷上运行wafliron、则必须为存储系统计划停机时间。但是,通过从特殊的启动菜单运行 WAFLRon 可以最大限度地减少停机时间。当从特殊引导菜单运行 Wafliron 时,它将执行一些初步检查和更正,然后自动引导存储系统。启动存储系统后、受影响的卷中将提供数据、而 Wafliron 将继续完成其检查并进行任何必要的更改。

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

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

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

是否可以在已进行重复数据删除的( SIS )卷上运行 WAFLRon ?
警告:在包含重复数据删除的FlexVol 卷的聚合上运行wafliron之前、必须联系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源卷的聚合的警告:
在聚合上完成(或中止) wafliron后、将在后台对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 )都支持重新同步。
警告:如果提交wafliron更改、则在SnapMirror/SnapVault目标上运行wafliron并使用可选提交将导致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 企业卷和聚合上运行。但是、 SnapLock 兼容卷有一些限制,可能会阻止 WAFLRon 正常运行。在SnapLock 合规的聚合/卷上启动wafliron之前、应始终咨询NetApp技术支持

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

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

Wafliron 能否在条带化聚合上运行?

是Wafliron可以在条带化文件系统中的成员聚合上运行、也可以在包含MDV (元数据卷)的聚合上运行。在开始任何文件系统检查之前、请联系NetApp支持部门以获得帮助。
 

警告:不会在条带化文件系统中的任何成员聚合上运行WAFL_check。仅使用 Wafliron 。
如何使用可选提交( IOC )运行 Wafliron ?

有关此功能的详细信息、请联系NetApp技术支持

警告:在使用可选提交模式检查聚合或其任何关联卷的文件系统检查期间、Wafliron run with optional commit will not permit access to the aggregate or any of its associated volumes being checked using optional commit mode.将可访问其他不在 Wafliron 中的聚合 / 卷。
警告:如果在SnapMirror/SnapVault目标上运行wafliron并选择提交、则在提交wafliron更改后、将自动断开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)卷始终会先挂载。

  • 如果在列表中指定了FlexClone(R)卷、则其父FlexVol 卷也会设置优先级。 

您如何检查 WAFLRon 的状态?

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

对于 Data ONTAP 7.2.3 :

要在第2阶段或第3阶段检查wafliron的状态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之前的版本:
要检查聚合或传统卷上的wafliron状态、请执行以下操作:

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 能否停止?

警告:除非NetApp技术支持指示、否则决不应停止Wafliron。

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

警告:如果Wafliron在第2阶段停止、则必须从头开始重新启动。不能从停止点恢复。

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

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

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

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

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

  • 如果 Wafliron 处于阶段 1 (安装)并被中断,则 Wafliron 将从头开始。 
  • 如果wafliron处于第2阶段-第3阶段、则提交到关闭点 aggr wafliron start的所有更改将保留下来、但wafliron将在第1阶段按照命令重新启动。
WAFL 扫描速度如何影响wafliron?

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

警告:手动将WAFL 扫描速度值从默认值增加将使扫描程序能够更快地运行、但由于WAFL 扫描程序需要更多的系统资源、因此可能会对存储系统产生发生原因 负面性能影响。

除非在NetApp技术支持的指导下、否则不得更改此值。

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

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

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

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

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

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

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

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

注意:在LUN联机工作期间、sysstat可能会显示存储器CPU已固定为100%。这并不一定表示存在问题。

追加信息

附加信息 _text

 

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.