Desfragmentação Btrfs de arquivos / pastas

7

Acabei de instalar o Ubuntu 11.10 no sistema de arquivos Btrfs e quero fazer uma pergunta sobre a desfragmentação de arquivos.

Eu realmente preciso desfragmentar arquivos ou todo o sistema?

Desfragmentar # desfragmentar do sistema de arquivos btrfs / pool1 Desfragmentar

desfragmentação do Btrfs

    
por One Zero 01.12.2011 / 04:57

3 respostas

9

Você realmente não precisa desfragmentar sistemas de arquivos Btrfs, assim como você não precisa realmente desfragmentar sistemas de arquivos Ext2 / 3/4.

Sim, o Btrfs é COW (copy-on-write), o que implicaria fragmentos de arquivos muito mais do que Ext, mas isso é abordado em vários aspectos do design, incluindo a capacidade de desfragmentar facilmente o sistema de arquivos enquanto ele está online . Este extrato fornece mais detalhes:

  

desfragmentação automática

     

Os sistemas de arquivos COW (copy-on-write) possuem muitas vantagens, mas também apresentam algumas desvantagens, por exemplo, fragmentação. O Btrfs apresenta os dados sequencialmente quando os arquivos são gravados no disco pela primeira vez, mas um projeto COW implica que qualquer modificação subsequente no arquivo não deve ser gravada em cima dos dados antigos, mas colocada em um bloco livre, que será causar fragmentação (bancos de dados RPM são um caso comum desse problema). Além disso, sofre os problemas de fragmentação comuns a todos os sistemas de arquivos.

     

O Btrfs já oferece alternativas para combater esse problema: Primeiro, ele suporta a desfragmentação online usando o comando btrfs filesystem defragment . Segundo, tem uma opção de montagem, -o nodatacow , que desativa a COW para dados. Agora o btrfs adiciona uma terceira opção, a opção -o autodefrag mount. Esse mecanismo detecta pequenas gravações aleatórias em arquivos e as coloca em fila para um processo de desfragmentação automática, para que o sistema de arquivos desfragmente enquanto estiver sendo usado. Ele não é adequado para cargas de trabalho de virtualização ou grande banco de dados, mas funciona bem para arquivos menores, como bancos de dados rpm, SQLite ou bdb.

Portanto, desde que você não planeje executar softwares com uso intenso de I / O como um banco de dados com carga significativa, tudo deve ser bom.

Para verificar a fragmentação de arquivos, você pode usar o utilitário filefrag :

$ find /path | xargs filefrag > frag.list
# Now you can use your favourite tools to sort the data

Em sistemas Systemd, /var/log/journal/ provavelmente será o mais fragmentado. Você também pode consultar ~/.mozilla e outros bancos de dados de navegadores.

Para desfragmentar, use:

$ sudo btrfs fi defrag -r /path

Note que, como você provavelmente sabe, a atual (referência) implementação do Btrfs ainda não é completamente estável, então você não deve usá-la para dados críticos ou cargas pesadas (usá-la em um servidor de produção, por exemplo, é provavelmente não é a coisa mais sensata a fazer); O Fedora 16 é usado por padrão (ou será), então parece ter atingido uma certa maturidade.

    
por Félix Saparelli 03.12.2011 / 13:17
0

Para o bem deste tópico, penso que é melhor esclarecer que:

  

Qualquer sistema de arquivos! = utilitários de recuperação / gerenciamento

Tenha em mente que o sistema de arquivos é sobre como os dados são organizados em um hardware físico, todas as outras atividades são feitas com software extra e utilitários que, especialmente no GNU / linux, são feitos por pessoas que provavelmente não estão estritamente relacionadas com que fez o sistema de arquivos.

Este provavelmente não é o caso do Btrfs, mas às vezes estamos perto disso, porque os ambientes de desktop e corporativos podem fornecer soluções diferentes com diferentes graus de confiabilidade.

A resposta à sua pergunta é "não", mas é um "não" relacionado ao comportamento normal de um sistema de arquivos genérico, e todo utilitário que você pode encontrar sobre isso é simplesmente um projeto diferente.

Quando você precisar desfragmentar seu sistema de arquivos, lembre-se de usar software externo que não esteja realmente relacionado à vida útil do próprio sistema de arquivos, com todos os prós e contras.

    
por Micro 03.12.2011 / 09:34
0

O comando para desfragmentar um sistema de arquivos btrfs é

btrfs filesystem defragment sync -r -v -f [-czlib] / /home
    
por user615852 06.11.2016 / 06:08

Tags