zfs-exporter icon indicating copy to clipboard operation
zfs-exporter copied to clipboard

Support new zpool status: ZPOOL_STATUS_HOSTID_ACTIVE, ZPOOL_STATUS_HOSTID_REQUIRED and ZPOOL_STATUS_IO_FAILURE_MMP

Open rdegez opened this issue 6 years ago • 0 comments

Hi,

After upgarding zfs on a Linux system, we noticed that the ZPOOL_STATUS enum now contains 28 entry (0 to 27) instead of 25. (shifting the ZPOOL_STATUS_OK position from 24 to 27 in the process... triggering an alert in our Prometheus monitoring :-)

According to https://github.com/zfsonlinux/zfs/blob/master/include/libzfs.h, 3 new status were added: ZPOOL_STATUS_HOSTID_ACTIVE, ZPOOL_STATUS_HOSTID_REQUIRED and ZPOOL_STATUS_IO_FAILURE_MMP.

For the record, here is the full list of values in zpool_status_t enum :

0 ZPOOL_STATUS_CORRUPT_CACHE, /* corrupt /kernel/drv/zpool.cache / 1 ZPOOL_STATUS_MISSING_DEV_R, / missing device with replicas / 2 ZPOOL_STATUS_MISSING_DEV_NR, / missing device with no replicas / 3 ZPOOL_STATUS_CORRUPT_LABEL_R, / bad device label with replicas / 4 ZPOOL_STATUS_CORRUPT_LABEL_NR, / bad device label with no replicas / 5 ZPOOL_STATUS_BAD_GUID_SUM, / sum of device guids didn't match / 6 ZPOOL_STATUS_CORRUPT_POOL, / pool metadata is corrupted / 7 ZPOOL_STATUS_CORRUPT_DATA, / data errors in user (meta)data / 8 ZPOOL_STATUS_FAILING_DEV, / device experiencing errors / 9 ZPOOL_STATUS_VERSION_NEWER, / newer on-disk version / 10 ZPOOL_STATUS_HOSTID_MISMATCH, / last accessed by another system / 11 ZPOOL_STATUS_HOSTID_ACTIVE, / currently active on another system / 12 ZPOOL_STATUS_HOSTID_REQUIRED, / multihost=on and hostid=0 / 13 ZPOOL_STATUS_IO_FAILURE_WAIT, / failed I/O, failmode 'wait' / 14 ZPOOL_STATUS_IO_FAILURE_CONTINUE, / failed I/O, failmode 'continue' / 15 ZPOOL_STATUS_IO_FAILURE_MMP, / failed MMP, failmode not 'panic' / 16 ZPOOL_STATUS_BAD_LOG, / cannot read log chain(s) / 17 ZPOOL_STATUS_ERRATA, / informational errata available / 18 ZPOOL_STATUS_UNSUP_FEAT_READ, / unsupported features for read / 19 ZPOOL_STATUS_UNSUP_FEAT_WRITE, / unsupported features for write / 20 ZPOOL_STATUS_FAULTED_DEV_R, / faulted device with replicas / 21 ZPOOL_STATUS_FAULTED_DEV_NR, / faulted device with no replicas / 22 ZPOOL_STATUS_VERSION_OLDER, / older legacy on-disk version / 23 ZPOOL_STATUS_FEAT_DISABLED, / supported features are disabled / 24 ZPOOL_STATUS_RESILVERING, / device being resilvered / 25 ZPOOL_STATUS_OFFLINE_DEV, / device offline / 26 ZPOOL_STATUS_REMOVED_DEV, / removed device */ 27 ZPOOL_STATUS_OK

We are fine with the zfs-exporter code as it is because it return a numeric status sufficient for alerting but maybe updating the zfs_zpool_poolstatus metric help text would be a good idea :-)

Cheers

rdegez avatar Sep 04 '18 09:09 rdegez