[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