Novidades do XFS

EXT4 é legado

Upcoming XFS Work in Linux v4.8 v4.9 and v4.10+ (Oracle Mainline Linux Kernel Development)

Darrick J. Wong, da Oracle, juntou-se ao time de desenvolvimento do sistema de arquivos XFS e tem feito contribuições significativas.

No kernel 4.8, foi adicionada mais uma árvore B+, que mapeia, dentro dos metadados, cada bloco a seu dono[1]. Na versão 4.9, foi introduzido suporte ao compartilhamento de extents, cujo pilar é outra outra árvore B+[2]. Assim, copy-on-write[3], um dos diferenciais do Btrfs, chega ao XFS[4].

Ambos recursos dependem do formato V5 e são experimentais.

A árvore B+ adicionada no kernel 4.8 (rmapbt) será aproveitada a partir do kernel 4.11, que, confirmado o cronograma, trará capacidade de autoconsertar alguns problemas na estrutura do sistema de arquivos sem precisar desmontá-lo. Dependerá, no espaço de usuário, da ferramenta xfs_scrub da suíte xfsprogs[5], que interagirá com o kernel através de uma nova requisição da chamada de sistema ioctl()[6].

Levando em conta como o formato V5 foi desenvolvido, suponho que demore cerca de um ano para tais novidades maturarem.

Durante a instalação, o Red Hat Enterprise Linux 7.3 cria XFS V5 (sem finobt/spinodes). Do 7.0 ao 7.2, era criado XFSv4. Aos poucos, o novo formato e seus recursos são adotados em ambientes de produção.


[1] xfsprogs 4.8.0+: mkfs.xfs -m rmapbt=0|1.
[2] xfsprogs 4.9.0+: mkfs.xfs -m reflink=0|1.
[3] User notes on dedupe (Btrfs wiki); XFS has gained super CoW powers!.
[4] XFS não suporta subvolumes como o Btrfs; portanto, apenas arquivos individuais podem ser reflinkados; como exemplo de implementação, ver este commit do systemd.
[5] xfsprogs 4.11.0+ provavelmente.
[6] XFS_IOC_SCRUB_METADATA, que dependerá da opção CONFIG_XFS_ONLINE_REPAIR, desabilitada por padrão enquanto for experimental.

Comentários