Como posso usar a opção de compactação Btrfs ao instalar o Linux?

2

Eu tenho experimentado o Btrfs com uma unidade SSD e gosto da opção de compactação que está definida no fstab.

No entanto, isso se aplica apenas aos arquivos criados depois que eu instalei o sistema operacional e modifiquei o arquivo fstab.

O que eu gostaria é aplicar a compactação a todos os arquivos no sistema, para ver se ele melhora o tempo de inicialização e os tempos de inicialização do aplicativo.

Alguém sabe de uma maneira que eu poderia aplicar a alteração a todos os arquivos pré ou pós-instalação?

    
por Phil Hannent 12.10.2012 / 12:09

3 respostas

3

Eu acredito que você tem que correr

btrfs fi defragment

depois de montar o FS com compressão.

Confira: link

    
por 12.10.2012 / 13:34
5

Ao instalar você pode emitir um:

mount -o remount,compress=lzo

Muitas vezes você terá que fazer isso assim que o instalador começar a instalar coisas (talvez você perca um arquivo ou 2. mas não seja grande coisa). Você pode verificar se o instalador já montou o sistema de arquivos antes do estágio de instalação.

Certifique-se também de atualizar o / etc / fstab no sistema instalado. Eu uso as seguintes opções que dão algumas outras melhorias:

compress=lzo,ssd,relatime,space_cache,inode_cache,autodefrag

Você também pode tentar usar compress-force = lzo para a instalação em vez de compress = lzo , garante que até mesmo os arquivos que não compactam bem são ainda comprimido. Isso tornaria as gravações mais lentas, mas já que é uma instalação única que pode valer a pena. Mas não tenho certeza se isso melhora as leituras ou não.

Eu vi uma outra maneira que envolve renomear o binário mount.btrfs e substituí-lo por um script, mas quando eu fiz isso no Ubuntu ele bagunçou como normalmente instala os subvolumes @ e @home, mas tudo foi jogado na raiz do sistema de arquivos.

Como alternativa, você pode instalar e usar a desfragmentação, mas deve desfragmentar todos os arquivos individualmente, pois o comando não é recursivo. Isso pode ser útil para atualizar para os novos métodos de compactação que provavelmente aparecerão nas versões mais recentes do btrfs, snappy e lz4. Execute o seguinte no diretório /.

find -xdev -type f -exec btrfs fi defrag '{}' \;
    
por 24.10.2012 / 13:26
1

Como muitas perguntas com software - as respostas mudam dependendo de QUANDO elas são perguntadas / respondidas. Estou refrescando a resposta para ajudar qualquer pessoa a pesquisar o assunto. :)

A resposta correta para o btrfs 3.12 e superior para compactar diretórios / pontos de montagem Instalação do POST (a opção recursiva necessária para desfragmentação foi adicionada com o btrfs 3.12 lançado em novembro de 2013):% btrfs filesystem defragment -c -r MOUNTPOINT

Aqui estão as opções atuais do CLI da versão 4.4 do btrfs:
    desfragmentação do sistema de arquivos btrfs
uso: desfragmentação do sistema de arquivos btrfs [opções] | [| ...]

Defragment a file or a directory

-v             be verbose
-r             defragment files recursively
-c[zlib,lzo]   compress the file while defragmenting
-f             flush data to disk immediately after defragmenting
-s start       defragment only from byte onward
-l len         defragment only up to len bytes
-t size        target extent size hint

Caso de Uso do BTRFS de seu wiki para usar o parâmetro recursivo para desfragmentar diretórios / pontos de montagem

Entrada do Changelog BTRFS para v3.12

    
por 11.03.2016 / 16:21