This is actually an interesting scenario because I addressed this in the DBA StackExchange back on March 29, 2011.
The basic idea would be to use MySQL Replication in conjunction with DRBD and ucarp
Here is what you would need:
- Two DRBD Clusters, one in each Data Center
- DRBD Primary has MySQL Running
- DRBD Primary at one Data Center running MultiMaster Replication with the DRBD Primary at other Data Center via ucarp
- Any needed read slaves at each Data Center would use the DBVIP established for use within MySQL at that Data Center via ucarp
Having this setup gives you disk-level replication within both data centers. If you are using MySQL 5.5, you can have Semisynchronous Replication send SQL to the other Data Center without waiting for the SQL to be executed, only acknowledged. This keeps the Master DB free from any intermittency that standard MySQL Asynchronous Replication would normally cause to a minimum.