AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 20139
In Process
ericslaw
ericslaw
Asked: 2009-06-05 15:14:50 +0800 CST2009-06-05 15:14:50 +0800 CST 2009-06-05 15:14:50 +0800 CST

适用于 Linux 的良好故障转移/高可用性解决方案?[关闭]

  • 772
关闭。这个问题是题外话。它目前不接受答案。

对产品、服务或学习材料推荐的请求是题外话,因为它们会吸引低质量、固执己见和垃圾邮件的答案,而且这些答案很快就会过时。相反,请描述您正在处理的业务问题、您所做的研究以及迄今为止为解决它所采取的步骤。

6年前关闭。

锁定。这个问题及其答案被锁定,因为这个问题离题但具有历史意义。它目前不接受新的答案或交互。

我有几种情况需要在发生故障(服务器挂起或崩溃)时将应用程序从一台服务器迁移到另一台服务器。

在 solaris 上,我们使用 VCS(Veritas Cluster Server)来执行此操作。Linux 有哪些可用选项?

请说明每个项目的设置/维护工作量或成本(如果有)。

-- 添加了更多细节 --

给出复杂程度的概念:

  • 发生故障的服务器可能会挂起或崩溃,恕不另行通知,可能仍然是“ping-able”
  • 恢复服务器需要在故障转移时启动它的应用程序
  • 一旦服务器启动/电源循环失败,它就会变得被动,以免干扰恢复服务器。

这是一个数据收集或计算节点,而不是数据库,因此更简单的解决方案可以工作。

-- 更多细节(对不起) --

共享存储不是一种选择,但没有太多状态(如果有)需要从一台服务器迁移到另一台服务器。我们通过 rsync 使两台服务器保持同步。

非常感谢您迄今为止的所有帖子。

linux vcs high-availability failover
  • 11 11 个回答
  • 17912 Views

