mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-27 19:39:35 +03:00
904ea2763e
When a vdev starts getting I/O or checksum errors it is now possible to automatically rebuild to a hot spare device. To cleanly support this functionality in a shell script some additional information was added to all zevent ereports which include a vdev. This covers both io and checksum zevents but may be used but other scripts. In the Illumos FMA solution the same information is required but it is retrieved through the libzfs library interface. Specifically the following members were added: vdev_spare_paths - List of vdev paths for all hot spares. vdev_spare_guids - List of vdev guids for all hot spares. vdev_read_errors - Read errors for the problematic vdev vdev_write_errors - Write errors for the problematic vdev vdev_cksum_errors - Checksum errors for the problematic vdev. By default the required hot spare scripts are installed but this functionality is disabled. To enable hot sparing uncomment the ZED_SPARE_ON_IO_ERRORS and ZED_SPARE_ON_CHECKSUM_ERRORS in the /etc/zfs/zed.d/zed.rc configuration file. These scripts do no add support for the autoexpand property. At a minimum this requires adding a new udev rule to detect when a new device is added to the system. It also requires that the autoexpand policy be ported from Illumos, see: https://github.com/illumos/illumos-gate/blob/master/usr/src/cmd/syseventd/modules/zfs_mod/zfs_mod.c Support for detecting the correct name of a vdev when it's not a whole disk was added by Turbo Fredriksson. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Chris Dunlap <cdunlap@llnl.gov> Signed-off-by: Turbo Fredriksson <turbo@bayour.com> Issue #2
35 lines
961 B
Plaintext
35 lines
961 B
Plaintext
# zed.rc
|
|
|
|
# Absolute path to the debug output file.
|
|
#ZED_DEBUG_LOG="/tmp/zed.debug.log"
|
|
|
|
# Email address of the zpool administrator.
|
|
# Email will only be sent if ZED_EMAIL is defined.
|
|
#ZED_EMAIL="root"
|
|
|
|
# Email verbosity.
|
|
# If set to 0, suppress email if the pool is healthy.
|
|
# If set to 1, send email regardless of pool health.
|
|
#ZED_EMAIL_VERBOSE=0
|
|
|
|
# Minimum number of seconds between emails sent for a similar event.
|
|
#ZED_EMAIL_INTERVAL_SECS="3600"
|
|
|
|
# Default directory for zed lock files.
|
|
#ZED_LOCKDIR="/var/lock"
|
|
|
|
# Default directory for zed state files.
|
|
#ZED_RUNDIR="/var/run"
|
|
|
|
# The syslog priority (eg, specified as a "facility.level" pair).
|
|
#ZED_SYSLOG_PRIORITY="daemon.notice"
|
|
|
|
# The syslog tag for marking zed events.
|
|
#ZED_SYSLOG_TAG="zed"
|
|
|
|
# Replace a device with a hot spare after N I/O errors are detected.
|
|
#ZED_SPARE_ON_IO_ERRORS=1
|
|
|
|
# Replace a device with a hot spare after N checksum errors are detected.
|
|
#ZED_SPARE_ON_CHECKSUM_ERRORS=10
|