我们有以下服务器:
A. 1 个运行 MySQL 的 Web 服务器(一个论坛)。
B. 1 个运行 RT 和 Postgres 的 Web 服务器。
C. 1 个 Web 服务器,运行以 MonetDB 作为后端的本地应用程序
当然,现在我们想通过为每个 Web 服务器添加一个额外的服务器来增加一点可靠性,以防 1 个服务器死机等。但是最好且相对便宜的方法是什么?
- 每个都获得一个额外的服务器,并在每种情况下使用适当的技术复制数据库?MySQL 复制 A、Slony 等用于 B,我真的不知道如何复制 MonetDB,但我想这是可能的。
为什么我不喜欢这个:由于同步问题可能导致数据损坏,即临时电源故障可能导致数据写入从属服务器,然后主服务器返回,然后复制被破坏。在 Slony 的情况下,你甚至不能这样做,你必须先将奴隶提升为主人,等等,AFAIK。
我不喜欢的另一件事是必须手动艰难地完成所有这些并弄清楚谁现在在做什么以及同步事情等等。
2. 获得 2 台具有相当数量存储的服务器并在它们之间设置 DRBD。
由于它们将拥有一个共享 IP,因此将所有数据库(例如 MySQL、Postgres 和 Monet)放在 DRBD 存储上。DRBD 的好处是我们不会出现单点故障,因为即使我们丢失了集群的一部分,其他服务器也可以接管,因此它更具弹性。我的理解是,高于此级别的 Web 服务器可以简单地进行故障转移和恢复,而无需担心复制和同步等问题。
3.虚拟机?
使用虚拟机设置这样的东西时,最佳实践是什么?