跳转到主内容

灵活调整弹性大小和 FlexGroup 卷

Views:
3
Visibility:
Public
Votes:
0
Category:
ontap-9
Specialty:
core
Last Updated:

适用于

  • ONTAP 9
  • FlexGroup

解答

什么是弹性大小?

本文介绍了弹性大小的定义、以及它如何与 FlexGroup 卷配合使用、以及它对工作负载的影响。

弹性大小调整(在 ONTAP 9.6 中引入)是 ONTAP 更好地管理 FlexGroup 卷中的空间分配的一种方法,其目标是防止组成卷中的“空间不足”错误导致文件写入失败。弹性大小与 AutoGrow/AutoHrink 不同,其目标不是增加卷的整体容量。相反,弹性大小调整可保持卷的总大小不变,并可利用 FlexGroup 内部各组成卷的可用空间来借用 / 交换空间来容纳写入操作。

弹性大小不是为了消除管理 FlexGroup 中容量的需求—仍应采取步骤确保卷中和各个组成部分之间有足够的可用空间、不应将其视为空间管理的替代。

FlexGroup 卷仍将像往常一样执行最大负载平衡、因此应解决卷之间的不平衡问题而无需手动干预。

有关弹性大小的详细信息、或为对该功能感兴趣的客户提供公共参考的详细信息、请参见 TR-4571
 

默认

情况下启用 / 禁用弹性大小调整功能,并且没有可用的集群 shell 命令来禁用它。但是,可以在节点级 FlexGroup 选项中使用“ Node Run NodeName FlexGroup Set Elastic-Size=False ”禁用该功能。

除非工程人员提供指导,否则不建议这样做。



只有当文件写入达到 ONTAP 将向执行写入操作的客户端发出“空间不足”错误时、弹性大小调整的工作方式才会启动。在发送该消息之前、 ONTAP 将竭尽全力在 FlexGroup 中找到一些可用空间、方法是借用 FlexGroup 中组成卷总容量的 1% (介于 10 MB 和默认最大 10 GB 之间)。

 

1098127_1.png

这些值可通过节点级 "FlexGroup Set" 命令进行调整、但不能在没有工程指导的情况下进行修改。

当文件写入即将失败时、 ONTAP 会扫描组成卷中的可用空间并减少其中一个组成卷的大小、并将该空间量添加到即将耗尽空间的组成卷中。

弹性大小调整的影响

此过程不是空闲的—当写入暂停以查找空间时,性能会受到影响。这将在工作负载中显示为延迟峰值。根据完成写入所需的空间量以及 ONTAP 搜索空间所需的次数,影响将有所不同。例如,由于我们每次只从一个组成卷中占用 1% 的空间、并且容量可能低至 10 MB 、因此需要 1 GB 完成写入的文件需要暂停大约 100 次才能获得适当的可用空间。相反,如果 1% 的组成卷为 10 GB 、则写入只需暂停一次即可完成。

以下示例显示了将文件复制到 FlexGroup 的测试。在第一个测试中、 FlexGroup 的组成部分不够大、无法容纳文件、因此使用了弹性大小。该 6.7GB 文件需要大约 2 分钟的时间进行复制:

  [root@centos7 /]# time cp Windows.iso /elastic/
real   1m52.950s
user   0m0.028s
sys   1m8.652s

当 FlexGroup 组成卷足够大时、同一个副本只需 15 秒即可完成:

 [root@centos7 /]# time cp Windows.iso /elastic/
real   1m37.233s
user   0m0.052s
sys   0m54.443s


这表明在弹性大小调整后会产生真正的延迟影响。

以下图表说明了组成卷上的延迟受到的影响:

1098127_2.png

1098127_3.png

在实施弹性大小调整时,组成卷 0001 的延迟大约为 0.5 毫秒:
 

1098127_4.png

弹性大小调整日志

没有专为弹性大小而触发的 EMS 事件。相反、我们需要依靠常规空间 / 卷几乎已满的 EMS 消息和 DF/ 卷大小输出来了解与可用可用空间相关的问题。

