在使用 Galera Cluster時還是可以架設一般的 slave server ( Percona XtraDB Cluster則是 Percona對 Galera Cluster 的封裝),像是這樣的架構:
其中 node{1,2} 為 cluster,node3 則是傳統的 async replication,來源的 master 為 node1。
當 node1 掛掉時,我們沒辦法自動將 node3 的 master 從 node1 改指到 node2,因為 binlog 的位置不一定正確。
在「 Changing an async slave of a PXC cluster to a new Master」則是提供如何人工用最簡單的方式介入。
主要是靠 Galera Cluster 會在 binlog 內寫入 Xid
這個值,這個值可以在 global status 內的 wsrep_last_committed
看到。因為這個值在全 cluster 都是同步的,就可以拿來人工尋找 binlog 位置後手動下 CHANGE MASTER TO
,而不用 pt-table-sync同步修老半天…
而且邏輯被整理出來以後,就有機會寫成程式自動化… 這算是一個不錯的開頭 :p