Eu tenho Replicated Gluster Storage, que é usado pelos Servidores de dimensionamento automático. Ambos, escalonamento automático e armazenamento são alocados em duas zonas de disponibilidade.
Gluster:
Number of Bricks: 4 x 2 = 8
Transport-type: tcp
Bricks:
Brick1: gluster01:/storage/1a # Zone A
Brick2: gluster02:/storage/1b # Zone B
Brick3: gluster03:/storage/2a # Zone A
Brick4: gluster04:/storage/2b # Zone B
Brick5: gluster01:/storage/3a # Zone A
Brick6: gluster02:/storage/3b # Zone B
Brick7: gluster03:/storage/4a # Zone A
Brick8: gluster04:/storage/4b # Zone B
Eu usei o ponto de entrada Round Robin DNS para o Gluster, portanto, o nome do DNS resolve todos os endereços do servidor de armazenamento que são retornados em ordem diferente o tempo todo:
# host storage.domain.com
storage.domain.com has address xx.xx.xx.x1
storage.domain.com has address xx.xx.xx.x2
storage.domain.com has address xx.xx.xx.x3
storage.domain.com has address xx.xx.xx.x4
O armazenamento é montado com o Native Gluster Client:
# grep storage /etc/fstab
storage.domain.com:/storage /storage glusterfs defaults,log-level=WARNING,log-file=/var/log/gluster.log 0 0
Ouvi dizer que o Gluster pode ser montado com o primeiro IP do servidor e, depois disso, ele buscará sua configuração com o restante dos Servidores. Pessoalmente, eu nunca testei uma configuração de montagem de servidor único e não sei como o Gluster lida com isso.
No EC2, o tráfego entre a zona de disponibilidade única é livre e entre as diferentes zonas não é. Quando o Cliente na zona A grava no armazenamento e o IP do Armazenamento na zona B é retornado, isso me custará mais duas vezes para a transferência de dados: Cliente (Zona A) - > Servidor de armazenamento (zona B) - > Replication to Storage Server (Zona A).
Pergunta: Seria melhor montar o Storage Server da mesma zona, para que as cobranças de transferência de dados se aplicassem apenas à replicação (A - > A - > B)?