Se você realmente não pode usar viabilmente um dispositivo de bloco (o DRBD provavelmente seria melhor aqui e você já tem experiência com ele), o GlusterFS pode fornecer os recursos de replicação que você procura no nível do arquivo.
Gluster "bricks", embora idealmente um dispositivo de armazenamento singular com sua própria pilha fina de LVM que termina em XFS, pode ser qualquer sistema de arquivos compatível com POSIX (ou mesmo apenas um diretório em vez de um FS dedicado) em um nó. >
Esses blocos são agregados em um "volume" unificado com uma política de "réplica" que define agora que muitos blocos serão gravados com qualquer arquivo - nesse caso, provavelmente a réplica 2 ou 3. Essas réplicas se esforçarão para estar localizadas em diferentes nós, se possível.
A semântica de falha com o Gluster ainda não é tão coerente quanto o DRBD. As condições de cérebro dividido são mais fáceis de realizar, pois a replicação de dados é de responsabilidade do cliente conectado (ele envia N cópias de todas as gravações para cada nó do Gluster, em vez de gravar em um mestre que replica os dados). No entanto, pode ser potencialmente mais fácil de resolver cérebros divididos com dados divergentes, uma vez que cada tijolo é um sistema de arquivos intacto com dados completamente legíveis ao usar a replicação.
Não será tão rápido quanto o DRBD, mas talvez você não precise que seja?