什么是 ONTAP 中的服务质量( QoS )?
不可不使用
适用场景
ONTAP 9
问题解答
服务质量是一种限制存储对象的方法、但也包括使用 QoS 统计信息命令监控卷的性能
注意: 自适应服务质量( QoS)略有不同、将在文章什么是自适应服务质量(QoS)?它如何工作?中介绍。
什么是存储对象?
- 包含FlexVol卷的Vserver
- FlexVol卷QoS工作负载
- LUN
- 文件(通常表示虚拟机)
- 可以包括ONTAP内部的系统进程、称为系统定义的工作负载
注意: 从ONTAP 9.2开始、为SAN工作负载引入了自适应QoS、并在ONTAP 9.3中扩展到NAS。有关详细信息,请参阅 自适应QoS页面。
何时使用QoS?
- 防止工作负载影响性能
- 支持关键应用程序实现稳定一致的性能
- 监控 和管理 应用程序工作负载
QoS策略包含哪些组件?
- 工作负载 类型包括:
- 用户定义的工作负载
- 从集群模式Data ONTAP 8.3开始、所有创建的FlexVol都会自动分配一个工作负载ID
- 未分配给策略组的存储对象的I/O属于""
User-Default
工作负载
- 系统定义的工作负载
- 用户定义的工作负载
- 用户定义的策略组—通过限制输入/输出(I/O)请求来对属于该策略组的存储对象强制实施最大吞吐量限制
- 系统定义的策略组—管理集群执行的内部工作
- QoS策略:允许的最大IOPS和/或吞吐量
将存储对象分配给策略组的规则是什么?
- 存储对象和策略组必须属于同一个Vserver
- 在创建策略组时、指定策略组所属的Vserver
- 多个策略组可以属于同一个Vserver
- 可以将多个存储对象放在一个策略组中
- 一个存储对象可以放在一个策略组中
- 存储对象不能分配两个不同的策略组
- 嵌套存储对象不能属于策略组:
如果... | 禁止操作 |
---|---|
将Vserver分配给策略组 | 将Vserver包含的任何存储对象分配给策略组 |
将卷分配给策略组 | 将卷所属的Vserver或任何子LUN或文件分配给策略组 |
将 LUN 分配给策略组 | 将LUN所属的卷或SVserver分配给策略组 |
将文件分配给策略组 | 将文件所属的卷或SVserver分配给策略组 |
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)确定卷的IOPS和吞吐量
- 要确定卷吞吐量或IOPS、请查看 如何从Active IQ Unified Manager监控卷延迟
- AIQ不会实时更新、 因此建议 [1] 使用
qos statistics
命令下载AIQUM或监控器
- 看到最高值后、设置一个增量小于峰值的值。
- 逐步将限制值设置为较低、直到延迟达到所需级别。
注:
- ONTAP将近乎即时地调整QoS限制、因此您可以使用
qos statistics
命令实时监控 、这样用户就不会受到几秒钟以上的影响。 - 请参阅文章 可否在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::>