很重要! 請先參照備份與還原章節實施備份,再繼續往下。
尤其是選擇要將叢集成員全部停機的歲修保養方式
尤其是選擇要將叢集成員全部停機的歲修保養方式
以下假設由 4 台 MariaDB 組成了 Galery Cluster
相對而言,服務不停止情況下的作業方式為最簡單,
原則:最晚加入群集的節點為最優先關機進行歲修保養。
方法:分辨出最早(領頭羊)與最晚的群集內節點,那要如何找出來呢?
查找資料庫叢集各台成員的 /var/log/mariadb/mariadb.log
檔案內容尾部(注意:是內容的尾部),
參考以下示意圖:
…
(略) …
View:
id: 1c06ce49-bcd3-11ec-b14e-8b8dee207a31:1172
status: primary
protocol_version: 4
capabilities: MULTI-MASTER, CERTIFICATION,
PARALLEL_APPLYING, REPLAY, ISOLATION, PAUSE, CAUSAL_READ, INCREMENTAL_WS,
UNORDERED, PREORDERED, STREAMING, NBO
final: no
own_index: 1
members(3):
0:
07b735c5-c5f1-11ec-960f-dfe621728932, node3
1: ce7be80b-c5f0-11ec-97f3-633bd2a0f1e8,
node2
2: f3284315-c633-11ec-8919-96b52b18760a,
node1
3: 01b775c5-c5f1-12ec-ab0f-dfe621246932c,
node4
從 LOG 內容得知:
示意圖內的Node3 可被視為領頭羊,領頭羊節點是機器之間投票是推選出來的,不是開機愈久就是領頭羊。示意圖內的Node4可被視為最晚加入,成為叢集成員身份的時間最短。
示意圖內的Node3 可被視為領頭羊,領頭羊節點是機器之間投票是推選出來的,不是開機愈久就是領頭羊。示意圖內的Node4可被視為最晚加入,成為叢集成員身份的時間最短。
以下敘述先以Node4做為歲修保養對象:
- 至Node4資料庫節點上,正式關閉MariaDB服務指令是:
systemctl stop mariadb
- 將Node4資料庫節點關機進行歲修或保養等其他。
- 完成後將Node4資料庫節點開機
- 確認Node4資料庫節點有是否成功加入MariaDB Galera叢集內,執行:
mysql -uroot -p1qaz2wsx -e "SHOW STATUS LIKE 'wsrep%';" | grep wsrep_ready - Node 4資料庫節點畫面上要看到如下:
wsrep_ready ON
如果無法得到以上資訊,表示沒有啟動成功。
- 嘗試Node4資料庫節點,執行:
mysql -uroot -p1qaz2wsx -e "SHOW STATUS LIKE 'wsrep%';" | grep wsrep_cluster_size
Node 4資料庫節點畫面上要看到如下:
wsrep_cluster_size 4
如果無法得到以上資訊,表示沒有啟動成功,檢查Node4資料庫節點
查看/etc/my.cnf.d/server.cnf檔案內容的 wsrep_cluster_address='gcomm://….'。
其IP順序不能指向自己,必須要指向正在運行的其他資料庫節點。
- 在Node4資料庫節點成功重新加入叢集之後,依此類推:Node1 → Node2 → Node 3,逐步完成資料庫節點歲修保養。
沒有留言:
張貼留言