科技新知

前述我們一直在介紹docker cluster,但docker也不是萬能的。某些依賴HDD的程式,而且檔案權限相對有要求的程式,例如:資料庫,用docker去接入共享的HDD (mout share storage),反而更麻煩。一來需要程式本身支援,二來要修改官方docker的初始化程序,過程相關折騰。所以有這方法需求的,都可以先考慮原本的VM做成Cluster。

本文就介紹一下傳統的Mariadb 做成Cluster的方式。老實講,Mariadb 官方手冊可能因為要適配各個不同的OS品牌,並沒有提供一個平台完整的安裝流程。最後筆者也是轉向一些非官方的網絡教學,才成功設定。

Galera 4 (Mariadb cluster) on ubuntu 24

https://www.linode.com/docs/guides/how-to-set-up-mariadb-galera-clusters-on-ubuntu-2204/

筆者參考上述文章,配合自己測試的結果,以下簡介一下在Ubuntu 24.04的安裝過程

準備3台VM,假設它們的IP為 192.168.0.2, 192.168.0.3, 192.168.0.4 ,確保它們之間的網路可以互通,每一台機都執行以下的安裝script

NODE1 192.168.0.2

修改/etc/mysql/mariadb.conf.d/60-galera.cnf, 留意 wsrep_node_address, wsrep_node_name 部份,要與本機相同。

設定好後,我們可以關掉mariadb,經galera 新起cluster的方式叫起它,然後經sql 在內部查看現時成功有加到cluster的機器數量。

應該要看到數量為1

NODE2 192.168.0.3

在node2,跟進述一樣,修改 /etc/mysql/mariadb.conf.d/60-galera.cnf,記得wsrep_node_address, wsrep_node_name要換成新機的值。

設定好後,就重啟mariadb,順便看看現時成功有加到cluster的機器數量。應該要看到數量為2

 

NODE3 192.168.0.4

在node3,跟進述一樣,設定值筆者就省略了。我們可以在測試一次真實的改動,是否可以同步到其他node。

我們先試在node3加入新的資料庫test1,然後在node2查看是否存在。

node2應該是可以找到test1的,不然就要經過查wsrep_cluster_size看看node3是否成功接入。

然後我們再在node2試試修改root的密碼,看看會不會同步到其他node。

最後node1, node3都需要使用新的password才能登入。

當一切都如預期,你的Mariadb Galera cluster就成功了。

馬交野


MINECRAFT :我的世界大電影
心之觸碰
英語版  史迪仔
4DX  職業特工隊:最終清算
4DX  死神來了:血脈
MINECRAFT:我的世界大電影:方塊派對版本
心之觸碰。
MX4D 職業特工隊:最終清算
IMAX with Laser 職業特工隊:最終清算
ATEEZ WORLD TOUR TOWARDS THE LIGHT : WILL TO POWER IN CINEMAS
雷霆特攻隊
4DX  ATEEZ WORLD TOUR TOWARDS THE LIGHT : WILL TO POWER IN CINEMAS
向陽·花
史迪仔 英語版
獵狐行動
獵狐.行動
關於我和鬼變成家人的那封利是
職業特工隊:最終清算
獵金.遊戲
怪獸8號:Mission Recon
史迪仔
死神來了:血脈
300呎窒息倒數
鐵拳驅魔
獵金•遊戲
送院途中
水餃皇后
雷霆特攻隊*
死亡輪迴
Until Dawn 死亡輪迴
暗算2
虎毒不
OMG! 阿媽有喜
戰役
劇場版忍者亂太郎 毒菇忍者隊最強之軍師
破。地獄 加長版
破.地獄 加長版
貓貓的奇幻漂流
英語版  MINECRAFT:我的世界大電影
MINECRAFT:我的世界大電影
MINECRAFT :我的世界大電影
心之觸碰