此外、性能受弹性大小影响的大小将被隔离为写入延迟、而不是读取延迟。

要验证弹性大小是否会导致性能问题、可以确认 perfstat/WAFL_SUSP-w 捕获。您要查找的 WAFL 消息包括:

flexgroup_elast_resize

s慢速 路径 _flexgroup_elast_resize

例如:

  Suspend Because:            Count\ AvgSusp MaxSusp
FLEXGROUP_ELASTIC_RESIZE
  WAFL_SPINNP_WRITE

在以上示例中、 FlexGroup 的大小为 10 GB 、 4 个组成卷各为 2.5 GB (不建议使用、但用于说明该点):

 cluster::*> vol show -vserver DEMO -volume elastic* -fields size,used
vserver  volume  size    used
------- ------- ------- -------
DEMO   elastic 10.01GB  263.5MB
DEMO   elastic__0001
          1GB   68.20MB
DEMO   elastic__0002
         6.98GB  67.38MB
DEMO   elastic__0003
          1.02GB  58.50MB
DEMO   elastic__0004
         1.00GB  69.39MB

由于选区如此小、我们只看到弹性大小调整,每个请求的增量为 25 MB 。( 2.5 GB 的 1% 为 25 MB )

由于文件为 6.7 GB 、组成卷为 2.5 GB 、 ONTAP 需要从其他组成卷借用约 4.2 GB 。4.2 GB 约为 4300 MB 、这意味着 ONTAP 将借用空间 4300/25 倍、或大约 172 倍。

我们可以在 WAFL_SUSP 输出中看到这方面的证据:

  WAFL Message Slow-path Stats         Count
SLOWPATH_FLEXGROUP_ELASTIC_RESIZE
    WAFL_REMOTE_RETRIEVE            208
    WAFL_REMOTE_WRITEBACK            104
   WAFL_FLEXGROUP_RESIZE_MEMBER         104

解决弹性大小调整问题
如果弹性大小在工作负载上启动、这意味着卷不再适当调整大小、无论是否对性能有影响都应采取补救措施。弹性大小只是一种针对失败的写入 / 损坏文件的保险政策,不应将其视为万应灵丹。

要防止弹性大小的运动:

  • 查看环境中的所有组成卷大小、以实现组成卷之间的平衡。如果一个组成部分的使用空间比其他成员多,那么应进一步调查为什么要这样做(例如,是否删除了大量数据?文件增长是否非常大?是否有大量文件被压缩到一个 TAR 文件中?)
  • 如果可能,请删除一些数据以释放空间、以及锁定数据的快照。
  • 增加整个 FlexGroup 卷的大小以增加可用空间。
  • 如果使用 AFF 、请了解 FabricPool 分层的优势;请查看非活动数据报告以估算活动文件系统和快照之间的空间节省。
  • 确保启用所有可用存储效率。

目标是在每个组成卷中释放足够的空间、这样一个文件就不会导致弹性大小从其他组成卷借用空间。可用空间的阈值会因工作负载中的平均文件大小和最大文件大小以及卷中的文件随时间的推移而变化。

建议为 " 卷几乎已满 " 设置警报 / 警告和 / 或利用配额来帮助监控可用空间。TR-4571 介绍了如何使用 FlexGroup 卷的空间监控。

通常情况下、最好在组成卷的命中次数不超过 80% 时通知,这样就可以有足够的时间来规划和纠正容量问题。





调整 FlexGroup 容量后的其他注意事项标准化(如中所述、已删除文件或已将大小添加到 FlexGroup )、 组成卷容量将标准化并自行返回到其常规容量级别。

自动增长

卷自动增长可与弹性大小配合使用、但它们独立运行。这意味着如果卷上启用了卷自动大小、则弹性大小将不再使用。

 cluster::*> vol show -vserver DEMO -volume elastic* -fields
