> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/learn-the-platform/zh/mo-kuai-1-jia-gou-ji-chu/05-clusters-nodes.md).

# 集群与节点类型

## 什么是集群？

A **集群** 在 VergeOS 中，集群是具有相同硬件特征的节点的逻辑分组，在 VergeOS 用户界面中作为可用资产呈现为资源池。集群可为虚拟化工作负载提供高效管理、扩展和高可用性。

每个 VergeOS 系统都从至少一个集群开始——最初的两个控制器节点在安装期间形成第一个集群。从那里，您可以向现有集群添加节点，或创建具有不同角色和硬件配置的其他集群。

### 为什么集群很重要

集群有几个用途：

* **计算隔离** — CPU、内存和虚拟机工作负载绑定到特定集群。虚拟机仅在其分配的集群内的节点上运行（可选故障转移到另一个集群）。
* **共享存储池** — vSAN 层横跨多个集群，组成一个单一的逻辑存储池。Cluster 1 上的存储驱动器和 Cluster 2 上的存储驱动器都可以为同一层提供贡献。仅计算节点通过核心 Fabric 访问该共享存储。
* **硬件优化** — 不同集群可以有不同的硬件配置：用于数据库的高内存节点、配备 GPU 的渲染节点、适合存储密集型工作负载的高密度 NVMe 节点
* **独立扩展** — 向一个集群添加计算容量而不影响其他集群；存储则在整个系统范围内扩展

## 集群类型

VergeOS 支持三种不同的集群类型，可在单一系统内混合搭配：

| 集群类型         | 提供      | vSAN 参与              | 典型用例                  |
| ------------ | ------- | -------------------- | --------------------- |
| **组合型（HCI）** | 计算 + 存储 | 是——节点将存储磁盘贡献给 vSAN 层 | 通用工作负载，中小型部署          |
| **仅存储**      | 仅存储     | 是——节点仅贡献存储           | UCI 架构中的专用存储扩展        |
| **仅计算**      | 仅计算     | 否——仅引导或 PXE 引导       | 高计算工作负载（机器学习、渲染、数据分析） |

**常见部署示例：**

```mermaid
graph TB
    subgraph hci["HCI（单集群）"]
        N1["控制器 1<br/>计算 + 存储"]
        N2["控制器 2<br/>计算 + 存储"]
        N3["横向扩展<br/>计算 + 存储"]
    end

    subgraph hybrid["混合型（2 个集群）"]
        H1["控制器 1<br/>存储 + 管理"]
        H2["控制器 2<br/>存储 + 管理"]
        HC1["计算节点 1"]
        HC2["计算节点 2"]
    end

    subgraph uci["UCI（3 个集群）"]
        U1["控制器 1<br/>管理"]
        U2["控制器 2<br/>管理"]
        US1["存储节点 1"]
        US2["存储节点 2"]
        UC1["计算节点 1"]
        UC2["计算节点 2"]
    end

    style N1 fill:#e3f2fd,stroke:#1565c0
    style N2 fill:#e3f2fd,stroke:#1565c0
    style N3 fill:#e3f2fd,stroke:#1565c0
    style H1 fill:#e3f2fd,stroke:#1565c0
    style H2 fill:#e3f2fd,stroke:#1565c0
    style HC1 fill:#fff3e0,stroke:#e65100
    style HC2 fill:#fff3e0,stroke:#e65100
    style U1 fill:#e3f2fd,stroke:#1565c0
    style U2 fill:#e3f2fd,stroke:#1565c0
    style US1 fill:#e8f5e9,stroke:#2e7d32
    style US2 fill:#e8f5e9,stroke:#2e7d32
    style UC1 fill:#fff3e0,stroke:#e65100
    style UC2 fill:#fff3e0,stroke:#e65100
```

## 节点类型

VergeOS 系统中的每台物理服务器都是一个 **节点**。节点在加入系统的方式、承担的角色以及所属集群方面有所不同。VergeOS 定义了四种节点类型：

### 控制器节点

每个 VergeOS 系统都至少从两个 **控制器节点**开始。为了实现 N+2 冗余，需要第三个控制器节点。它们之所以特殊，是因为：

* **节点 1** 创建一个全新的 VergeOS 系统。它会初始化 vSAN，创建第一个集群，并运行安装后的配置（网络设置、为其他节点类型创建集群等）
* **节点 2** 作为第二个控制器加入由节点 1 创建的系统，为所有系统管理功能提供冗余（N+1）
* **节点 3（可选）** — 可以添加第三个控制器节点以实现 N+2 冗余，使系统能够容忍两个节点同时故障

