管理Active-Active数据库
管理您的Active-Active数据库设置。
您可以从集群管理器用户界面或命令行配置和管理您的Active-Active数据库。
要更改Active-Active数据库的全局配置,请使用crdb-cli
。
如果您需要在一个数据库实例上本地应用更改,您可以使用集群管理器UI或rladmin
。
数据库设置
许多Active-Active数据库设置可以在数据库创建后进行更改。一个显著的例外是数据库集群。数据库创建后,无法开启或关闭数据库集群。
参与的集群
您可以添加和删除Active-Active数据库的参与集群以更改拓扑。
要管理Active-Active拓扑的更改,请使用crdb-cli
或集群管理器UI中的参与集群列表。
添加参与的集群
在添加新的参与集群时,所有现有的参与集群必须在线并处于同步状态。
新参与的集群基于全局的Active-Active数据库配置创建Active-Active数据库实例。 在您将新参与的集群添加到现有的Active-Active数据库后, 新的数据库实例可以接受连接和读取操作。 在同步状态之前,新实例不接受写操作。
使用集群管理器UI将新的参与集群添加到现有的Active-Active配置中:
-
从数据库列表中选择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"}'