Date: 3月 4, 2025
节点和集群:高可用性的基石
我想花一些时间回顾一下“节点”和“集群”这两个术语。出于本博客的目的,我将解释如何西欧斯使用这些术语和其他术语以及它们的具体含义。
这些可能被视为分布式计算领域的标准术语,但如果您是该领域的新手,您可能会想知道它们到底意味着什么。
分布式计算中的节点是什么?
当我开始使用 SIOS 时,我注意到术语“节点”和“集群”是常见的日常用语,您每天都会听到很多次。我一直在问自己,“他们为什么使用‘节点’这个词?”从上下文来看,他们的意思是服务器,但为什么他们说节点?解释一下,节点可以是服务器,但也可以是客户端计算机或对等计算机;它本质上是用于执行计算任务和路由流量的任何组件。
在亚马逊网络服务(AWS)节点可以是作为 EC2 实例实现的虚拟机。您可以在其上安装和运行软件,并且它可以具有网络接口,可用于与其通信并供其连接到其他节点。当您使用 SSH 进入AWS EC2实例,您启动 SSH 会话的客户端计算机是客户端节点的示例,并且您正在连接到 EC2 服务器实例节点。节点可以是本地物理机或虚拟机 (VM)。
了解集群:节点如何协同工作
让我们继续讨论术语“集群”。这个词可能会让人联想到粘在一起的东西。在分布式计算世界中,这意味着节点连接在一起形成一个组合资源,可以处理比单个节点更大的任务。在 SIOS,我们在每个节点上都有特殊的集群保护软件,可以监控卷,并在检测到问题时启动故障转移操作,或者对用户故意将资源投入或退出服务做出响应。
您可以将集群中的节点连接在一起以执行自动备份。您可以在单独的节点上运行数据库服务器,以将计算能力/磁盘 I/O 和数据与其他操作隔离开来。
冗余在高可用性集群中的作用
集群还可以提供冗余允许服务在一个节点发生故障时继续运行。操作冗余并不是一个新概念。希望在单台服务器上运行任何重要操作且没有冗余的时代已经过去。
例如,在刀片计算领域,通过在同一个单元内运行两个计算模块,刀片服务器配置中实现了冗余。服务器固件处理故障转移/切换逻辑。为了节省成本,服务器硬件负载共享电源和机架 KVM。
设施运营商可以逐步向服务器添加更多硬件以处理额外负载。这样,运营商就可以调整系统大小,并使用机架制造商提供的标准化组件进行购买/构建。这提供了一种与云世界中的扩展机制更有限但类似的扩展机制,不同之处在于它全部托管在一个盒子中。可以使用诸如此类或类似的本地机架硬件来构建集群节点。
基于云的集群与本地集群
云集群受益于机架服务器设备内置的所有冗余属性,因为它们基本上是运行在云提供商拥有的共享数据中心硬件上的独立虚拟机。但是,它们允许客户将集群分布在不同位置,有意将其计算机需求负载分摊到在云提供商物理数据中心其他区域的不同物理建筑物中运行的虚拟机中。
这为单点断电提供了极大的弹性。在云中实施的集群利用位于不同位置的服务器,可以容忍一个位置完全断电。
节点和集群解释
出现了一些问题:
问:集群与节点相同吗?
答:不是,节点通常是一个可以执行计算机任务的组件。集群由 2 个或更多节点组成。
问:什么是 3 节点集群?
A.A3 节点集群是一个由 3 个节点组成的集群,每个节点之间都有通信路径。3 个节点是奇数配置,通常其中一个节点将是所谓的“见证”节点,可能不会执行其他工作。如果网络部分故障,并且一个节点无法与其对等节点通信,则两个主服务器节点可能无法确定谁应该控制(这种现象称为“裂脑”)。见证节点可以提供其所看到的处于服务状态的节点的信息,提供数据来解决裂脑问题,启动一个活动节点,将另一个节点置于待机模式,重新获得对节点的正确控制。
问:什么是 2 节点集群?
答:2 节点集群是指 2 个节点之间有一个或多个通信路径的集群。这通常用于在主节点上运行服务,而第二个节点处于待机状态。
问:一个集群有多少个节点?
答:2个或更多节点组成一个集群。
利用节点和集群最大程度地提高高可用性
总之,集群由节点组成;节点是具有网络功能的独立计算模块。请注意将节点放在不同的物理位置以防止一个区域发生停机的好处。
立即联系 SIOS了解我们的集群解决方案如何帮助您优化高可用性并最大限度地减少停机时间。
作者:Paul ScruttonSIOS 首席软件工程师
经许可转载西欧斯