ZFS: comprima novamente os arquivos existentes após a alteração no algoritmo de compactação

11

Eu tenho um pool que foi criado em 2011, usando a compactação lzjb, e foi apenas alguns anos depois que uma atualização permitiu definir a compactação para lz4. Eu estimo que pelo menos 20% do conteúdo (por espaço) na matriz foi criado antes de 2013, o que significa que ainda é compactado usando lzjb.

Posso pensar em algumas opções para corrigir isso e recuperar (alguns) espaço:

  1. Faça backup e restaure para um novo pool. Não é realmente prático, pois não tenho armazenamento redundante suficiente para manter a cópia temporária. A restauração também exigiria que o pool ficasse off-line por várias horas.

  2. Escreva um script para copiar novamente qualquer arquivo com um registro de data e hora anterior a 2013. Potencialmente arriscado, especialmente se ele engasgar em espaços ou outros caracteres especiais e acabar distorcendo o nome original.

Então ... há alguma maneira de fazer com que o ZFS recompacte quaisquer blocos legados usando o algoritmo de compactação atual? Tipo como um matagal, mas curando a compressão.

Uma questão relacionada: existe alguma maneira de ver o uso de cada tipo de algoritmo de compressão? O zdb mostra apenas as estatísticas gerais de compactação, em vez de dividi-las em algoritmos individuais.

Obrigado.

    
por rowan194 01.10.2018 / 04:04

1 resposta

13

Você precisa recopiar os dados (completos ou parciais) ou os zfs enviam / recebem os dados para um novo pool ou sistema de arquivos ZFS.

Não há outras opções.

    
por 01.10.2018 / 04:28

Tags