建立唯讀備用資源

選取文件版本:

如要提高讀取總處理量和可用性,可以為現有的 AlloyDB Omni 伺服器建立 AlloyDB Omni 副本伺服器。備用伺服器會提供主要資料庫伺服器的唯讀副本。並持續更新自身資料,以反映主要伺服器資料的變更。

以下各節將說明如何設定 AlloyDB Omni 主要伺服器以進行複製、設定副本伺服器,以及驗證主要伺服器上的複製狀態。

設定主要伺服器以進行複製

  1. 更新主要伺服器主機的網路或防火牆設定,允許從副本伺服器主機透過 TCP 通訊埠 5432 傳入流量。

  2. /var/alloydb/config/pg_hba.conf 檔案中新增下列幾行:

    host all                alloydbreplica     IP_RANGE trust
    host replication        alloydbreplica     IP_RANGE trust
    host alloydbmetadata    alloydbmetadata    IP_RANGE trust
    

    IP_RANGE 替換為備用機所在子網路的 IP 範圍 (以 CIDR 標記法表示)。例如:203.0.113.0/24

  3. 重新啟動主要伺服器:

    sudo alloydb database-server stop
    sudo alloydb database-server start

建立及設定副本伺服器

如要建立及設定 AlloyDB Omni 副本伺服器,請完成下列步驟:

  1. 在要代管副本的系統上安裝 AlloyDB Omni

    執行 alloydb database-server install 指令時,請加入建立副本專用的旗標:

    sudo alloydb database-server install \
      --data-dir=DATA_DIR \
      --pg-port=PORT \
      --replica-source-ip=SOURCE_IP \
      --replica-source-port=SOURCE_PORT

    更改下列內容:

    • DATA_DIR:您希望這個副本用於資料目錄的檔案系統路徑。

    • :AlloyDB Omni 要接受連線的 TCP 連接埠。PORT如未提供這個值,AlloyDB Omni 會套用預設值 5432

    • SOURCE_IP:要從中複製資料的主要 AlloyDB Omni 執行個體 IP 位址。

    • SOURCE_PORT:主要 AlloyDB Omni 執行個體的 TCP 通訊埠,用於複製資料。如未提供這個值,AlloyDB Omni 會套用預設值 5432

  2. 確認副本與主要伺服器之間有網路連線:

    ping SOURCE_IP
  3. 啟動副本:

    sudo alloydb database-server start

在主要伺服器上驗證複製狀態

如要確認複寫設定是否正確,請在主要伺服器的主機上執行下列指令:

  docker exec -it pg-service psql -h localhost -U alloydbadmin -c "select * from pg_stat_replication"

輸出資料表中的每個資料列,都代表一個連線至主要資料庫伺服器的副本。

設定複寫後,主要資料庫伺服器中所有插入、更新及刪除的資料列,都會在幾秒內顯示在副本中。