Ao criar um sistema de arquivos btrfs em vários dispositivos, o padrão é usar RAID0 para dados e RAID1 para metadados . Se você quiser mudar isso, você pode passar argumentos para o comando mkfs para alterar o nível de dados (-d) e metadados (-m) do RAID:
mkfs.btrfs -d raid1 -m raid1 /dev/sda /dev/sdb
Para confirmar qual nível de RAID está sendo usado em um sistema de arquivos existente, você pode usar o utilitário btrfs :
$ btrfs fi df /mountpoint
Data, RAID1: total=15.00GiB, used=14.65GiB
System, RAID1: total=8.00MiB, used=16.00KiB
Metadata, RAID1: total=1.00GiB, used=15.59MiB
O exemplo de saída mostra o RAID1 usado para dados e metadados. A execução de btrfs fi usage /mountpoint
fornecerá mais detalhes.
Você pode converter um sistema de arquivos existente para um diferente nível de RAID passando argumentos para o balance
command.
btrfs balance start -dconvert=raid1 -mconvert=raid1 /mountpoint
Uma balança grava todos os dados no sistema de arquivos novamente, e a adição de argumentos fará com que os dados sejam convertidos à medida que forem reescritos. Isso pode demorar um pouco, você pode executar btrfs balance status /mountpoint
para ver o status. Assim que terminar, você poderá confirmar que todos os dados foram convertidos como esperado com btrfs fi df
. Os dados gravados durante uma balança ainda podem usar o formato antigo para que seja necessário um segundo saldo.
Utilitários como o comando regular df
ou btrfs fi show
não levam em consideração as configurações de RAID, pois isso é feito pelo próprio btrfs. Essas ferramentas mostram apenas a quantidade total alocada pelo btrfs nos discos, eles não sabem qual formato o btrfs está usando para os dados. Isso também significa compartilhar via SAMBA ou outras ferramentas não serão responsáveis pelo RAID. Para mais informações, consulte a FAQ do btrfs.