We currently have two MX servers in the same physical rack, they are sharing the same greylist database, and everything seems to work well. The two MX have different priorities and they are on two different physical servers, so we get redundancy if one of the two fails.
(FYI, the database is on a virtual machine on a redundant hardware cluster: while the db system as a whole is a Single Point of Failure, the hardware it runs on is not, eliminating most of the possible failure modes)
We'd like to introduce a new (or a pair of) MX in a different datacenter, to achieve full redundancy of the incoming mail systems (our DNS servers are already distributed over different DCs), but we can't connect it to the very same MySQL server since that would defeat the redundancy in the first place.
What is the correct way to implement greylisting in such a setup?
Can I just let every location / MX group have its own greylist db, or will that pose any problem or inefficiency? Is there any reason to configure MXes in the same site with the same/different priority or that doesn't matter? (of course different sites will always have different priorities)
EDIT / CLARIFICATION: first replies seems to suggest to setup MySQL replication (either master/slave or two way) or explain how to do that: been there, done that. I can put up a two way MySQL replication between data centers if I need/want to.
My question was focused on if I need to replicate / share the greylist db or if I can do without shared knowledge between the different greylisting MXes, not how to implement shared knowledge.