Linux 延伸集群:MD 复制、DRBD 还是 Veritas?

Linux 延伸集群:MD 复制、DRBD 还是 Veritas?

目前,建立 Linux 集群有很多选择。

对于集群管理器:您可以使用 Red Hat 集群管理器、Pacemaker 或 Veritas Cluster Server。第一个最有发展势头,第二个默认带有 RH 订阅,最后一个非常昂贵,但声誉很好 ;-)

对于存储: - 您可以使用软件 raid / md 设备复制 LUN - 您可以使用 DRBD 复制来使用网络,这提供了更多的灵活性 - 您可以使用 Veritas Storage Foundation 技术与您的 SAN 复制技术进行对话。

有人对这些技术有什么建议或经验吗?

答案1

我会选择 GlusterFS。最新版本 3.x 支持地理复制(长延迟管道类型)以及 LAN 复制。大量文档关于如何在集群中复制和传播数据。

我不喜欢 DRDB,因为可以使用的节点数量有限。我认为在不错的硬件上,加上适度的网络调整,GlusterFS 可能正是您想要的。绝对值得一试。

答案2

我目前正在使用 Red Hat Cluster Suite 和 DRBD 测试“拉伸集群”。我在刚刚结束的波士顿 Red Hat 峰会附近的一家酒店里写下这些文字。我与 Red Hat CLuster Suite 开发人员进行了交谈,他们说目前不支持拉伸集群。

但这不会阻止我为了好玩而继续研究它。我的设置是单个集群中的四个 HP 刀片。两个刀片位于一个数据中心,距离容纳另外两个刀片的另一个数据中心约 15 英里。为了让集群连接在一起,我需要网络团队配置站点之间的路由器以传递多播流量。此外,由于 Red Hat 将 TTL 硬编码为“1”到多播心跳包,我不得不使用 iptables 将该多播地址调整为更高的 TTL。

完成这些之后,我能够使用刀片服务器获得一个四节点集群。对于存储,我在每个站点的两个本地节点之间共享一个 3Par LUN。这些是我用于 DRBD 设备的块设备。我应该在这里补充一点,我有一个专用的 1G WAN 链路,仅用于我的 DRBD 流量。我能够相当轻松地在站点之间运行 DRBD,并将该 DRBD 设备用作集群 LV 中的 PV,并在其上运行 GFS2。我的 DRBD 设置偶尔会出现裂脑情况,我必须手动恢复,我正在尝试隔离该问题。

下一步是最难的。我希望能够在主节点发生故障时将我的 GFS2 安装故障转移到另一个节点。我的 GFS2 服务由浮动 IP -> DRBD -> LVM -> GFS2 组成。集群源代码中的 drbd.sh 脚本根本不起作用,所以我一直在使用 /etc/init.d 中的常规 DRBD 启动脚本进行测试。似乎“有时”有效,所以我需要对其进行调整。

我很沮丧地发现 Red Hat Cluster Suite 不支持这些功能,所以我将其应用于生产环境的梦想破灭了。你还需要在哪里进行这种设置?几乎只有非常重要的生产内容。

我确实在这里与赛门铁克进行了交谈,他们告诉我他们绝对支持具有共享存储的主动-主动延伸集群。但只有当我真正看到它时我才会相信这一点。

答案3

众所周知,DRBD 非常慢。您不能将其用于高负载企业用途。它使用 128 KiB 哈希函数,将 IO 请求限制为最大 128 KiB,而不是普通 HDD 可以提供的 512 KiB。此外,还有一个愚蠢的 IO 请求大小检测。这个东西只有在连接到另一台主机时才有效。如果您断开连接,本地 HDD 上的 IO 请求大小将被重置为 4 KiB。8.4.1 和 8.3.11 有同样的问题。

以下是更多详细信息:http://www.gossamer-threads.com/lists/drbd/users/24104

这就是为什么真正的企业使用像 Veritas 这样的 $$$ 产品的原因。

如果您需要高性能和低价格,MD RAID 1 是更好的选择。它还提供“主要写入”模式,这样您就可以避免从速度较慢的设备读取数据。

答案4

我们在工作中使用 DRBD。它工作得很好,但我们只在双节点配置中使用它。我不会考虑将它用于更复杂的事情。

相关内容