Se alguém se perguntar. Achamos que o principal problema é a RAM (nosso ARC é limitado a 4 GB e todo o resto é comido pelo sistema). O acordo com o ZFS no momento - ele não está pronto para SSDs e / ou NVMe. Foi feito para HDDs, lentos e volumosos com suas cabeças bobas, mecânica e problemas previsíveis.
Com SSDs e NVMe O ZFS executa coisas bobas de que não precisa e não faz as coisas de que realmente precisam. Quando o ZFS foi inventado, não se pensou em mais nada de cache de RAM não volátil.
Agora podemos colocar 4x SSDs em um sistema com 4 TB de espaço.
Existem duas maneiras de lidar com isso nesse caso. Dê a ele memória suficiente e deixe-o executar adequadamente em seus SSDs com as despesas gerais que ele fornece. Ou não use o ZFS.
É uma pena, porque seus benefícios estruturais são muito bons. Mas ele não pode lidar com SSDs adequadamente sem maior uso de RAM do que com HDDs porque todas as configurações dizem que "os sistemas subjacentes são lentos, o cache é necessário, é pequeno, escreve grande e sequencial" quando os SSDs são rápidos, não precisam cache, pode ler grande e escrever grande e fazer aleatoriamente corretamente. Com a Optane, tais problemas serão óbvios.
Coisas que são mais ou menos desnecessárias são cache extenso, soma de verificação de cada arquivo no nível do registro (não faz sentido porque se você tiver bitrot no nível SSD você deve jogar fora todo o drive, pois existem nenhum uso para tal sistema porque pode ter o controlador quebrado arruinando seus dados inteiros, é similar a RAM ruim). SIL não é necessário a todos. O ARC também é inútil, especialmente com unidades Optane (acrescenta mais sobrecarga à CPU e à RAM). O tamanho do registro deve ser perfeitamente limitado para escrever em transações que o drive entende.
Ou apenas use o LVM para provisionamento do KVM em sistemas. O thin-provisioning não é perfeito, mas pelo menos você não precisa desperdiçar RAM extremamente valiosa para fazer com que seus SSDs tenham o mesmo nível de desempenho esperado.