什么是 ONTAP 中的服务质量 (QoS)?
适用于
- ONTAP 9
回答
服务质量(QoS)是限制存储对象的一种方式,但也包括使用 QoS 统计命令 对卷进行性能监控
注意:自适应 QoS 略有不同,请参阅文章什么是自适应 QoS 及其工作原理?
什么是存储对象?
- 具有 FlexVol 卷的 Vserver
- FlexVol 卷 QoS 工作负载
- LUN
- 文件(通常表示虚拟机)
- 可以包括 ONTAP 内部的系统进程,称为系统定义的工作负载
注意:从 ONTAP 9.2 开始,针对 SAN 工作负载引入了自适应 QoS,并在 ONTAP 9.3 中扩展到 NAS。有关更多信息,请参阅 自适应 QoS 页面。
何时使用 QoS?
- 防止工作负载影响性能
- 使关键应用程序能够实现一致的性能
- 监控 和管理 应用程序工作负载
QoS 策略有哪些组成部分?
- 工作负载 类型包括:
- 用户定义的工作负载
- 从 Clustered Data ONTAP 8.3 开始,所有创建的 FlexVols 都会自动 分配一个工作负载 ID
- 未分配给策略组的存储对象的 I/O 属于"
User-Default"工作负载
- 系统定义的工作负载
- 用户定义的策略组 - 通过限制输入/输出(I/O)请求对属于策略组的存储对象强制实施最大吞吐量限制
- 系统定义的策略组 - 管理集群执行的内部工作
- 用户定义的工作负载
- QoS 策略:允许的最大 IOPs 和/或吞吐量
将存储对象分配给策略组的规则是什么?
- 存储对象和策略组必须属于同一个 Vserver
- 创建策略组时指定策略组所属的 Vserver
- 多个策略组可以属于同一个 Vserver
- 多个存储对象可以放在单个策略组中
- 单个存储对象可以放在单个策略组中
- 一个存储对象不能分配两个不同的策略组
- 嵌套的存储对象不能属于策略组:
| 如果...... | 禁止操作 |
|---|---|
| 将 Vserver 分配给策略组 | 将 Vserver 包含的任何存储对象分配给策略组 |
| 将卷分配给策略组 | 将包含该卷的 Vserver 或任何子 LUN 或文件分配给策略组 |
| 将 LUN 分配给策略组 | 将 LUN 所在的卷或 Vserver 分配给策略组 |
| 将文件分配给策略组 | 将包含该文件的卷或 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),确定卷的每秒输入/输出操作(IOPS)和吞吐量
- 要识别卷吞吐量或 IOPs,请查看如何从 Active IQ Unified Manager 监控卷延迟
- AIQ 不会实时更新, 因此建议下载 AIQUM或使用
qos statistics命令进行监控
- 看到最高值后,设置一个比峰值略小的值。
- 逐步降低节流值,直到延迟达到所需水平。
注:
- ONTAP 几乎可以立即调整 QoS 限制,因此您可以使用
qos statistics命令进行实时监控,这样用户受到的影响不会超过几秒钟。 - 请参阅文章是否可以提高 QoS 策略的 IOPS,还是会导致性能问题?以获取一些其他指导。
如果 QoS 限制太高,会发生什么?
请参阅文章 QoS 限制导致卷延迟过高 和 我能否增加 QoS 策略的 IOPS,还是会导致性能问题?
应该使用内置的价值、性能和固定策略,还是应该创建自定义策略?
- 默认值可以提供一个起点,但实际上应在监控性能后进行自定义。
- 同样,请参见文章 QoS 限制导致卷延迟过高 和 是否可以提高 QoS 策略的 IOPS,还是会导致性能问题?
追加信息
- 自适应 QoS 信息
- QoS 命令文档
- 如何避免 ONTAP Select 集群中的欺凌应用程序性能问题
- qos statisitcs 命令文档
- 如何查看在 ONTAP qos 统计信息输出中截断的完整卷或工作负载名称
创建服务质量(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::>