Novos recursos do Btrfs

Novos recursos do Btrfs
Novos recursos do Btrfs

    Btrfs é o sistema de arquivos que ao longo de muito tempo eu venho promovendo tanto no meu canal e no meu blog pois traz recursos muito assemelhante ao ZFS e ao ReiserFS porém, implementados de forma diferente. O Btrfs é fortemente utilizado por empresas como Facebook, Suse, Oracle e até mesmo exigido pela LPI.
    Nos últimos meses, novos recursos foram implementados e aqui eu vou debater sobre eles.


 SOLUCIONANDO PROBLEMA ENTRE  VFS/BTRFS/NFS

    
NeilBrown da Suse enviou no dia 12 de Agosto o patch corrige problemas que ocorrem entre o Nfsd e o Btrfs. A questão é que o Btrfs não fornece números de inode único através de outros sistemas de arquivos, mas sim através de subvolumes e utiliza números de dispositivo sintético para subvolumes diferentes para garantir singularidade entre dispositivo e inode.

    O problema é que o Nfsd não consegue trabalhar com números de dispositivo variante podendo causar problema no subvolume. Este patch permite que Btrfs ou qualquer outro sistema de arquivos forneça um número de 64 bits tornando o resultado mais único entre subvolumes e sistemas de arquivos (talvez a partir disso poderemos ter a solução para problema do VFS :)


IDMAPPED MOUNTS


    Em maio eu havia postando que Christian Brauner da Canonical estava portando o idmapped mounts para o Btrfs (essa informação pode ser lida clicando aqui). Já no dia 31 de julho Christian retornou com o novo patch que traz o total de 71 novidades no idmapped mounts que estão divididos dentro de BTRFS_IOC_{SNAP,SUBVOL}_CREATE_V2, BTRFS_IOC_SNAP_DESTROY_V2, BTRFS_IOC_SUBVOL_SETFLAGS e BTRFS_IOC_INO_LOOKUP_USER.


NOVA AJUDA NA OPÇÃO DEFRAG


    Qu Wenruo da Suse que enviou o patch introduz a opção desfragmentar um intervalo (defrag_one_range()) que reverifica status de extents e paginas para garantir melhor consistência. Ainda não houve resposta para esse patch, mas vamos aguardar. 

    Ainda falando de desfragmentação (que é uma super vantagem sobre o ZFS), há ainda um recurso para a opção defrag e autodefrag que Josef Basick anunciou em Julho de 2020 que aguardo bastante. Josef até informou que o autodefrag é muito util com arquivos pequenos como é o caso dos 9.000 arquivos sqllite que o Firefox utiliza, mas não tão util para arquivos gigantescos como é o caso de imagens de máquinas virtuais pois leva-se muito tempo para desfragmentar.

    Uma solução que é indicada há muito tempo é copiar a imagem da máquina virtual para uma nova utilizando recurso de de-duplicação (quer saber como solucionar esse problema. Confira o meu minicurso de atributos no Linux clicando aqui).

    Já a solução sugerida por Josef seria poder passar um parâmetro no defrag/autodefrag onde os usuários poderiam definir por arquivo ou diretório permitindo manter o controle de onde exatamente ocorrerá a atividade extra de escrita.

