diff --git a/etc/defaults/periodic.conf b/etc/defaults/periodic.conf index b3be114fd98a..789921d27bba 100644 --- a/etc/defaults/periodic.conf +++ b/etc/defaults/periodic.conf @@ -112,6 +112,9 @@ daily_status_gstripe_enable="NO" # Check gstripe(8) # 409.status-gconcat daily_status_gconcat_enable="NO" # Check gconcat(8) +# 410.status-mfi +daily_status_mfi_enable="NO" # Check mfiutil(8) + # 420.status-network daily_status_network_enable="YES" # Check network status daily_status_network_usedns="YES" # DNS lookups are ok diff --git a/etc/periodic/daily/410.status-mfi b/etc/periodic/daily/410.status-mfi new file mode 100644 index 000000000000..6e13fbb5a74f --- /dev/null +++ b/etc/periodic/daily/410.status-mfi @@ -0,0 +1,33 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_status_mfi_enable" in + [Yy][Ee][Ss]) + echo + echo 'Checking status of mfi(4) devices:' + + if mfiutil show volumes; then + if mfiutil show volumes | grep -q DEGRADED; then + rc=3 + else + rc=0 + fi + else + rc=2 + fi + ;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/Makefile b/etc/periodic/daily/Makefile index d2052f22c734..b1b3dc585f0e 100644 --- a/etc/periodic/daily/Makefile +++ b/etc/periodic/daily/Makefile @@ -13,6 +13,7 @@ FILES= 100.clean-disks \ 400.status-disks \ 401.status-graid \ 406.status-gmirror \ + 410.status-mfi \ 407.status-graid3 \ 408.status-gstripe \ 409.status-gconcat \ diff --git a/share/man/man5/periodic.conf.5 b/share/man/man5/periodic.conf.5 index cd56745e572f..abcf4a358d24 100644 --- a/share/man/man5/periodic.conf.5 +++ b/share/man/man5/periodic.conf.5 @@ -399,6 +399,15 @@ if you want to run on your .Xr gconcat 8 devices. +.It Va daily_status_mfi_enable +.Pq Vt bool +Set to +.Dq Li YES +if you want to run +.Nm mfiutil Cm status +on your +.Xr mfi 4 +devices. .It Va daily_status_network_enable .Pq Vt bool Set to