Atualmente, tenho uma partição Btrfs com quatro dispositivos: três unidades de 3 TB e uma unidade de 4 TB. Dados e metadados são RAID 10, então eu tenho 6 TB de espaço útil, que está quase cheio. Eu tinha previsto que o suporte ao RAID 5 no Btrfs estaria maduro quando meu armazenamento fosse preenchido, mas aparentemente não é uma prioridade.
Minha pergunta é: existe um motivo para preferir o RAID 10 ao RAID 1 ? Eu sei que o RAID 1 real no meu hardware atual deve me fornecer 3 TB de espaço útil com 4 cópias de cada bloco, mas o Btrfs aparentemente não se comporta dessa maneira. Do FAQ do Btrfs :
O btrfs combina todos os dispositivos em um pool de armazenamento primeiro e depois duplica os pedaços conforme os dados do arquivo são criados. O RAID-1 é definido atualmente como "2 cópias de todos os dados em diferentes dispositivos". Isso difere do MD-RAID e do dmraid, pois eles fazem exatamente n cópias para n dispositivos. Em um btrfs RAID-1 em três dispositivos de 1 TB, obtemos 1,5 TB de dados utilizáveis. Como cada bloco é copiado apenas para 2 dispositivos, a gravação de um determinado bloco exige apenas exatamente a gravação de 2 dispositivos; a leitura pode ser feita de apenas um.
E de Jens Erat no Stack Overflow :
O Btrfs distribui os dados (e suas cópias RAID 1) em blocos, lidando muito bem com discos rígidos de tamanho diferente. Você receberá a soma de todos os discos rígidos, divididos por dois - e não precisará pensar em como montá-los em pares de tamanhos semelhantes.
Se mais de um disco falhar, você sempre corre o risco de perder dados: o RAID 1 não pode lidar com a perda de dois discos ao mesmo tempo. No exemplo acima, se os dois discos errados morrerem, você sempre perde dados.
Isso significa que o reequilíbrio do RAID 10 para o RAID 1 fornecerá 500 GB extras de dados (6,5 TB em vez de 6 TB) devido à unidade de 4 TB? E há alguma razão para eu ficar com o RAID 10?
scrub
ereplace
apoio tinha sido adicionado como de 3,19, mas as pessoas ainda estavam reclamando sobre a falta de alertas de dispositivos de falha. Tenho crons configurados para scrubs semanais e autotestes SMART semanais / mensais, para poder detectar esses problemas. Vou dar uma chance.dev stats
, que pode ser outro cronjob .Respostas:
Sim, você recebe 500 GB extras. Observe que a determinação do espaço disponível no btrfs permanece indescritível. Além disso: dê uma olhada na calculadora de uso de disco btrfs .
Na sua segunda pergunta: você pode perder desempenho na sua matriz. Naturalmente, seus dados são igualmente seguros nas duas configurações de RAID. Ao considerar o desempenho, talvez você possa dar uma olhada nesses benchmarks: kernel.org , phoronix.com .
Você já tentou converter para RAID 1? Em caso afirmativo: quais são suas descobertas?
fonte
btrfs fi sh
que o espaço extra na unidade de 4 TB está sendo aproveitado, e (2,83 + 1,93 + 1,93 + 1,95 ) /2~=4.30 como esperado. Recentemente, sofri uma falha na unidade e fui reconstruído com êxito sem perda de dados, para confirmar em primeira mão que a redundância está intacta.Não use o btrfs raid 5 ou 6, a implementação está cheia de bugs, execute o zfs se você quiser.
Com o raid10, você ganhará velocidade.
A melhor coisa a fazer é criar uma partição de 3 TB na unidade de 4 TB (verifique se todas as 3 são exatamente do mesmo tamanho), combine-as em um RAID10 que terá 6 TB de espaço livre. Use 1 TB extra na unidade de 4 TB para / boot (isso deve ser vfat de qualquer maneira, se você quiser usar o efistub e evitar o grub ou qualquer outro carregador de inicialização que torne sua inicialização um pouco mais rápida), swap (você pode usar um muito grande, o ideal seria uma pequena troca de zram (4 GB funciona bem com 32 GB de RAM, 2 GB deve ser bom com 16 GB, se você tiver menos de 16 idk se vale a pena e provavelmente deve atualizar de qualquer maneira) usado primeiro (defina a prioridade como mais alta) usando o zstd e o maior número de fluxos de compressão que você tiver núcleos / threads ...
fonte