Mysql

Mysql 和 Galera 集群 mariaDB ,私有和公共 IP 地址多站點

  • March 15, 2022

我只是想知道以前有沒有人遇到過這個問題以及最好的方法。

我們有一個客戶希望通過 galera 集群進行多站點複製。

我熟悉設置這個,但不是他們要求的方式。

首先,客戶端在數據中心之間有一個專用的 L2 連接,所以我設置了集群,其中私有 IP 地址通過專用的 L2 鏈路,問題是如果 L2 鏈路斷開,它們會失去站點之間的複制,所以我是考慮將節點私有 IP 地址轉換為公共 IP。

我的問題是:有沒有一種方法可以設置 galera 集群,以便如果它無法訪問私有 IP,它將通過防火牆通過 Internet 並訪問公共 IP?

我是否可以將每個站點的私有和公共 IP 放在此設置中:

wsrep_cluster_address=gcomm://server1private_IP1,server1public_IP1,server2private_IP1,server2public_ip1 etc

說 server1 在我的數據中心是本地的,而 server2 在另一個數據中心。

還是會在 2 個連結上兩次寫入數據?

提前感謝您提供的任何幫助。

也許您可以將 gcomm ip 地址更改為自定義的非 FQDN 主機名(db1、db2、dbN)。然後,您可以在每個 db 節點上更新您的主機文件,使用 DNS 解析進行一些操作。無論如何,這既不是官方的也不是有價值的解決方案;)

我建議在網路中處理此要求,而不是數據庫配置。現代網路設備提供了以安全方式滿足一系列要求的靈活性。

我會在每一端設置路由器,以優先通過專用鏈路路由流量,並將故障轉移到通過 Internet 上的加密 VPN 隧道傳輸的路由。就個人而言,我也會在專用連結上使用加密的 VPN。將所有內容保存在私有 IP 空間中可以降低流量洩漏到公共網際網路上的風險。

我也喜歡 @fab23 建議設置私有 DNS 命名空間。這將使其更易於管理。

引用自:https://dba.stackexchange.com/questions/158060