控制器节点始终属于 **集群 1**。在 HCI 拓扑中，它们同时提供计算和存储。在混合拓扑中，它们通常仅提供 **存储和管理** — 不承载生产虚拟机——而由单独的计算集群处理所有工作负载。在完整 UCI 拓扑中，它们管理系统，但将存储和计算委托给专用集群。

第一个集群必须至少包含两台具有 **Tier 0 存储** （元数据驱动器）的节点——这是硬性要求，因为 Tier 0 保存 vSAN 文件系统索引，且必须具备冗余。

### 横向扩展节点

横向扩展节点通过增加更多计算和存储容量来扩展现有的 HCI 集群。关键特性：

* **相同硬件** 与其加入的集群中的控制器节点硬件相同（相同 CPU 代际、类似的存储布局、匹配的 NIC 配置）
* 通过 USB 安装并选择横向扩展节点类型。安装程序会自动检测核心 Fabric，然后由操作员使用管理员凭据进行身份验证。如果存在多个集群，操作员还需选择目标集群以及用于匹配硬件的参考节点
* 磁盘会自动加入现有的 vSAN 层
* 同时贡献计算（运行虚拟机）和存储（参与 vSAN）

横向扩展节点是增长 HCI 部署的最简单方式——添加一个节点，集群的计算和存储容量就会按比例增加。

### 仅存储节点

仅存储节点专门用于扩展 vSAN 容量。它们：

* 向 vSAN 层贡献磁盘，但不 **不** 运行虚拟机工作负载
* 属于 **仅存储集群** （例如，集群 2）
* 在添加第一台存储节点之前，需要先在 VergeOS UI 中创建存储集群
* 用于存储和计算独立扩展的 UCI 架构

### 仅计算节点

仅计算节点提供处理能力，但不参与 vSAN 存储。它们：

* 运行虚拟机工作负载，但没有 **本地 vSAN 存储** （仅引导磁盘或 PXE 引导）
* 属于 **仅计算集群** （例如，集群 3）
* 在添加第一台计算节点之前，需要先在 VergeOS UI 中创建计算集群
* 通过核心 Fabric 访问来自 HCI 或仅存储集群中的节点的存储

仅计算节点非常适合需要高 CPU/RAM/GPU 密度而无需按比例增加存储的工作负载——机器学习、渲染、数据分析或 VDI。

### 节点类型摘要

| 节点类型          | 角色        | 集群    | vSAN              | 运行虚拟机         | 加入方式             |
| ------------- | --------- | ----- | ----------------- | ------------- | ---------------- |
| **控制器（节点 1）** | 创建新系统     | 集群 1  | 是（Tier 0 + 工作负载层） | 是（HCI）或否（UCI） | 新系统创建            |
| **控制器（节点 2）** | 作为冗余控制器加入 | 集群 1  | 是（Tier 0 + 工作负载层） | 是（HCI）或否（UCI） | 加入集群 1           |
| **横向扩展**      | 增加 HCI 容量 | 集群 1  | 是（工作负载层）          | 是             | 在核心 Fabric 上自动检测 |
| **仅存储**       | 专用存储扩展    | 集群 2+ | 是（工作负载层）          | 否             | 加入指定的存储集群        |
| **仅计算**       | 专用计算扩展    | 集群 2+ | 否（仅引导 / PXE）      | 是             | 加入指定的计算集群        |

{% hint style="info" %}
**来自 VMware 或 Nutanix？**

这两个平台都没有在单一集群内原生包含仅存储或仅计算成员的概念。VergeOS 有，而且它允许您为独立扩展定义集群类型。

VMware 和 Nutanix 集群是同质的；VergeOS 集群可以是 HCI、仅存储或仅计算，而且一个系统可以混合多种类型的集群。
{% endhint %}

| VergeOS 节点角色 | 最接近的 VMware vSphere 类比                           | 最接近的 Nutanix 类比                         |
| ------------ | ------------------------------------------------ | --------------------------------------- |
| 控制器          | ESXi 主机 + vCenter 服务（无独立设备）                      | 集群中的第一台节点；VergeOS 控制器运行在裸金属上，而不是在 CVM 中 |
| 横向扩展         | 加入 vSAN 集群的额外 ESXi 主机                            | 加入 Nutanix 集群的额外节点                      |
| 仅存储          | 无原生对应项（vSAN witness 最接近）                         | 无对应项——每个 Nutanix 节点都运行 CVM 并参与计算        |
| 仅计算          | 没有本地 vSAN、挂载外部存储的 ESXi 主机（这里指通过核心 Fabric 的 vSAN） | 没有直接对应项                                 |

## 节点如何加入系统

节点加入过程遵循严格的顺序，以防止竞态条件：