add an autodefrag property
Esse  é o submit do Josef mencionando que pretende adicionar o recurso ao autodefrag para trabalhar corretamente.

    
Há recursos que existem no ZFS que eu ainda espero ver no Btrfs (um deles seria o mesmo que existe no Bcachefs e que já até tratei em uma live. Esse recurso permite utilizar o ssd como cache em conjunto com o HD para acelerar o processo (acho um erro cometido pelo autor do Bcachefs desenvolver todo um sistema de arquivos somente para implementar um único recurso). Outro seria a capacidade de armazenamento do ZFS (256 quatrilhões de zebibytes enquanto que o Btrfs é de 16 EiB). 
Agora é tudo questão de aguardar para ver o que o futuro nos espera e aguardar mais novos recursos no Btrfs.

 Agradeço ao Anderson Rincon pela revisão


Comente com o Facebook:

Nenhum comentário:

Postar um comentário

Viu algum erro e quer compartilhar seu conhecimento? então comente aí.

Observação: somente um membro deste blog pode postar um comentário.

Marcadores

A pior história sobre Linux que já ouvi (5) A.I (1) ambiente gráfico (19) AMD (14) analise (10) Andriod (16) android (7) Apple (1) arm (4) artigo (5) aws (1) bc (23) benchmark (6) BetrFS (1) blackhat (1) BSDs (29) btrfs (32) bugs (2) Caixa de Ferramentas do UNIX (19) canto do Diego Lins (2) certificações Linux (7) Código Fonte (54) comandos (30) comp (1) compressores (5) container (7) CPU (19) cracker (1) criptografia (5) crowdfunding (9) cursos (24) daemons (13) Debian (31) desempenho (1) desenvolvimento (90) desktop (19) DevOps (3) DevSecOps (4) dic (1) Dica de leitura (90) dica DLins (2) dicas do Flávio (27) Dicas TechWarn (1) diet libc (3) diocast (1) dioliunx (3) distribuições Linux (14) Docker (12) DragonflyBSD (22) driver (1) ead Diolinux (2) edição de vídeo (5) embarcados (1) EMMI Linux (4) emuladores (9) endless (5) English interview (3) Enless OS (2) entrevista (17) espaço aberto (82) evento (6) facebook (1) Fedora (10) filesystem (82) financiamento coletivo (2) fork (4) fox n forests (4) FreeBSD (20) Funtoo Linux (13) games (93) gerenciadores de pacotes (4) glaucus (2) GOG (3) google (8) gpu (3) hacker (2) hardware (104) hash (1) helenos (3) I.A (1) init system (10) Intel (15) inteligencia artificial (1) IoT (1) ispconfig (1) jogos (37) kde (1) kernel (138) lançamento (64) leis (1) LFCS (1) libs (2) licenças (8) Linus (16) linus torvalds (2) Linux (194) linux foundation (3) linux para leigos (1) live (5) LPI (8) LTS (1) Mac (1) machine learning (1) matemática (9) mesa redonda (27) microcontroladores (1) microsoft (6) microst (1) muito além do GNU (160) musl (3) não viva de boatos (9) navegadores (5) NetBSD (7) newlib (1) nim (1) nintendo (1) novatec (17) novidades (1) nuvem (1) o meu ambiente de trabalho (3) off-topic (12) open source (84) OpenBSD (6) OpenShift (1) os vários sabores de Linux (42) padrim (2) palestras e eventos (5) partições (6) pentest (8) performance (1) pipewire (1) plan9 (1) playstation (1) processadores (30) professor Augusto Manzano (11) Programação (64) promoção (1) propagandas com Linux (8) ps4 (1) real-time. (1) Red Hat (22) redes (4) resenha nerd (4) Resumo da Semana do Dlins (2) resumo do Tux (19) retrospectiva Linux (1) risc-V (14) RISCV (13) rtos (1) runlevel (2) rust (12) segurança digital (24) servidor web (1) servidores (2) shell (7) shell script (6) sistema operacional (25) smartphones (3) Software livre e de código aberto (151) sorteio (3) Steam (10) Steam no Linux (8) supercomputadores (4) suse (5) systemd (7) terminal (87) terminal de comandos (16) toca do tux (1) toybox (26) tutorial (6) Tux (3) unboxing (7) UNIX (17) UNIX Toolbox (14) vartroy (1) vga (1) virtualização (2) vulnerabilidade (6) wayland (5) web (1) whatsapp (1) whitehat (1) Windows Subsystem for Linux (2) wine (14) WoT (1) ZFS (15) zsh (3)