[rabbitmq-discuss] Using SAN replication for DR

Simon MacMullen simon at rabbitmq.com
Thu Jan 16 10:49:56 GMT 2014

On 15/01/14 21:10, dmcintyre at gopivotal.com wrote:
> How robust is the on-disk format for persistent messages?


The format was designed to be robust in the case of power failures or 
broker / VM / OS crashes. It journals changes to both queue indices and 
the message store to make it likely that in such cases the only data 
you'll lose is stuff that hasn't yet been fsync'ed.

> The scenario I'm looking at uses a SAN for the disk storage, with
> replication to a remote DC for DR.
> What happens if, during the death of the primary DC, e.g. a corrupt
> block gets replicated to the remote? Will all messages in the store be
> lost, or only the ones around the corrupt block?

However, if the store actually gets *corrupted* then it's more plausible 
that data will be lost; we can't necessarily resynchronise when reading 
one of the journals for instance.

I would hope that your SAN doesn't corrupt data :-)

Another alternative would be to replicate using the shovel or 
federation, and set a message TTL policy globally on the DR server (to 
be removed at failover) to prevent you from eating disk space forever.

Cheers, Simon

Simon MacMullen
RabbitMQ, Pivotal

More information about the rabbitmq-discuss mailing list