服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

PG池故障转移导致两个独立的主站出现networking故障

我有两个服务器与PG池build立一个Web应用程序创buildHA设置。 PGPool和postgres在两台服务器上运行,使用从服务器1到服务器2的stream式复制。每台机器上的webapp连接到PgPool,然后将请求发送到当前主机。 它被设置为在数据库连接被中断时自动进行故障转移,该数据库连接运行自定义的故障转移脚本以将服务器1降级到从服务器并将服务器2升级为主服务器。 今天早上发生的事情是2分钟内networking出现故障,这意味着两个PGPool实例都不能互相通话 – 所以每个PGPool都认为另一台机器已经closures。 服务器1 – 继续作为主服务器,断开服务器2 服务器2 – 启动故障切换,断开服务器1并使其成为主服务器 由于networking已closures,故障转移命令无法连接到服务器1以使其成为从服务器,反之亦然。 所以当networking在2分钟之后回来的时候,我所拥有的是两个都认为是主人的服务器。 PgPool似乎没有自动故障恢复命令,可以用来强制服务器1在networking重新连接时再次成为主控,这是我能想到的唯一真正的解决scheme。 我的问题是我该如何处理这种情况? 这甚至是这个设置的正确架构? 当然这是一种常见的情况,我不能理解这种情况如何解决。 编辑:这是明智的pgpool下运行在Linux下的虚拟IP – 哈? 这可以解决的事情,我已经有了公共IP的运行 – 这种方式只有一个pgpool实例被任何一台机器访问。