[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?

Reasonably.

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