siderolabs / talos

Talos Linux is a modern Linux distribution built for Kubernetes.
https://www.talos.dev
Mozilla Public License 2.0
6.97k stars 564 forks source link

xfs_scrub controller #9545

Open frezbo opened 1 month ago

frezbo commented 1 month ago

Feature Request

Implement a Talos controller for periodically running xfs_scrub. This also needs to be configurable by a machine configuration document.

References

dsseng commented 6 days ago

Perhaps it should be not only for XFS but flexible with possibilities to include e.g. btrfs we plan on adding, as it is also often used with a maintenance schedule in place. So I'd do a config format listing scrub configs for each FS type.

smira commented 6 days ago

If we want to make it simple, I would start with defaults and a feature flag which enables it (and we keep it disabled for now). Then, we look at all VolumeStatuses, find ones which are Ready, match on filesystem type, and schedule xfs_scrub accordingly from boot time

frezbo commented 6 days ago

If we want to make it simple, I would start with defaults and a feature flag which enables it (and we keep it disabled for now). Then, we look at all VolumeStatuses, find ones which are Ready, match on filesystem type, and schedule xfs_scrub accordingly from boot time

I think we'd still need the interval to be configurable, since this could potentially lockup writes to filesystem

dsseng commented 6 days ago

Yes, these operations might make system slow

dsseng commented 6 days ago

We should also note in the docs that xfs_scrub is considered an experimental program according to its docs