```mermaid
flowchart TD
    A["节点 1（控制器）<br/>创建新的 VergeOS 系统<br/>初始化 vSAN，创建集群 1"] --> B["节点 2（控制器）<br/>加入集群 1<br/>建立 HA 对"]
    B --> C{"有其他节点？"}
    C -->|"横向扩展"| D["横向扩展节点<br/>在核心 Fabric 上自动检测系统<br/>按顺序加入集群 1"]
    C -->|"仅存储"| E["创建存储集群<br/>（UI 中的集群 2）"]
    C -->|"仅计算"| F["创建计算集群<br/>（UI 中的集群 2 或 3）"]
    E --> G["存储节点<br/>按顺序加入存储集群"]
    F --> H["计算节点<br/>按顺序加入计算集群"]
    G --> F

    style A fill:#e3f2fd,stroke:#1565c0
    style B fill:#e3f2fd,stroke:#1565c0
    style D fill:#e3f2fd,stroke:#1565c0
    style G fill:#e8f5e9,stroke:#2e7d32
    style H fill:#fff3e0,stroke:#e65100
```

节点加入的关键规则：

1. **节点 1 必须先完成安装** 然后节点 2 才能加入——节点 2 需要一个现有系统才能连接
2. **节点按顺序加入** 在同一集群内——节点 2 之后是节点 3，节点 3 之后是节点 4，依此类推——以防止集群成员变更期间出现竞态条件
3. **存储集群必须存在** 在存储节点能够加入之前——请先在 VergeOS UI 中创建集群
4. **计算集群必须存在** 在计算节点能够加入之前——同样的前提条件
5. **如果同时部署存储和计算集群**，应先添加存储节点，以便计算节点可以立即访问 vSAN 存储

## 集群编号与命名

集群从 1 开始编号，但 **名称是自由格式的** ——您可以将集群命名为任何名称，并可随时在 VergeOS UI 中重命名。以下名称只是常见约定，不是必填值：

| 集群编号 | 默认角色                     | 常用名称             |
| ---- | ------------------------ | ---------------- |
| 集群 1 | HCI（控制器 + 可选横向扩展）        | “HCI”、“默认”或“控制器” |
| 集群 2 | 仅存储（如果是 UCI）或仅计算（如果是混合型） | “存储”或“计算”        |
| 集群 3 | 仅计算（在 3 个集群的完整 UCI 中）    | “计算”             |

在包含 3 个集群的完整 UCI 部署中：

* **集群 1**：控制器（系统管理，Tier 0 元数据）
* **集群 2**：存储节点（所有 vSAN 工作负载存储）
* **集群 3**：计算节点（所有虚拟机执行）

## 最低要求与高可用性

| 要求             | 详细说明                                                        |
| -------------- | ----------------------------------------------------------- |
| **每个系统的最少节点数** | 2（一个控制器对）                                                   |
| **每个集群的最少节点数** | 2（用于维护或故障期间的冗余）                                             |
| **控制器节点**      | 每个系统至少 2 个（默认 N+1）；N+2 冗余需要 3 个——必须具有用于 vSAN 元数据的 Tier 0 存储 |
| **HA 行为**      | 如果一个节点故障，其工作负载会迁移到同一集群中存活的节点                                |
| **维护模式**       | 节点可置于维护模式；在维护开始前，工作负载会实时迁移到集群中的其他节点                         |

## 扩展

VergeOS 系统可从最小 2 节点 HCI 集群扩展到多集群部署。所有节点必须共享 **相同的交换 Fabric** 并且彼此之间 **零交换跳数** （延迟目标低于 0.05 毫秒）。单机架是满足此要求的最简单方式。也可以采用多机架部署，但每个核心 Fabric 仍必须终止于单台交换机——使用更长的电缆回连到同一对 Fabric 交换机，而不是跨交换机拉伸 Fabric（MLAG/堆叠用于外部网络，不用于核心 Fabric）。扩展策略取决于您的架构：

### HCI 扩展（简单）

向集群 1 添加横向扩展节点。每个节点都会按比例增加计算和存储。

```mermaid
graph LR
    subgraph "起始：2 节点 HCI"
        A1["节点 1"] --- A2["节点 2"]
    end

    subgraph "增长：4 节点 HCI"
        B1["节点 1"] --- B2["节点 2"]
        B3["节点 3"] --- B4["节点 4"]
        B1 --- B3
        B2 --- B4
    end

    subgraph "扩展：8+ 节点 HCI"
        C1["节点 1-2<br/>（控制器）"]
        C2["节点 3-8<br/>（横向扩展）"]
    end
```

**最适合**：计算和存储需求同步增长的均衡扩展。

