管理主动-主动数据库
管理您的 Active-Active 数据库设置。
您可以从 Cluster Manager UI 或命令行配置和管理您的 Active-Active 数据库。
要更改 Active-Active 数据库的全局配置,请使用crdb-cli。
如果您需要将更改本地应用于一个数据库实例,则可以使用集群管理器 UI 或rladmin。
数据库设置
许多 Active-Active 数据库设置在数据库创建后可以更改。一个值得注意的例外是数据库集群。数据库创建后无法打开或关闭数据库集群。
参与集群
您可以添加和删除 Active-Active 数据库的参与集群以更改拓扑。要管理对 Active-Active 拓扑的更改,请使用crdb-cli或 Cluster Manager UI 中的参与集群列表。
添加参与集群
添加新的参与集群时,所有现有的参与集群必须处于在线且同步状态。
新参与集群根据全局 Active-Active 数据库配置创建 Active-Active 数据库实例。将新参与集群添加到现有 Active-Active 数据库后,新数据库实例可以接受连接和读取操作。新实例在处于同步状态之前不接受写入操作。
要使用集群管理器 UI 将新参与集群添加到现有主动-主动配置:
-
从数据库列表中选择 Active-Active 数据库并转到其配置屏幕。
-
单击“编辑”。
-
在参与集群部分,转到其他参与集群并单击+ 添加集群。
-
在添加集群配置面板中,输入新集群的 URL、端口号以及新参与集群的管理员用户名和密码:
-
单击加入集群将该集群添加到参与集群列表中。
-
单击“保存”。
删除参与集群
当您删除在线参与集群时,所有现有参与集群必须处于在线和同步状态。如果您必须删除离线参与集群,则可以强制删除它们。如果强制删除的参与集群尝试重新加入集群,其 Active-Active 数据库成员资格将过期。加入的参与集群拒绝从已删除的参与集群发送的更新。为防止重新加入尝试,请从参与集群中清除强制删除的实例。
要使用集群管理器 UI 删除参与集群:
复制积压
使用复制实现高可用性的Redis 数据库会维护一个复制积压(每个分片),以同步数据库的主分片和副本分片。除了数据库复制积压之外,Active-Active 数据库还会维护一个积压(每个分片),以同步集群之间的数据库实例。
默认情况下,数据库和 Active-Active 复制积压都设置为数据库大小除以分片数量的百分之一 (1%)。每个积压的每个分片的范围在 1MB 到 250MB 之间。
更改复制积压大小
使用该crdb-cli实用程序控制复制积压的大小。您可以将其设置为auto或设置特定大小。
使用下面显示的命令更新数据库复制积压配置crdb-cli。
crdb-cli crdb update --crdb-guid <crdb_guid> --default-db-config "{\"repl_backlog_size\": <size in MB | 'auto'>}"
使用以下命令更新 Active-Active (CRDT) 复制积压:
crdb-cli crdb update --crdb-guid <crdb_guid> --default-db-config "{\"crdt_repl_backlog_size\": <size in MB | 'auto'>}"
数据持久性
Active-Active 仅支持 AOF(仅追加文件)数据持久性。Active -Active 数据库不支持快照持久性,因此不应使用。
如果 Active-Active 数据库当前正在使用快照数据持久化,请使用crdb-cli切换到 AOF 持久化:
crdb-cli crdb update --crdb-guid <CRDB_GUID> --default-db-config '{"data_persistence": "aof", "aof_policy":"appendfsync-every-sec"}'