Oracle® Solaris 11.2 可调参数参考手册

退出打印视图

更新时间: 2014 年 12 月
 
 

zfs_vdev_max_pending

说明

此参数控制每个设备待处理的最大并发 I/O 数。

数据类型

整型

缺省值

10

范围

0 - MAXINT

动态?

验证

何时更改

在存储阵列(LUN 由大量磁盘驱动器组成)中,ZFS 队列可能成为读取 IOPS 的限制因素。该行为是采取向 ZFS 存储池提供与磁盘轴数量相同的 LUN 这一最佳做法的根本原因之一。也就是说,如果以宽度为 10 个磁盘的阵列级别 RAID 组创建 LUN,则使用 5 到 10 个 LUN 构建存储池可以使 ZFS 充分管理 I/O 队列而无需设置此特定可调参数。

但是,如果未使用任何单独的意图日志,并且存储池由 JBOD 磁盘组成,则使用较小的 zfs_vdev_max_pending 值(如 10)可在同步写入争用磁盘资源时改善同步写入延迟。使用单独的意图日志设备可以缓解为同步密集写入型负载调优此参数的需求,因为这些同步写入操作不会与深度较大的非同步写入操作队列争用磁盘资源。

在卷仅由少数几个轴组成的情况下,调优此参数对基于 NVRAM 的存储阵列没有效果。但是,当 ZFS 中存在由大量(超过 10 个)轴组成的卷时,此参数会限制该卷所获取的读取吞吐量。原因是当每个 LUN 中的排队 I/O 数最大达到 10 或 35 时,会导致每个存储轴上的 I/O 数小于 1,这不足以让单个磁盘传送其 IOPS。此问题可能在 iostat actv 队列输出接近 zfs_vdev_max_pending 值时出现。

设备驱动程序也可能会限制每个 LUN 中未处理的 I/O 数。如果在可以处理大量并发 IOPS 的存储阵列上使用 LUN,则设备驱动程序约束可能会限制并发性。请参考您系统中使用的驱动程序的配置。例如,QLogic ISP2200、ISP2300 和 SP212 系列 FCl HBA (qlc) 驱动程序的限制在 /kernel/drv/qlc.conf 中描述为执行限制参数。

交付级别

不稳定