### UCI 扩展（独立）

根据瓶颈所在资源，将节点添加到特定集群：

* **需要更多存储？** 向存储集群添加节点
* **需要更多计算？** 向计算集群添加节点
* **两者都需要更多？** 分别向两个集群添加

**最适合**：资源需求不平衡的工作负载（例如，存储负载重但计算负载轻，或 GPU 密集型计算但存储要求适中）。

### 扩展最佳实践

* **集群内硬件保持一致** — 为集群中的所有节点使用相同的硬件规格。在同一集群内混用不同硬件可能会导致性能和可靠性问题。
* **规划 N+1 冗余** — 将每个集群容量设置到即使丢失一个节点，也仍能容纳所有工作负载
* **扩展前监控** — 使用 VergeOS 仪表板指标（CPU 利用率、RAM 使用率、vSAN 容量）来识别需要扩展的资源
* **无停机扩展** — 可以在系统运行中添加新节点，而不会中断现有工作负载

## 部署拓扑示例

映射到真实部署模式的常见拓扑：

| 拓扑                   | 节点                                   | 集群                     | 适用场景                       |
| -------------------- | ------------------------------------ | ---------------------- | -------------------------- |
| **2 节点 HCI**         | 2 个控制器                               | 1（HCI）                 | 小型站点、边缘、PoC、基础评估           |
| **HCI + 横向扩展**       | 2 个控制器 + N 个横向扩展                     | 1（HCI）                 | 需要均衡扩展的成长型 HCI 部署          |
| **混合型（2 个集群）**       | 2 个控制器 + N 个计算节点                     | 2（存储 + 计算）             | 计算密集型工作负载，存储需求适中           |
| **UCI（3 个集群）**       | 2 个控制器 + N 个存储节点 + M 个计算节点           | 3（控制器 + 存储 + 计算）       | 独立的计算/存储扩展                 |
| **UCI + GPU（4 个集群）** | 2 个控制器 + N 个存储节点 + M 个计算节点 + G 个 GPU | 4（控制器 + 存储 + 计算 + GPU） | 配备专用 GPU 节点的 AI/ML、渲染或 VDI |

```mermaid
graph TB
    subgraph "2 节点 HCI"
        direction LR
        H1["控制器 1<br/>HCI"] --- H2["控制器 2<br/>HCI"]
    end

    subgraph "HCI + 横向扩展"
        direction LR
        S1["控制器 1"] --- S2["控制器 2"]
        S3["横向扩展 1"] --- S4["横向扩展 2"]
    end

    subgraph "混合型（2 个集群）"
        direction LR
        subgraph "集群 1（存储）"
            Y1["控制器 1"]
            Y2["控制器 2"]
        end
        subgraph "集群 2（计算）"
            Y3["计算 1"]
            Y4["计算 2"]
        end
    end

    subgraph "UCI + GPU（4 个集群）"
        direction LR
        subgraph "集群 1（控制器）"
            U1["控制器 1"]
            U2["控制器 2"]
        end
        subgraph "集群 2（存储）"
            U3["存储 1"]
            U4["存储 2"]
        end
        subgraph "集群 3（计算）"
            U5["计算 1"]
            U6["计算 2"]
        end
        subgraph "集群 4（GPU）"
            G1["GPU 节点 1"]
            G2["GPU 节点 2"]
        end
    end
```

## 要点总结

| 概念           | 摘要                                |
| ------------ | --------------------------------- |
| **集群**       | 具有相同硬件的节点的逻辑分组，形成资源池              |
| **三种集群类型**   | HCI（计算 + 存储）、仅存储、仅计算——可在一个系统中混合使用 |
| **四种节点类型**   | 控制器、横向扩展、仅存储、仅计算——每种都有特定角色和加入方式   |
| **至少 2 个节点** | 每个集群用于冗余；控制器需要 Tier 0 存储          |
| **按顺序加入**    | 节点一次加入一个，以防止竞态条件                  |
| **硬件一致性**    | 集群中的所有节点都应具有匹配的硬件规格               |
| **独立扩展**     | UCI 架构允许独立添加计算或存储容量               |
| **扩展**       | 系统可从双节点 HCI 扩展到单一交换平面内的多集群部署      |

## 下一步

你现在已经了解 VergeOS 如何将节点组织为集群，以及不同节点类型如何承担不同角色。在动手实验中，你将使用 Terraform 演练环境来探索这些概念： [**实验：架构探索 →**](/learn-the-platform/zh/mo-kuai-1-jia-gou-ji-chu/lab.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verge.io/learn-the-platform/zh/mo-kuai-1-jia-gou-ji-chu/05-clusters-nodes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
