如需提高读取吞吐量和可用性,您可以为现有 AlloyDB Omni 服务器创建 AlloyDB Omni 副本服务器。副本服务器提供主数据库服务器的只读克隆。它会持续更新自己的数据,以反映主服务器数据的更改。
以下部分介绍了配置 AlloyDB Omni 主服务器以进行复制、配置副本服务器以及验证主服务器上的复制状态的步骤。
配置主服务器以进行复制
更新主服务器主机的网络或防火墙设置,以允许通过 TCP 端口
5432
从副本服务器主机接收入站流量。在
/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
。重启主服务器:
sudo alloydb database-server stop
sudo alloydb database-server start
创建和配置副本服务器
如需创建和配置 AlloyDB Omni 副本服务器,请完成以下步骤:
将 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
:您希望此副本用于其数据目录的文件系统路径。PORT
:您希望 AlloyDB Omni 在哪个 TCP 端口上接受连接。如果您未提供此值,AlloyDB Omni 会应用默认值5432
。SOURCE_IP
:要从中复制的主 AlloyDB Omni 实例的 IP 地址。SOURCE_PORT
:要从中复制的主 AlloyDB Omni 实例的 TCP 端口。如果您未提供此值,AlloyDB Omni 会应用默认值5432
。
确保副本与主服务器之间有网络连接:
ping SOURCE_IP
启动副本:
sudo alloydb database-server start
验证主服务器上的复制状态
如需验证复制是否配置正确,请在主服务器的主机上运行以下命令:
docker exec -it pg-service psql -h localhost -U alloydbadmin -c "select * from pg_stat_replication"
输出表中,每个连接到主数据库服务器的副本都占一行。
设置复制后,对主数据库服务器中行执行的所有插入、更新和删除操作都会在几秒钟内在副本上变为可读。