Exemplo de hardware/host:
- CPU moderna de 64 núcleos, memória de 128 GB
- 8 x Micron Pro 15,36 TB SSD u.2
- SSDs conectados por Oculink dedicado por dispositivo (sem compartilhamento de backplane ou PCIe)
- Ubuntu 20.04
Caso de uso:
- Um servidor de backup para centenas de hosts. O backup é realizado por meio de rsync incremental, envolvendo primeiro um rsync do host remoto e, em seguida, uma cópia local (usando cp) para criar um instantâneo. - - - Milhões de pequenos arquivos (e-mail, arquivos html etc) são típicos de um backup.
- A qualquer momento, o servidor pode estar lidando com 50 rsyncs de entrada (algo de criptografia leve da CPU e sem compactação)
- A redundância embora seja vantajosa, não é necessária. Na maior falha de unidade única.
- E/S local extrema necessária para rotação de arquivos
- O uso de rsync e cópia diferencial de link físico ('rsnapshot') não pode ser alterado, isso é exigido pelo software de backup que está implantado e já em produção - portanto, os instantâneos BTRFS estão fora de questão.
Cheguei a duas soluções possíveis:
- Fragmente meu armazenamento de dados, sem redundância. Em um formato de base por unidade em BTRRFS e montagem com compactação LZO em linha.
- Vantagem: Simples e leve, sem sobrecarga de gerenciamento de raid
- Vantagem: Falha isolada, em caso de falha de disco, apenas uma pequena parte dos backups é perdida, que são rapidamente reconstituídas
- Vantagem: Capacidade total máxima obtida
- Desvantagem: Complexidade do gerenciamento de capacidade - não ter um grande volume significa equilibrar estrategicamente os dados em discos específicos para aproveitá-los ao máximo
- Desvantagem: A falha de disco perde dados
- ZFS RAIDz1/2 em todos os discos para um grande volume
- Vantagem: redundância de falha de 1 ou 2 discos
- Vantagem: Fácil gerenciamento, tudo cabe em um volume gigante - muito espaço.
- Desvantagem: Perda de capacidade de 1 ou 2 discos
A pergunta: haverá uma sobrecarga significativa de gerenciamento de RAID ZFS que reduzirá o desempenho do array em relação à opção 1? - Em uma configuração projetada em todos os níveis para maximizar a taxa de transferência do disco entre o SO e os SSDs, na casa dos 10 Gigabits por segundo, a sobrecarga do gerenciamento do ZFS RAID causará uma queda significativa no desempenho e/ou sobrecarregará a CPU ou a memória?
Obrigada.
Use ZFS. Use compressão LZ4. Ajuste seu ZFS adequadamente, pois os padrões não serão ideais para tantas unidades NVMe.
Teste e compare com suas cargas de trabalho reais. Não podemos dizer como ele irá se comportar.
A sobrecarga do RAIDZ não é uma preocupação para isso.
Os microbenchmarks para a CPU escolhem automaticamente o mais rápido para sua plataforma.
Veja os parâmetros do módulo ZFS :
Como o BTRFS RAID5 não é considerado 100% estável, não o sugiro nem mesmo para uma máquina de backup. Além disso, com esses grandes SSDs, eu usaria RAID6 em vez de RAID5.
Então sugiro usar MD RAID6 com XFS ou, sendo uma máquina Ubuntu, ZFS RAIDZ2 com compressão lz4.
EDIT: Eu simplesmente não considero o uso de sistemas de arquivos BTRFS de unidade única como uma abordagem de backup válida. Nesta configuração, qualquer falha de unidade única levará à perda de dados (parcial). Eu sugiro fortemente que você use RAIDZ2 com compactação LZ4 ou, para desempenho máximo, MD RAID6 com XFS (mas perdendo compactação e soma de verificação).