什么是ONTAP中的服务质量(QoS)?
适用场景
- ONTAP 9
- ONTAP Select v9.12.1 及更高版本
问题解答
服务质量 (QoS) 是一种限制存储对象的方法,但也包括使用QoS 统计命令对卷进行性能监控
注意:自适应 QoS 略有不同,在文章“什么是自适应 QoS 以及它如何工作?”中介绍。
什么是存储对象?
- 带有 FlexVol 卷的 Vserver
- FlexVol 卷 QoS 工作负载
- LUN
- 文件(通常代表虚拟机)
- 可以包括 ONTAP 内部的系统进程,称为系统定义的工作负载
注:从 ONTAP 9.2 开始,自适应 QoS 已针对 SAN 工作负载引入,并在 ONTAP 9.3 中扩展到 NAS。有关更多信息,请参阅自适应 QoS 页面。
何时使用 QoS?
- 防止工作负载影响性能
- 使关键应用程序实现一致的性能
- 监控和管理应用程序工作负载
QoS 策略的组成部分有哪些?
- 工作负载类型包括:
- 用户定义的工作负载
- 从 Clustered Data ONTAP 8.3 开始,所有创建的 FlexVol 都会自动分配一个工作负载 ID
- ,对未分配给属于“
User-Default
“工作量
- 系统定义的工作负载
- 用户定义的策略组 - 通过限制输入/输出 (I/O) 请求,对属于该策略组的存储对象强制实施最大吞吐量限制
- 系统定义的策略组 - 管理集群执行的内部工作
- 用户定义的工作负载
- QoS 策略:允许的最大 IOP 和/或吞吐量
将存储对象分配给策略组的规则是什么?
- 存储对象和策略组必须属于同一个 Vserver
- 创建策略组时指定策略组所属的 Vserver
- 多个策略组可以属于同一个 Vserver 可以将
- 多个存储对象放在一个策略组中 可以将
- 一个存储对象放在一个策略组中 不能
- 为一个存储对象分配两个不同的策略组 嵌套
- 的存储对象不能属于策略组:
如果... | 禁止操作 |
---|---|
Vserver 到策略组 | Vserver 包含的任何存储对象都归入策略组 |
将卷分配给策略组 | 该卷包含 Vserver 或任何子 LUN 或文件到策略组 |
将 LUN 分配给策略组 | 将包含卷或 Vserver 的 LUN 添加到策略组 |
将文件分配给策略组 | 该文件包含卷或 Vserver 到策略组 |
QoS 不支持什么?
- 聚合
- 整个节点
- 负载共享镜像
- 节点根卷
- Data ONTAP 7 模式 FlexCache 卷
注: 7 模式 FlexCache 使用的技术与 ONTAP 9 版本不同。有关更多信息,请参阅FlexCache 技术报告。
ONTAP 9 中的 QoS 配置限制是什么?
下表显示了 ONTAP 9 版本的最大工作负载和策略组数量:
工作负载支持 | 9.3及更早版本 | 9.4 及更高版本 |
---|---|---|
每个集群的最大工作负载 | 12,000 | 40,000 |
每个节点的最大工作负载 | 12,000 | 40,000 |
最大策略组 | 12,000 | 12,000 |
QoS 限制应设置为何值?
- 使用Active IQ (AIQ) 或 Active IQ Unified Manager (AIQUM) 确定卷的每秒输入/输出操作数( IOP) 和吞吐量
- 要确定卷吞吐量或 IOP,请查看如何从 Active IQ Unified Manager 监控卷延迟
- AIQ 不会实时更新,因此建议下载 AIQUM或使用以下方式监控
qos statistics
命令
- 一旦达到峰值,就逐步设置一个小于峰值的值。
- 逐步降低节流阀值,直到延迟达到理想水平。
注:
- ONTAP 将几乎立即调整 QoS 限制,因此您可以实时监控
qos statistics
命令,这样用户就不会受到超过几秒钟的影响。 - 请参阅文章“我可以提高 QoS 策略的 IOPS 吗?这会导致性能问题吗?”以获取更多指导。
如果 QoS 限制太高会发生什么?
请参阅文章QoS 限制导致高卷延迟和我可以增加 QoS 策略的 IOPS 吗?或者它会导致性能问题吗?
是否应该使用内置的价值、性能和固定策略,还是应该制定自定义策略?
- 默认策略可以提供一个起点,但实际上,自定义策略应该在监控性能后进行。
- 同样,请参阅文章: QoS 限制导致高卷延迟和我可以提高 QoS 策略的 IOPS 吗?还是这会导致性能问题?
追加信息
创建 QoS 策略的示例:
Cluster::> qos policy-group create -policy-group vol1-qos -vserver svm0 -max-throughput 50iops,10MB/s -min-throughput 0 Cluster::> vol modify -volume vol1 -qos-policy-group vol1-qos Volume modify successful on volume test_cifs_homedir of Vserver svm0. Cluster::> qos policy-group show Name Vserver Class Wklds Throughput Is Shared ---------------- ----------- ------------ ----- ------------ --------- vol3-qos svm0 user-defined 0 0-3000IOPS,200MB/s true vol1-qos svm0 user-defined 1 0-50IOPS,10MB/s true 2 entries were displayed. Cluster::> vol show -fields volume,qos-policy-group,qos-adaptive-policy-group vserver volume qos-policy-group qos-adaptive-policy-group --------------- ------ ---------------- ------------------------- Cluster-node1 vol0 - - svm0 svm_root - - svm0 vol1 vol1-qos - svm0 vol3 vol3-qos - 3 entries were displayed. Cluster::>