Ubuntu

LXD + Galera Cluster + Max Scale:關閉伺服器!=停止容器

  • June 6, 2017

我有一個有 4 個節點的 galera 集群。2 個在一個伺服器(伺服器主)和 2 個在另一個伺服器(伺服器從)。

集群通過“Max Scale”進行控制。

所有設置似乎都是正確的,因為複制工作正常,SHOW STATUS LIKE 'wsrep_cluster_size'報告所有節點的大小正確,關閉主節點成功轉移到下一個節點等。

maxscale 伺服器狀態報告:(為簡單起見進行了總結)

Master, Synced, Running | Slave, Synced, Running | Slave, Synced, Running

如果我在“server-master”中同時執行停止兩個容器,則主數據庫成功分配給“slave”中的第一個容器。

maxscale 伺服器狀態報告:

Down | Down | Master, Synced, Running | Slave, Synced, Running

問題是:如果我關閉 server-master,

maxscale 伺服器狀態報告:

Down, Down, Running, Running

並嘗試連接到集群導致連接失敗。一段時間後,報告所有節點Down

我不明白為什麼關閉伺服器不能按預期工作。

更新

我發現如果我關閉“server-master”中的第二個節點,然後關閉伺服器,“master”會成功分配給“server-slave”,但是幾分鐘後所有節點都關閉了。:/


Servers: Ubuntu Servers 16.04 x64
MaxScale version: 2.0.5
LXD version: 2.13
Galera version (3): 25.3.20-xenial
Guide followed: https://www.digitalocean.com/community/tutorials/how-to-configure-a-galera-cluster-with-mariadb-10-1-on-ubuntu-16-04-servers

它與 galera 集群行為有關。

  • 您在 1 個節點中關閉 mysql,然後在節點中關閉 mysql 發送離開請求並優雅地離開集群。您的集群檢測到 2 個節點已離開,並且仍然可以使用 2 個節點。
  • 你關閉主機,mysql被殺死,當然不能發送請假請求。集群檢測到 2 個節點已死亡,並且只剩下 2 個節點,<= 集群大小總數的 50%。集群處於失敗狀態,無法接受連接。

因此,您無法從客戶端連接到 maxscale —> 集群。

參考: http: //galeracluster.com/documentation-webpages/weightedquorum.html

引用自:https://serverfault.com/questions/849992