Eu uso o ZFS com RAID de hardware e aproveito o cache de gravação com backup em flash do controlador HW RAID (em vez de um dispositivo ZIL) e aproveito o cache do ZFS ARC para leituras.
Práticas recomendadas do ZFS com RAID por hardware
Por que você acha que o ZFS não está tendo um bom desempenho? Você pode compartilhar sua saída zfs get all pool/filesystem
, bem como os benchmarks de que fala? É provável que seja apenas um problema de sintonia.
Editar:
Os padrões no ZFS no Linux não são bons. Você precisa de algum ajuste.
Leia todo o fluxo de trabalho publicado em: Compressão transparente sistema de arquivos em conjunto com o ext4
As partes principais são ashift
value e volblocksize
para um zvol.
Além disso, você precisará modificar seu /etc/modprobe.d/zfs.conf
Exemplo:
# zfs.conf for an SSD-based pool and 96GB RAM
options zfs zfs_arc_max=45000000000
options zfs zfs_vdev_scrub_min_active=48
options zfs zfs_vdev_scrub_max_active=128
options zfs zfs_vdev_sync_write_min_active=64
options zfs zfs_vdev_sync_write_max_active=128
options zfs zfs_vdev_sync_read_min_active=64
options zfs zfs_vdev_sync_read_max_active=128
options zfs zfs_vdev_async_read_min_active=64
options zfs zfs_vdev_async_read_max_active=128
options zfs zfs_top_maxinflight=160
Editar:
Bem, meu conselho seria usar compactação lz4 sempre, usar o valor volblocksize de 128k, limitar o ARC para cerca de 40% da RAM ou menos, ajustar os valores no zfs.conf que postei para testar (provavelmente reduzir todos os valores em 50% se você estiver usando discos SAS de 10k) e ative a estrutura tuned-adm com tuned-adm profile enterprise-storage
.