linux ha 里pgsql的promote超时-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

linux ha 里pgsql的promote超时

2016-03-23 11:22:38 3272 1

我这边是部署了suse linux ha 的一套主从PGSQL数据库,
然后有一天主库monitor 超时,导致发起了关闭主库 并且promote备库。
但是promote 备库超时了。而备库的pg_log的日志已经被后来恢复的时候删掉了。
请问有什么方法可以看到当时为什么promote超时 ,还有为什么主库会monitor超时。
这些东西要从哪里入手? 我在corosync的日志里看不出具体的原因,只看到触发了什么操作等.

ps:主库monitor超时的时候的pg_log ,显示做了backup.
01:28:06 [unknown] postgres NOTICE: pg_stop_backup cleanup done, waiting for required WAL segments to be archived
01:28:23 [unknown] postgres NOTICE: pg_stop_backup complete, all required WAL segments have been archived
01:28:25 LOG: received fast shutdown request

取消 提交回答
全部回答(1)
  • 德哥
    2019-07-17 18:35:22
    已采纳

    promote并没有超时的说法,建议你再梳理一下corosync的流程。包括这个备份信息是不是corosync切换流程中的一环。
    另外再给你一个信息, promote分两种情况,一种需要做检查点,另一种不需要。

                            if (fast_promote)
                            {
                                    checkPointLoc = ControlFile->prevCheckPoint;
    
                                    /*
                                     * Confirm the last checkpoint is available for us to recover
                                     * from if we fail. Note that we don't check for the secondary
                                     * checkpoint since that isn't available in most base backups.
                                     */
                                    record = ReadCheckpointRecord(xlogreader, checkPointLoc, 1, false);
                                    if (record != NULL)
                                    {
                                            fast_promoted = true;
    
                                            /*
                                             * Insert a special WAL record to mark the end of
                                             * recovery, since we aren't doing a checkpoint. That
                                             * means that the checkpointer process may likely be in
                                             * the middle of a time-smoothed restartpoint and could
                                             * continue to be for minutes after this. That sounds
                                             * strange, but the effect is roughly the same and it
                                             * would be stranger to try to come out of the
                                             * restartpoint and then checkpoint. We request a
                                             * checkpoint later anyway, just for safety.
                                             */
                                            CreateEndOfRecoveryRecord();
                                    }
                            }
    
                            if (!fast_promoted)
                                    RequestCheckpoint(CHECKPOINT_END_OF_RECOVERY |
                                                                      CHECKPOINT_IMMEDIATE |
                                                                      CHECKPOINT_WAIT);
                    }

    如果是这样导致的corosync判断超时的话,建议你用fast promote.

    0 0
相关问答

1

回答

linux中/etc/bashrc有什么作用?

2022-04-01 19:59:31 287浏览量 回答数 1

1

回答

Linux mysql rpm包安装的问题?报错

2020-06-22 10:49:09 211浏览量 回答数 1

1

回答

linux mysql:报错

2020-06-06 11:34:04 319浏览量 回答数 1

0

回答

关于Linux安装mysql问题

2020-05-23 21:07:58 578浏览量 回答数 0

2

回答

qt linux 连接sqlserver

2016-07-15 18:15:34 2646浏览量 回答数 2

1

回答

有什么方式在Linux下测试HTML对IE的兼容性?

2016-06-13 14:23:51 2497浏览量 回答数 1

1

回答

linux平台安装Mysql报错

2016-06-12 16:33:10 1836浏览量 回答数 1

1

回答

运维分享—linux系统Dnat脚本

2015-08-22 17:03:05 8994浏览量 回答数 1

4

回答

运维分享一一linux系统mysql密码修改脚本

2014-09-30 12:02:39 18218浏览量 回答数 4

1

回答

linux主机用一键安装mysql命令找不到

2014-03-19 22:18:24 8552浏览量 回答数 1
0
文章
4
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载