灵活调整弹性大小和 FlexGroup 卷
适用场景
- ONTAP 9.
- FlexGroup
问题解答
什么是弹性规模估算?
注意: 有关弹性规模估算的详细信息 ,请参见 TR-4571。
本文介绍什么是弹性规模估算、它如何与FlexGroup卷配合使用、以及它会对工作负载产生什么影响。
弹性大小调整(在ONTAP 9.6中推出)是ONTAP更好地管理FlexGroup卷中的空间分配的一种方法、目的是防止 成分卷中的"空间不足"错误导致文件写入失败。弹性大小调整与自动增长/自动缩减不同、其目标不是增加卷的整体容量占用空间。相反、弹性大小调整会保持卷总大小不变、并利用FlexGroup中各个成分卷之间的可用空间借用/交换空间以容纳写入。
弹性规模估算并不是为了消除在FlexGroup中管理容量 的需求- 仍应采取措施确保卷中和各个成分卷之间有足够的可用空间、不应视为空间管理的替代方案。
FlexGroup卷仍会照常执行载入负载平衡、因此、应解决卷之间的不平衡问题、而无需手动干预。
工作原理
只有当文件写入达到ONTAP即将 向执行写入的客户端发出问题描述"空间不足"错误时、才会启动弹性大小调整。在发送该消息之前、ONTAP将尽力在FlexGroup中找到一些可用空间、方法是借用FlexGroup中成分卷总容量的1%、即10 MB到默认最大容量10 GB之间。
这些值可通过节点级的FlexGroup set 命令进行调整、但未经工程部门指导、不得修改。
当文件写入即将失败时、ONTAP会扫描成分卷以查找可用空间、并减小其中一个成分卷的大小、然后将该空间量添加到即将用尽空间的成分卷中。
弹性规模估算的影响
此过程并非空闲- 当写入暂停以查找空间时、性能将受到影响。这将显示为工作负载中的延迟峰值。根据完成写入所需的空间量以及ONTAP必须搜索空间的次数、影响会有所不同。例如、由于我们一次只从成分卷中占用1%的空间、并且空间量可能低至10 MB、因此、需要1 GB空间才能完成写入的文件需要暂停大约~100次、才能提供适当的可用空间量。相反、如果成分卷的1%为10 GB、则只需暂停一次即可完成写入。
以下示例显示了将文件复制到FlexGroup的测试。在第一项测试中、FlexGroup成分卷的大小不足以容纳文件、因此使用了弹性大小调整。复制6.7 GB的文件大约需要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
这表明、在启用弹性规模估算时、可能会产生真正的延迟影响。
下图显示了成分卷上的延迟命中:
实施弹性规模估算时、成分卷0001的延迟大约增加0.5毫秒:
通过弹性规模估算解决问题
如果工作负载开始采用弹性规模估算、则意味着卷的大小将不再合适、无论是否会影响性能、都应采取修复操作。弹性规模估算只是针对写入失败/文件损坏的保险政策、不应视为一种方案。
要防止弹性规模估算产生影响、请执行以下操作:
- 查看环境中的所有成分卷大小、以确保成分卷之间的平衡程度。如果一个成分卷的已用空间比其他成分卷多、则应进一步调查这种情况的原因(例如、是否删除了一堆数据?文件是否增长得非常大?是否将大量文件压缩为单个tar文件?)。
- 如果可能、请删除一些数据以释放空间、并删除将这些数据锁定到位的快照。
- 增加整个FlexGroup卷的大小以增加可用空间。
- 了解使用AFF时FabricPool分层的优势;了解非活动数据报告、以大致估算活动文件系统和快照之间的空间节省量。
- 确保已启用所有可用的存储效率功能。
其目标是在每个成分卷中释放足够的空间、使单个文件不会通过发生原因弹性调整从其他成分卷借用空间。根据工作负载中的平均文件大小和最大文件大小以及卷中的文件是否随时间增长、此可用空间阈值会有所不同。
建议为"卷接近全满"设置警报/警告和/或利用配额来帮助监控可用空间。TR-4571 介绍了如何对FlexGroup卷使用空间监控。
通常、最好在成分卷命中率不超过80%时发出通知、以便有足够的时间来规划和更正容量问题。
其他注意事项
标准化
调整FlexGroup容量(如中所示、文件已被删除或大小已添加到FlexGroup)后、成分卷容量将自行规范化并恢复为其常规容量级别。
自动增长
卷自动增长可与弹性大小调整结合使用、但它们会独立运行。这意味着、如果在卷上启用了卷自动调整、则弹性调整将不再使用。
::*> 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.
::*> event log show -message-name *auto*
Time Node Severity Event
------------------- ---------------- ------------- ---------------------------
11/12/2019 16:55:59 ontap9-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.
追加信息
其他信息文本