暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【AntDB高可用性方案设计与最佳实践】异步流复制方案(2)

北陌 2024-01-23
56

4. 从库配置

首先要说明的是从库也需要安装 PostgreSQL 数据库服务,需要 pg_ basebackup 命令工具才能在从库上生成的master 主库的基础备份。但是还要强调一点:从库上初始化数据库时指定的数据目录“/data/psql110/data”需要清 空,才可以在从库上使用 pg_basebackup 命令工具来生成 master 主库的基础备份数据。

从此处开始配置从库(10.0.0.110),首先要通过 pg_basebackup 命令行工具在从库上生成基础备份:

简单做一下参数说明(可以通过 pg_basebackup --help 进行查看):

● -h:指定连接的数据库的主机名或ip地址,这里就是主库的ip。

● -U:指定连接的用户名,此处是刚才创建的专门负责流复制的repl

用户。

● -F:指定了输出的格式,支持p(原样输出)或者t(tar格式输出)。

● -x:表示备份开始后,启动另一个流复制连接从主库接收WAL日志。

● -P:表示允许在备份过程中实时地打印备份的进度。

● -R:表示会在备份结束后自动生成recovery.conf文件,这样也就避免了手动创建。

● -D:把备份写到指定目录,这里尤其要注意一点就是做基础备份之前从库的数据目录(/data/psql110/data/)需要手动清空。

● -l:表示指定一个备份的标识。

运行命令后看到如下进度提示就说明生成基础备份成功:

如上由于在 pg_hba.conf 中指定的 MD5 认证方式,所以需要输入密码。最后还需要修改一下从库数据目录下的 postgresql.conf 文件,将 hot_standby 改为启用状态,即 hot_standby=on。到此为止就算配置结束了,现在可以启动从库:

从库上查看流复制进程:

主库上查看流复制进程:

此时从库上可以看到流复制的进程,同样主库也能看到该进程。表明主从流复制配置成功。

同步测试演示:创建库和创建表做测试,在 master 服务器(10.0.0.100) 中创建 testdb02 库,并且建一张表,添加几条数据。

master 上操作:

检查:

[antdb@localhost pg_xlog]$ psql -p10280 -c '\list '|grep testdb02


从库上检查:

可以看到完美同步,那么从库是否能删除呢?下面测试一下。从库上测试删除数据库 testdb02:

Standby 的数据无法删除,正如之前说的,Standby 只提供只读服务,而只有 master 才能进行读写操作,所以 master 才有权限删除数据。master 删除的同时 Standby 中的数据也将同步删除,查看复制状态,主库中执行操作,具体如图 6-6 所示。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论