A única maneira de fornecer uma garantia de "tempo real difícil" sem uma janela de corrida é certificar-se de que uma gravação seja confirmada somente depois de atingir ambos os lados. A maneira usual de conseguir isso é com um sistema de arquivos de cluster (como OCFS2 ou GFS2) em um dispositivo de bloco compartilhado. Esse dispositivo de bloco compartilhado pode ser fácil e barata de ser construído usando o DRBD.
Como acontece com qualquer mecanismo de sincronização, sua rede dentro do cluster deve ser capaz de carregar a taxa de alteração com latência aceitável.
A folha de dicas está em torno das linhas de
- Reserve um dispositivo de bloco (disco, partição, LV, ..) em ambos os lados
- instale e configure o DRBD (apt-get install drbd-utils), use a excelente documentação no site
- Instale uma pilha de clusters de sua escolha: Red Hat completa (se você precisar mais do que apenas um sistema de arquivos compartilhado) ou o O2DLM minimalista, mas muito fácil (incluído no OCFS2).
- Formate o dispositivo DRBD com GFS2 (somente pilha Red Hat) ou OCFS2 (possível com ambas as pilhas) e monte-o nos dois lados
Você agora NÃO possui um par de diretórios sincronizados: Você tem um único diretório, que está disponível em ambos os nós. Isso é funcionalmente o mesmo, mas sem as janelas de corrida.