Skip to content

Commit 713ac04

Browse files
author
Paul Dagnelie
committed
Make parameter tunable
Signed-off-by: Paul Dagnelie <[email protected]>
1 parent fc81efd commit 713ac04

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

man/man4/zfs.4

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,30 @@ redundancy.
615615
Defaults to 600 seconds and a value of zero disables disk sit-outs in general,
616616
including slow disk outlier detection.
617617
.
618+
.It Sy vdev_raidz_outlier_check_interval_ms Ns = Ns Sy 1000 Ns ms Po 1 sec Pc Pq ulong
619+
How often each RAID-Z and dRAID vdev will check for slow disk outliers.
620+
Increasing this interval will reduce the sensitivity of detection (since all
621+
I/Os since the last check are included in the statistics), but will slow the
622+
response to a disk developing a problem.
623+
Defaults to once per second; setting extremely small values may cause negative
624+
performance effects.
625+
.
626+
.It Sy vdev_raidz_outlier_insensitivity Ns = Ns Sy 50 Pq uint
627+
When performing slow outlier checks for RAID-Z and dRAID vdevs, this value is
628+
used to determine how far out an outlier must be before it counts as an event
629+
worth consdering.
630+
This is phrased as "insensitivity" because larger values result in fewer
631+
detections.
632+
Smaller values will result in more aggressive sitting out of disks that may have
633+
problems, but may significantly increase the rate of spurious sit-outs.
634+
.Pp
635+
To provide a more technical definition of this parameter, this is the multiple
636+
of the inter-quartile range (IQR) that is being used in a Tukey's Fence
637+
detection algorithm.
638+
This is much higher than a normal Tukey's Fence k-value, because the
639+
distribution under consideration is probably an extreme-value distribution,
640+
rather than a more typical Gaussian distribution.
641+
.
618642
.It Sy vdev_removal_max_span Ns = Ns Sy 32768 Ns B Po 32 KiB Pc Pq uint
619643
During top-level vdev removal, chunks of data are copied from the vdev
620644
which may include free space in order to trade bandwidth for IOPS.

module/zfs/vdev_raidz.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5475,4 +5475,6 @@ ZFS_MODULE_PARAM(zfs_vdev, vdev_, read_sit_out_secs, ULONG, ZMOD_RW,
54755475
"Raidz/draid slow disk sit out time period in seconds");
54765476
ZFS_MODULE_PARAM(zfs_vdev, vdev_, raidz_outlier_check_interval_ms, ULONG,
54775477
ZMOD_RW, "Interval to check for slow raidz/draid children");
5478+
ZFS_MODULE_PARAM(zfs_vdev, vdev_, raidz_outlier_insensitivity, UINT,
5479+
ZMOD_RW, "How insensitive the slow raidz/draid child check should be");
54785480
/* END CSTYLED */

0 commit comments

Comments
 (0)