BTRFS converte RAID0 em RAID1

4

De alguma forma eu gostei de criar meu sistema de arquivos BTRFS e acabei com RAID0 ao invés de RAID1. No entanto, eu só notei isso depois de adicionar 274GB de dados (eu sei, que idiota):

Total devices 2 FS bytes used 136.12GiB
        devid    1 size 465.76GiB used 137.03GiB path /dev/sdb
        devid    2 size 465.76GiB used 137.03GiB path /dev/sdc

Eu gostaria de um método de A: Confirmando que isso é realmente RAID0 (tenho certeza que sim, mas não encontrei um comando que tenha emitido isso explicitamente, e gostaria de verificar na próxima vez antes de adicionar dados) . E B: Se possível, redistribuindo os dados para o RAID1.

    
por jayjay 11.09.2016 / 13:05

2 respostas

1

OK, deixe este servidor como um monumento ao meu fracasso total.

Para confirmar a configuração do RAID: btrfs fi df /mountpoint

Acontece que não gostei, o Windows de alguma forma reporta o dobro dos dados (e o dobro do espaço) quando você se conecta a um ftr de um btrfs RAID1 via SAMBA.

Se você, talvez, tenha cometido o erro que eu pensei ter feito ao configurar seu sistema de arquivos BTRFS, então este pode ajudar, embora felizmente eu não tenha que tentar.

    
por 12.09.2016 / 22:24
1

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.

    
por 04.01.2017 / 23:47

Tags