size,used,autosize-mode
vserver  volume  size   used   autosize-mode
------- ------- ------- ------  -------------
DEMO    elastic  15.73GB  6.78GB grow
DEMO   elastic__0001
          2.50GB    68.34MB
                  grow
DEMO    elastic__0002
          2.50GB   67.44MB
                  grow
DEMO   elastic__0003
          8.23GB  6.58GB grow
DEMO   elastic__0004
          2.50GB  69.25MB
                  grow
5 entries were displayed.

cluster::*> event log show -message-name *auto*
Time         Node       Severity    Event
------------------- ---------------- ------------- ---------------------------
11/12/2019 16:55:59 ontap9-tme-8040-01

                                     NOTICE

wafl.vol.autoSize.done: Volume autosize: Automatic grow of volume \'elastic__0003@vserver:7e3cc08e-d9b3-11e6-85e2-00a0986b1210\' by 118MB is complete.
11/12/2019 16:55:47 ontap9-tme-8040-01

                                     NOTICE

wafl.vol.autoSize.done: Volume autosize: Automatic grow of volume \'elastic__0003@vserver:7e3cc08e-d9b3-11e6-85e2-00a0986b1210\' by 935MB is complete.
11/12/2019 16:55:40 ontap9-tme-8040-01

                                      NOTICE

wafl.vol.autoSize.done: Volume autosize: Automatic grow of volume \'elastic__0003@vserver:7e3cc08e-d9b3-11e6-85e2-00a0986b1210\' by 169MB is complete.
11/12/2019 16:55:39 ontap9-tme-8040-01

                                     NOTICE

wafl.vol.autoSize.done: Volume autosize: Automatic grow of volume \'elastic__0003@vserver:7e3cc08e-d9b3-11e6-85e2-00a0986b1210\' by 1.11GB is complete.
11/12/2019 16:55:31 ontap9-tme-8040-01

                                     NOTICE

wafl.vol.autoSize.done: Volume autosize: Automatic grow of volume \'elastic__0003@vserver:7e3cc08e-d9b3-11e6-85e2-00a0986b1210\' by 606MB is complete.
11/12/2019 16:55:26 ontap9-tme-8040-01

                                     NOTICE

wafl.vol.autoSize.done: Volume autosize: Automatic grow of volume \'elastic__0003@vserver:7e3cc08e-d9b3-11e6-85e2-00a0986b1210\' by 833MB is complete.
11/12/2019 16:55:20 ontap9-tme-8040-01

                                     NOTICE

wafl.vol.autoSize.done: Volume autosize: Automatic grow of volume \'elastic__0003@vserver:7e3cc08e-d9b3-11e6-85e2-00a0986b1210\' by 720MB is complete.
11/12/2019 16:55:14 ontap9-tme-8040-01

                                     NOTICE

wafl.vol.autoSize.done: Volume autosize: Automatic grow of volume \'elastic__0003@vserver:7e3cc08e-d9b3-11e6-85e2-00a0986b1210\' by 102MB is complete.
11/12/2019 16:55:13 ontap9-tme-8040-01

                                     NOTICE

wafl.vol.autoSize.done: Volume autosize: Automatic grow of volume \'elastic__0003@vserver:7e3cc08e-d9b3-11e6-85e2-00a0986b1210\' by 602MB is complete.
11/12/2019 16:55:09 ontap9-tme-8040-01

                                     NOTICE

wafl.vol.autoSize.done: Volume autosize: Automatic grow of volume \'elastic__0003@vserver:7e3cc08e-d9b3-11e6-85e2-00a0986b1210\' by 156MB is complete.
11/12/2019 16:55:08 ontap9-tme-8040-01

                                     NOTICE

wafl.vol.autoSize.done: Volume autosize: Automatic grow of volume \'elastic__0003@vserver:7e3cc08e-d9b3-11e6-85e2-00a0986b1210\' by 482MB is complete.
11/12/2019 12:47:28 ontap9-tme-8040-01

**:启用自动调整时,弹性大小将被禁用。有关[1]详细信息,请参见 Burt124348 。

其他信息

附加信息 _text