您对DRBD / Heartbeat对Firebird RDBMS的复制和故障转移有何看法?

时间:2009-10-26 06:31:31

标签: replication firebird failover heartbeat

我正在研究将Firebird用于项目的可能性。

然而,一个潜在的问题是复制和故障转移,或者更确切地说,缺乏(主观)“好”解决方案。 Firebird常见问题解答中列出了几种可能的解决方案,但它们要么是1)以Windows为中心; 2)可怕的过时; 3)商业;或者4)没有全功能。

我看到的唯一潜在选择是FIBER,看起来不成熟; 2)可能死亡; 3)功能不全。

我已经了解了DRBD和Heartbeat,这些解决方案看起来很有前景。如果您已经拥有1)设置复制的Firebird配置,我正在寻找您的反馈;和/或2)在Firebird中使用DRBD。

任何“陷阱”,建议,提示等?

谢谢!

2 个答案:

答案 0 :(得分:3)

Firebird Conference 2009

中有一个关于复制的会话
  

Holger Klemt

* Firebird Replicated Part 1
* Firebird Replicated Part 2
      o In this two sessions you will see how easy it is to implement
     

你自己的复制系统   Firebird数据库。基于触发器   和简单的脚本,你可以创建一个   实时备份系统。架构   允许主 - 主,主从,   多主,在线和离线   复制。复制的Firebird   任何客户端都可以使用集群   没有中断,也是在这种情况下   计划的部分硬件故障   硬件和软件维护   操作,例如切换到   一个新的Firebird版本。

答案 1 :(得分:3)

过去两年我们一直在使用 DRBD / Heartbeat / Pacemaker 解决方案来解决完全相同的问题。保持Firebird数据库正常运行和故障转移。设置实际上非常简单,我有一些建议,我会给你一个良好的开端。所以这些只是建议......

  • 创建 drbd 分区,对其进行格式化并将其安装到 / data (当然还有心脏起搏器)
  • aliases.conf 添加到 drbd partion ,这样每次对其进行更改时都不必更改aliases.conf两次。将aliases.conf文件复制到/ data并将其链接到两个节点上的/etc/firebird/2.1/aliases.conf

在主要/辅助设置中使用Drbd / Pacemaker的缺点主节点终止时客户端将断开连接 ,直到辅助节点启动。必须重新连接。虽然firebird客户端应该允许连接超时,但我还没有真正找到另一种方式,它从来没有真正使用我们的应用程序(可能我们使用的应用程序或库并没有真正使用firebird连接超时)。

至于数据库复制,恐怕你必须像Hugues Van Landeghem所描述或引用它一样。我们开发了这样一个适用于触发器的应用程序。因此,将一个新行添加到表中,触发器将该条目的键复制到另一个表,该表由应用程序不断读取,该应用程序抓取该条目并将其插入另一个数据库。相当难看,但它工作得很好!我个人认为Firebird应该投入一些时间来建立自己的数据库复制系统......他们真的远远落后......

希望我的信息对你有所帮助。我还有其他问题可以随时与我联系或访问我的网站@ gefoo.org