Gostaria de atualizar qualquer pessoa interessada em como decidi fazer isso. Como eu disse, S3 não se adequa a nossa situação, que é provavelmente algo com que mais pessoas lutam.
Gluster parecia o caminho a percorrer na época, porque se destina especificamente a fazer essas coisas. No entanto, em nosso ambiente de testes, a velocidade do Glusters nos atrasou. Sim, as transferências de arquivos para um sistema de arquivos Gluster são muito rápidas, mas fazemos muitas pesquisas e leituras e gravações rápidas nesses volumes montados e, ao testar cargas mais altas, isso se tornou um gargalo. O cliente Gluster NFS é muito mais rápido para essas operações, mas não suporta a tolerância a falhas interna do Glusters.
Então, voltamos à nossa ideia original: simplesmente usando um servidor NFS com um failover em outro AZ. Para manter os nós em sincronia, usamos DRBD
. Contornamos o problema de não ter um IP virtual usando o VTun (estou muito aberto a outras sugestões) e estou usando o Heartbeat para promover o escravo quando o mestre está inativo.