Details
-
Improvement
-
Resolution: Fixed
-
Minor
-
Upstream, Lustre 2.15.0
-
None
-
Lustre filesystem with ZFS as backend filesystem for OST's.
Description
We have the obdfilter.testfs-OST000*.degraded value set/unset by zedlets (/etc/zfs/zed.d/statechange-lustre.sh) based on zpool being DEGRADED/ONLINE, We'd like to have this behavior enabled/disabled through an option so that we have I/O or newer allocations to DEGRADED OST's as well and hence there is no degradation in net bandwidth of the filesystem due to the degraded OSTs.
Introduce a new Lustre-specific ZFS dataset user property (lustre:autodegrade=on|off) for this purpose. Update the Lustre zedlet and also extend the mkfs.lustre utility to add this property by default when creating a new Lustre server(only for ZFS OSTs). The default behavior would remain the same (lustre:autodegrade=on) which disables new allocations to DEGRADED OSTs.
Creating a user property has a few advantages:
- User properties are a generic ZFS feature and won't be interpreted by ZFS itself. No ZFS changes are needed.
- The property can be set per dataset providing more granularity.
- The property is persistent and will survive reboots.