
o btrfs suporta a conversão parcial do sistema de arquivos?
Atualmente estou neste estado:
btrfs fi df .
Data, RAID5: total=9.83TiB, used=7.68TiB
System, RAID1: total=32.00MiB, used=704.00KiB
Metadata, RAID1: total=12.00GiB, used=8.61GiB
GlobalReserve, single: total=512.00MiB, used=0.00B
E devido aos bugs encontrados no modo raid5, quero migrar para o raid1. Existem vários motivos para não fazer a conversão completa agora. Quero definir o modo de destino para raid1. Portanto, quaisquer novos dados serão colocados no raid1 e quando houver tempo, posso acionar um reequilíbrio completo (ou suave)
Então, algo assim é possível?
btrfs balance start -dconvert=raid1 -dusage=10 .
Responder1
Bem, como ninguém mais tinha nenhuma informação, simplesmente tentei e documentei meus passos aqui.
btrfs balance start -dconvert=raid1 -dusage=10 .
Este comando simplesmente converteu os pedaços que atendiam ao filtro (uso = 10%). Não houve compactação dos pedaços (como um equilíbrio regular) e nenhuma configuração do nível de ataque alvo de raid5 para raid1. Portanto, isso era bastante inútil e criava grandes blocos com dados em sua maioria vazios e perda de tempo.
A próxima abordagem foi usar o filtro limite e o parâmetro suave, para fazer a conversão passo a passo.
btrfs balance start -dconvert=raid1 -dlimit=500,soft .
Assim, o sistema de arquivos foi convertido passo a passo.
Notas:
- equilibre os "pedaços vazios" antes da conversão. Isso economiza tempo.
- durante este processo, o btrfs sempre colocará novos dados em partes do antigo perfil de ataque. Não encontrei nenhuma maneira de mudar isso. Portanto, novos dados sempre serão colocados em blocos raid5 ou novos blocos raid5 serão criados para armazenar os dados. Depois que todo o sistema de arquivos for convertido, esse comportamento desaparecerá.
- isso funcionou completamente online :)