Btrfs distribui arquivos igualmente entre vários dispositivos

1

Eu tenho um volume btrfs em dois dispositivos que tem RAID1 de metadados e RAID0 de dados. No caso de uma unidade falhar, praticamente todos os arquivos acima do tamanho da faixa padrão de 64 KB seriam corrompidos. Como essa partição não é crítica para o desempenho, mas deve ser eficiente em termos de espaço, pensei em reequilibrar o sistema de arquivos para distribuir arquivos igualmente entre discos, mas algo parecido não parece existir. O objetivo final seria poder ainda ler alguns dos arquivos no caso de uma falha na unidade.

AFAIK, usando alocação de dados "única" / linear, apenas preenche as unidades uma a uma.

Exemplo:

Escreva dois arquivos de 128 KB (file0, file1) em dois dispositivos (dev0, dev1):

RAID0:

  • arquivo0 / chunk0 (64KB): dev0
  • arquivo0 / chunk1 (64KB): dev1
  • arquivo1 / chunk0 (64KB): dev0
  • arquivo1 / chunk1 (64KB): dev1

Linear:

  • arquivo0 (128KB): dev0
  • arquivo1 (128KB): dev0

distribuir arquivos:

  • arquivo0 (128KB): dev0
  • arquivo1 (128KB): dev1

Alguém tem uma idéia de como conseguir algo assim ou se é planejado pelo btrfs-devs?

edit: Diminuir o zoom do pensamento RAIDesque chamando-o de "Distribuir arquivos igualmente em vários dispositivos" é melhor do que "'RAID 0' por arquivo", porque não implica "troca de arquivo por dispositivo", mas sim " encher dispositivos aproximadamente igualmente ". (por exemplo, 1G no dev0, dois 512MB no dev1)

    
por johnp 05.07.2015 / 18:47

1 resposta

2

Hugo Mills forneceu uma resposta na lista de discussão do btrfs:

Basicamente, o modo "único" distribui blocos de 1GiB, o que é bom o suficiente para o meu caso de uso.

    
por 06.07.2015 / 20:05