11 个回答

  • Voted
  1. womble
    2009-06-05T15:24:07+08:002009-06-05T15:24:07+08:00

    http://linux-ha.org/满足您所有的高可用性需求。就像这首歌说的,生命中最美好的东西都是免费的。

    • 10
  2. jtimberman
    2009-06-05T16:00:12+08:002009-06-05T16:00:12+08:00

    我在 Linux 上使用过各种集群解决方案。我也是配置管理的支持者,所以我会在我的描述中添加一些关于它的内容(即 Chef 或 Puppet)

    Veritas 集群服务器 (VCS)。已经有一段时间了,但我们在 RHEL 3.0 上部署了一些 Linux VCS 集群。我希望它在 RHEL 5.0 上可用。您应该熟悉设置它的困难,因为它是熟悉的领域。您可能知道,VCS 很昂贵。有趣的是,VCS 不太适合通过配置管理进行设置。

    说到 RHEL,Red Hat Cluster Suite 自从最初发布 RHEL 2.1 以来已经成熟了很多。设置/配置阶段非常简单,文档非常完整且有用,并且像 VCS 一样,您可以从供应商处购买支持。对于商业 HA 产品,RHCS 价格合理。我只会使用配置管理来安装软件包,并通过 Web 界面“手动”维护它们。另外,我听说有些人在非 Red Hat 平台上使用它,尽管我没有直接的经验。

    Linux-HA(drbd/heartbeat)也很棒,尽管来自 VCS 的配置可能看起来很简单,但很笨拙。这很容易通过配置管理工具实现自动化。

    作为概念验证,我使用 IBM 的 HACMP(他们的 AIX 集群软件)安装了一个 Linux 集群。我不会推荐这个,因为我记得它甚至比 VCS 还要贵。IBM 有安装和维护 HACMP 的特定程序,我不会在这里使用配置管理。

    • 4
  3. Karl Katzke
    2009-06-05T17:06:36+08:002009-06-05T17:06:36+08:00

    Michael 是正确的,社区现在有点支离破碎,文档有点稀疏。

    其实,一切都在那里,只是无法理解。您真正想要的是“Pacemaker Configuration Explained”电子书...(链接到 PDF)。你会想读十几遍,然后尝试实现它,然后再读十几遍,这样你就可以真正理解它了。

    目前,最受支持的 Linux 集群服务实现可能是 Novell 的 SLES11 和它的高可用性扩展 (HAE)。它一两个月前才问世,附带一本厚达 200 页的精美手册,描述了如何设置和运行。Novell 在支持各种形式的 Pacemaker 配置方面也表现出色。

    除此之外,还有 RHEL5 的实现,它具有相同的包和体面的文档,但我认为它比 SLES 更昂贵。至少,对我们来说。

    我现在会避免使用 Heartbeat 并选择 Pacekmaker/OpenAIS,因为它们会在未来得到更好的支持。然而,目前社区的状态是这样的,有一些专家,有几个人在生产中运行它,还有很多人完全一无所知。加入 Pacemaker 邮件列表并关注一个名叫 Andrew Beekhof 的人。

    编辑以提供请求的详细信息:

    Pacemaker/OpenAIS 在“原始资源”(例如 nfs-server)上使用“监视器”操作来跟踪资源正在做什么。如果示例 NFS 服务器在 X 秒内对集群的其余部分无响应,则集群将执行 STONITH(将其他节点射入头部)操作以关闭主节点,从而将辅助节点提升为活动状态。您可以在配置中决定之后要显示的内容以及要采取的相关操作。那里的实现细节取决于您尝试进行故障转移的服务、某些操作的执行窗口(例如将主节点提升回主节点)以及整个事情尽可能可配置。

    • 4
  4. Michael Renner
    2009-06-05T15:31:01+08:002009-06-05T15:31:01+08:00

    Linux HA 社区目前有点分裂。

    以前称为 Linux HA 的工具目前是Pacemaker和OpenAIS ,当需要无共享架构时,这些工具通常与DRBD结合运行。

    我建议在深入研究之前获得一本关于这个主题的好书,因为这是一个非常全面的领域,并且项目的状态不一定像某些供应商解决方案那样用户友好。

    还有一些集群软件供应商提供的 Linux 解决方案,但我不能告诉你太多,因为我自己从未使用过它们。

    • 1
  5. Viky
    2009-06-05T21:39:06+08:002009-06-05T21:39:06+08:00

    在 Linux 中,我们使用 heartbeat 和 drbd 实现了集群。心跳检查服务器的状态。DRBD 用于服务器之间的数据同步。我们在一台服务器上运行 oracle 服务,在另一台服务器上运行 apache。当运行 oracle 的服务器发生故障时,heartbeat 会感知到同样的情况并在运行 apache 的服务器上恢复 oracle 服务。反之亦然。一直将此设置用于许多其他目的,并且迄今为止一直可靠。

    • 1
  6. wzzrd
    2009-06-06T00:33:04+08:002009-06-06T00:33:04+08:00

    Red Hat Cluster Suite可以为几乎所有可能的应用程序做你想做的事。结合 GFS 和 Cluster LVM,您可以拥有可靠的共享存储。

    维护并不比保持单个盒子运行困难得多。实际上,应用程序迁移使修补各个盒子变得更容易。

    RHCS 带有一个 Web 前端 (Luci) 和一个 GTK 前端 (system-config-cluster),使配置和迁移变得可点击。它允许您通过一个基于 Web 的中央管理控制台为每个应用程序配置故障转移域、恢复策略、防护。

    考虑到 RHCS 实际上有一个非常可靠的支持选项,我会选择 RHCS。

    不知道这会花你多少钱,但我估计它在几千美元的范围内。

    • 1
  7. gbjbaanb
    2009-06-06T00:46:00+08:002009-06-06T00:46:00+08:00

    UltraMonkey,它部分构建在 Linux-HA 框架之上。我一直认为它是一种负载平衡解决方案,而不是真正的集群,但它可以很好地处理故障转移。

    • 1
  8. David Pashley
    2009-06-06T00:13:41+08:002009-06-06T00:13:41+08:00

    我们使用 Linux 虚拟服务器和 keepalived 来实现高可用性。keepalived 可以在主机本身上执行 VRRP(我相信这依赖于其他服务器的死机),或者您可以将其设置在单独的主机上进行负载平衡,这可以进行服务可用性检查。在第一种情况下可能可以配置服务检查,但我没有检查。如果您可以同时运行两台服务器,则第二种情况特别好,否则您可以手动切换。

    • 0
  9. MarkR
    2009-06-06T05:49:15+08:002009-06-06T05:49:15+08:00

    我为 TCP 编写了一个基于软件的负载均衡器,它不需要单独的机器。它通过在多播链接级别地址上宣布它并在机器之间进行协商来共享单个 IP 地址,以避免两台机器服务于相同的 TCP 连接。

    不利的一面是它不是真正的生产就绪 - 但如果你想在你的测试网络上测试它,我会很高兴。

    蓬松的集群在这里

    我不一定会检测到“活着但生病”的情况,但我会在成员服务器之间进行负载平衡(如果用户空间进程死亡,其他节点会注意到并删除故障节点)

    • 0
  10. Vince Bryant
    2011-01-26T11:16:14+08:002011-01-26T11:16:14+08:00

    它不是免费的,但是那些没有时间或专业知识在 Linux 上安装自己的 HA 解决方案的人,答案在 www.rapidscaleclusters.com。几分钟内您就可以启动并运行,易于安装和运行,它也受支持。

    • 0

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve