U souborového systému XFS byla oprava metadat za běhu (online fsck) slíbena do konce tohoto roku. Je totiž podmínkou pro zmenšení souborového systému na disku, což je jedna z vlastností, která uživatelům XFS zatím chybí.
Do jádra 6.6 se tak dostává první část podpory opravy meatadat za běhu. V současnosti je již v jádře kontrola metadat za běhu (RO). Je potřeba mít jádro zkompilováno s CONFIG_XFS_ONLINE_SCRUB
a pak použít například xfs_scrub -n /mnt/data
, nebo xfs_scrub -nx /mnt/data
(pak se čtou i všechny soubory, ty tedy nemají v XFS zatím kontrolní součty, ale odhalily by se případné I/O chyby disku). V jádře už je nějakou dobu připravena i volba pro opravy CONFIG_XFS_ONLINE_REPAIR
, ta ale zatím nic nedělá.
# xfs_scrub /mnt/data EXPERIMENTAL xfs_scrub program in use! Use at your own risk! Error: /mnt/data: Kernel metadata repair facility is not available. Use -n to scrub.
Mimochodem, většina distribucí se systemd má nastavenou pravidelnou kontrolu souborových systémů EXT 2–4 e2scrub_all.timer
. Podmínkou však je mít souborový systém na LVM. Používáte to někdo?
$ systemctl status e2scrub_all.timer ● e2scrub_all.timer - Periodic ext4 Online Metadata Check for All Filesystems Loaded: loaded (/lib/systemd/system/e2scrub_all.timer; enabled; vendor preset: enabled) Active: active (waiting) since Thu 2023-08-31 09:41:29 CEST; 1 day 3h ago Trigger: Sun 2023-09-03 03:10:33 CEST; 1 day 14h left Triggers: ● e2scrub_all.service
XFS má podobnou službu také, jen bude většinou ve výchozím stavu vypnutá.
$ systemctl status xfs_scrub_all.timer ○ xfs_scrub_all.timer - Periodic XFS Online Metadata Check for All Filesystems Loaded: loaded (/lib/systemd/system/xfs_scrub_all.timer; disabled; vendor preset: enabled) Active: inactive (dead) Trigger: n/a Triggers: ● xfs_scrub_all.service
(zdroj: phoronix)