ZFS no Linux (ZoL) e replicação em tempo real

7

Eu gostaria de entender qual é a melhor solução para replicação em tempo real entre duas caixas do ZFS no Linux (ZoL) conectadas por um link de 10 GbE. O objetivo é usá-los para máquinas virtuais; apenas uma caixa por vez executará as máquinas virtuais e o próprio sistema de arquivos ZFS. O instantâneo precisa ser possível na primeira caixa (ativa). Eu pretendo usar discos SATA de grau enterprise / nearline, portanto, discos SAS de porta dupla estão fora de questão.

Eu pensei nas seguintes possibilidades:

  • use o iSCSI para exportar os discos remotos e crie um espelho entre os discos ZFS da caixa local e os discos iSCSI remotos. O maior atrativo dessa solução é sua simplicidade, já que ela usa o próprio espelhamento do ZFS. Por outro lado, o ZFS não dará prioridade aos discos locais em detrimento dos discos remotos, o que pode causar alguma degradação do desempenho (pouco relevante em uma rede de 10 GbE, suponho). Além disso, e causa de maior preocupação, é como o ZFS se comportará em caso de perda de link de rede entre as duas caixas. Será que ele sincronizará novamente a matriz quando a máquina remota ficar disponível, ou será necessária uma intervenção manual?
  • use o DRBD para sincronizar dois ZVOLS e colocar o ZFS na parte superior do dispositivo DRBD . Em outras palavras, estou falando sobre uma solução ZVOL + DRBD + ZFS empilhada. Esta parece a abordagem preferida para mim, pois o DRBD 8.4 é muito estável e comprovado. No entanto, muitas camadas de E / S estão aqui e o desempenho pode sofrer.
  • use o ZFS + GlusterFS simples na parte superior . Do ponto de vista do ZFS, essa é a solução mais simples / melhor, pois todo o tráfego de replicação é delegado ao GlusterFS. Você achou o GlusterFS estável o suficiente?

O que você acha que é a melhor abordagem? Obrigado.

    
por shodanshok 24.04.2017 / 16:16

1 resposta

5

Eu recomendo uma configuração SAS compartilhada de nó duplo em cluster ou replicação assíncrona contínua em intervalos de 15 ou 30 segundos. Este último é bom para a continuidade, enquanto o segundo fornece uma maneira de obter a separação geográfica. Eles podem ser usados juntos.

No entanto, se quiser experimentar, você pode usar o Infiniband SRP ou o 100GbE RDMA para criar um espelho do ZFS entre seus dois nós.

Por exemplo, node1 e node2, cada um possui um disco local (suponha RAID de hardware) e apresenta esse armazenamento local sobre o SRP. Um nó está no controle do zpool por vez e esse conjunto é composto pelos discos locais do nó 1 e pelo disco remoto do nó 2.

Seu espelhamento é síncrono porque é um espelho do ZFS. O failover e a consistência são manipulados pelo comportamento normal de resilvering. A importação / propriedade / exportação de Zpool é tratada pelo Pacemaker e pelos utilitários de cluster padrão ...

Ou você pode usar uma solução comercial que faz o mesmo. Veja:

link

    
por 24.04.2017 / 19:53