簡體   English   中英

MariaDB/Galera:將 MariaDB 10.4 節點連接到 MariaDB 10.1 集群是否安全?

[英]MariaDB/Galera: Is it safe to connect MariaDB 10.4 nodes to a MariaDB 10.1 cluster?

我有一個正在運行的 MariaDB/Galera 集群,其中包含三個 MariaDB 10.1 節點和一些 InnoDB 數據庫。 我喜歡用三個新節點替換整個集群。 我已經在新機器上安裝了 MariaDB,但使用的是較新的 10.4 版本。

將新節點連接到現有集群以啟動 state 傳輸並隨后關閉舊機器是否安全,或者這是否會因為不同版本之間的問題而失敗?

我在文檔中沒有發現任何關於運行具有不同 MariaDB/Galera 版本的集群的有用信息。

不幸的是,您需要升級服務器的每個主要版本並為每個服務器運行 mysql_upgrade (沒有在集群中復制,所以沒關系)。 在具有混合版本的集群中運行的風險是節點發生故障並從更高版本獲取 SST,或者在更高版本的節點上執行了一些不向后兼容的操作,從而破壞了更低版本的節點並導致它請求狀態轉移,因此您可以看到這可能不會很好地結束。

更何況Galera協議10.3和10.4之間的權限表結構有變化,所以即使沒有遇到上面提到的問題,復制也很可能會失敗。

如果您負擔得起,進行多版本升級的最安全和最簡單的方法是確保為節點配置 10.1 的 xtrabackup SST 和 10.2 及更高版本的 mariabackup SST,然后將集群降級為單個節點,然后升級該節點通過 10.2 和 10.3 到 10.4(每次運行 mysql_upgrade)。 一旦節點一直到 10.4,那么添加更多 10.4 節點是微不足道的。

這樣你只需在單個節點上通過 10.2/mysql_upgrade/10.3/mysql_upgrade_10.4/mysql_upgrade 演練 go,你可以直接在其余節點上安裝 10.4 並讓他們在加入集群時獲得 SST。

為了使升級更容易,您需要執行以下操作(例如,對於 CentOS/RHEL - 您可以為 Debian 使用相同的存儲庫腳本:配置文件的位置將不同,package 名稱將全部小寫,並且清理存儲庫將也有點不同,但僅此而已)

1)找出你當前的版本:

mysqld --version

2)為當前版本配置存儲庫:

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=mariadb-10.1.30

3)保存您的配置文件(這些將在安裝過程中被默認覆蓋)

cp /etc/my.cnf.d/server.cnf ~/

4)停止服務器

systemctl stop mariadb

5)卸載舊版本

yum remove MariaDB-server MariaDB-client 
# on 10.1 you might also have to remove percona-xtrabackup or percona-xtrabackup-24
# on later versions, this should be replaced with MariaDB-backup
# the rest of the relevant packages are removed as dependencies

6)更新存儲庫定義

rm -fr /etc/yum.repos.d/mariadb.repo*
rm -fr /var/cache/yum
yum clean metadata
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=mariadb-10.2

7) 安裝新服務器

yum -y install MariaDB-server MariaDB-backup

8) 替換配置文件

cp -pr ~/server.cnf /etc/my.cnf.d/
#you should change the sst method to mariabackup when going from 10.1 to 10.2

9) 啟動服務器

galera_new_cluster

10) 運行 mysql_upgrade

mysql_upgrade

11) 轉到步驟 4) 並重復 10.3 和 10.4 的過程(請記住,現在您正在刪除/添加 MariaDB-backup 而不是 percona-xtrabackup)

使用其中一個新節點執行此操作可能是最簡單的方法,首先在其上安裝 10.1 並讓它加入舊集群,然后停用舊集群並在新節點上運行升級。

如果您無法將集群降到單個節點,那么您需要通過每個主要版本升級整個集群,方法是滾動升級到 10.2,然后滾動升級到 10.3,最后滾動升級到 10.4。 盡管仍然存在風險,但這種方式更易於管理。 大型 24/7 商店基本上會進行滾動升級,除了他們還會重新配置每個節點的 state 轉移捐助者列表,以僅接受來自相同版本節點的轉移。

以下是有關使用存儲庫更新腳本的一些文檔: https://mariadb.com/kb/en/mariadb-package-repository-setup-and-usage/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM