> 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-3-an-zhuang/02-controller-installation.md).

# 控制器安装

安装两个控制器节点是每次 VergeOS 部署的核心。节点 1 引导一个全新的系统——设置系统名称、管理员账户、网络、许可证、加密和存储层级。节点 2 加入现有系统并镜像这些设置，为您提供一个立即具备冗余的集群。本页将详细讲解这两次安装。

## 安装流程概览

```mermaid
graph LR
    A["从 USB 启动节点 1<br/>"] --> B["标准安装 →<br/>控制器 → 新建"]
    B --> C["系统与<br/>网络配置"]
    C --> D["许可证与<br/>加密"]
    D --> E["磁盘选择<br/>与层级分配"]
    E --> F["重启并<br/>验证节点 1"]
    F --> G["从 USB 启动节点 2<br/>"]
    G --> H["标准安装 →<br/>控制器 → 加入"]
    H --> I["自动检测<br/>网络"]
    I --> J["匹配加密<br/>与层级"]
    J --> K["重启并<br/>验证集群"]

    style F fill:#e8f5e9,stroke:#2e7d32
    style K fill:#e8f5e9,stroke:#2e7d32
```

***

## 节点 1：主控制器安装

节点 1 创建 VergeOS 系统。您在此做出的每一项配置选择都将建立节点 2 及所有后续节点遵循的基线。

{% hint style="warning" %}
**破坏性操作**

VergeOS 会作为完整操作系统安装到每个节点上。所选驱动器将被格式化，并且 **这些驱动器上的所有现有数据都将丢失**。在确认前请再次检查驱动器选择。
{% endhint %}

### 第 1 阶段：启动与安装类型

1. **从 USB 启动** -- 插入 VergeOS 安装介质并启动服务器。完整安装程序会加载到内存中；加载时间取决于介质速度。
2. **选择“安装（标准）”** -- 这是默认选项。只有在直接与 VergeOS 支持团队合作时才应使用非标准选项。
3. **选择“控制器”** -- 任一系统中的前两个节点必须是控制器节点。
4. **选择“是”** 以确认这是一个 **新安装** （新的 vSAN）。

### 第 2 阶段：时间与标识

5. **时区** -- 选择系统时区（服务器所在的地理位置）。
6. **NTP 配置** -- 输入以空格分隔的 NTP 服务器列表（例如， `pool.ntp.org time.google.com`），或接受默认值。
7. **日期和时间** -- 仔细确认当前日期和时间。安装后，节点 1 会控制整个系统的 NTP，因此这里的准确性至关重要。

   > **时间很重要：** 错误的日期或时间会导致 vSAN 运行问题。请仔细核对两者——尤其是日期，它很容易被忽略。
8. **系统名称** -- 输入您的 VergeOS 系统的描述性名称（例如，“Production HCI Cluster”）。该名称会显示在仪表盘、告警、报告和站点同步配置中。安装后可在系统设置中更改。

### 第 3 阶段：管理员账户

9. **管理员用户名** -- 接受默认值（`admin`）或输入自定义用户名。
10. **密码** -- 输入强密码（至少 8 个字符）。请立即将其存入您的密码库。
11. **电子邮件地址** -- 输入管理员邮箱。该邮箱用于密码重置和接收订阅告警。安装过程中必须提供电子邮件地址。

### 第 4 阶段：网络接口配置

此处就体现出您在安装前准备的 NIC 文档的价值。您将配置节点上检测到的每个 NIC。

#### 核心网络接口

12. **选择 Core1 NIC** -- 选择连接到您的 Core Fabric 1 交换机的物理 NIC。
13. **配置 Core1 设置：**
    * **名称** -- 描述性名称（例如交换机主机名或您的命名约定）
    * **MTU** -- NIC 上的默认值为 9192；物理交换机端口的 MTU 必须至少为 9216，以容纳 NIC MTU 及 VXLAN 开销
    * **核心** -- 保持为 **“是”**
    * **VLAN** -- 输入 Core1 的 VLAN ID，或留空/0 表示 PVID（未打标签）端口
14. **选择 Core2 NIC** -- 选择连接到您的 Core Fabric 2 交换机的物理 NIC。
15. **配置 Core2 设置** -- 与 Core1 相同的模式，但使用 Core2 的 VLAN ID。

{% hint style="success" %}
**键盘导航**

在安装程序中， `[Tab]` 在操作项（完成/编辑/取消）之间移动，而不是在字段之间移动。按 `[Enter]` 可切换某个字段的编辑模式。编辑模式关闭时，使用方向键在字段之间移动。
{% endhint %}

#### 外部网络接口

16. **选择外部 NIC** -- 选择连接到外部/管理交换机的 NIC。此处支持端口聚合（LACP）以实现冗余。
17. **配置外部设置：**
    * **名称** -- 外部网络的描述性名称
    * **MTU** -- 通常为 1500（标准以太网）
    * **核心** -- 更改为 **“否”**
    * **VLAN** -- 如适用，请输入管理 VLAN ID（首选 PVID）
    * **IP 地址** -- 静态地址，CIDR 格式（例如， `10.0.0.2/24`），或输入 `dhcp` 用于 DHCP（适用于测试/评估或仅存储系统）
    * **网关** -- 默认网关 IP 地址
    * **DNS** -- DNS 服务器地址
18. **配置其余 NIC** -- 安装过程中，任何未使用或未插上的 NIC 仍应分配名称（例如，“unused”）。当所有 NIC 配置完成后，选择 **\[完成]** 。

{% hint style="info" %}
端口聚合（LAG/LACP）应 **不** 用于 Core Fabric 网络。VergeOS 通过在不同交换机上使用多个独立核心网络来构建冗余。聚合仅适用于外部网络接口。
{% endhint %}

### 第 5 阶段：许可证配置

19. **选择许可证服务器** -- 在生产或试用/NFR 服务器之间选择。
20. **输入凭据** -- 提供来自您的 VergeOS 账户团队的许可证用户名和密码。请安全存储。

### 第 6 阶段：存储配置

#### vSAN 加密

21. **启用或禁用加密** -- VergeOS 支持 vSAN 的 AES-256 静态加密。
    * 如果启用，请输入加密密钥口令（8--64 个字符）
    * 可选地将加密密钥写入 **USB 驱动器** （强烈建议用于生产环境）
    * 在确认前请验证已选择正确的 USB 设备

{% hint style="warning" %}
**加密是永久性的**

加密选择 **不可逆** 安装后无法更改。要从加密切换到未加密（或反之），需要完整重新安装系统。请谨慎做出此决定。
{% endhint %}

#### 磁盘选择与层级分配

22. **选择 vSAN 驱动器** -- 默认显示并选中所有检测到的驱动器（以星号标记）。取消选择任何应排除的驱动器：
    * 可移动设备（USB 驱动器）
    * 专用于存储加密密钥的驱动器
    * 任何不打算用于 vSAN 的驱动器
23. **分配存储层级** -- 安装程序会自动检测每个驱动器的层级。选择 **“是”** 以查看并可选更改层级分配：
    * **0 层** -- 元数据存储（NVMe，建议高写入耐久；每 1 TB 可用 vSAN 容量计划约至少 5 GB / 建议 10 GB）
    * **1 层** -- 高性能、写入密集型工作负载（高耐久 NVMe）
    * **2 层** -- 混合工作负载、通用 VM（中端 SSD）
    * **3 层** -- 高速 HDD 或混合盘（传统；非必需）
    * **4 层** -- 标准 HDD / 容量（传统；非必需）
    * **5 层** -- 归档 / 冷存储（归档 HDD）

选择 **\[完成]** 当层级分配正确时。

{% hint style="info" %}
**Tier 0 仅用于元数据**

Tier 0 存储 vSAN 哈希映射和文件系统索引。它不是性能缓存，也不存储工作负载数据。建议使用具有高写入耐久性的 NVMe 驱动器（3+ DWPD）。
{% endhint %}

#### 交换配置

24. **选择交换层级** -- 选择用于交换空间的存储层级。尽量避免使用 Tier 0 驱动器；请选择下一个最快的层级。除非节点仅包含 HDD，否则绝不要选择 HDD 驱动器作为交换空间。
25. **输入每个驱动器的交换空间** -- 以 MB 为单位指定每个驱动器的交换空间（例如， `2048` 在 8 块驱动器上 = 总计 16 GB）。通常，每个节点配置的交换空间不应超过 **16 GB 的交换空间** 。
26. **确认** 交换摘要并选择 **“是”**.

### 第 7 阶段：完成与重启

27. 安装程序会格式化每个选定的驱动器（大容量驱动器可能需要几分钟）并初始化 vSAN。
28. 安装完成后， **移除 USB 介质** 并按 **\[Enter]** 以重启。

### 节点 1 验证

重启后，在继续进行节点 2 之前，请验证主控制器是否正常：

| 查看            | 预期结果                           |
| ------------- | ------------------------------ |
| **控制台屏幕**     | 显示蓝色 VergeOS 用户菜单              |
| **UI 访问**     | 在浏览器中访问配置的 IP 地址；使用 admin 凭据登录 |
| **状态指示灯**     | 主仪表盘上的所有指示灯均为绿色                |
| **vSAN 健康状态** | vSAN 已挂载且健康（如仪表盘所示）            |

{% hint style="success" %}
如果节点未能正确启动，请按 `Esc` 在控制台上获取命令提示符。输入 `yb-install` 以继续，或输入 `yb-install --restart` 重新开始安装。
{% endhint %}

***

## 节点 2：辅助控制器安装

节点 2 加入由节点 1 创建的系统。安装程序会自动检测大多数网络配置，因此此过程比节点 1 更快。

{% hint style="info" %}
主控制器（节点 1）必须 **已完全安装并启动** 后才能开始节点 2 的安装。在确认节点 1 健康之前，不要开始节点 2。
{% endhint %}

### 安装步骤

1. **从 USB 启动** -- 在第二台服务器上插入 VergeOS 安装介质并启动。
2. **选择“标准安装”** （默认）。
3. **选择“控制器”** （默认）。
4. **选择“否”** -- 这不是新安装。您正在加入节点 1 上已创建的系统。

   > **注意：** 如果您在此处选择“是”，安装程序将创建一个 **独立的系统** 而不是加入节点 1 的集群。这是节点 2 安装中最常见的错误。
5. **输入管理员凭据** -- 提供在节点 1 安装期间创建的管理员用户名和密码。
6. **自动网络检测** -- 选择 **“是”** 以自动检测网络配置。安装程序将发现节点 1 的两个核心网络。这是推荐方法，因为它可以避免手动网络配置错误。
7. **验证检测到的网络** -- 对于每个检测到的核心网络，请检查显示的配置并按 **\[Enter]** 进行确认。
8. **配置加密** -- 加密设置 **必须与** 节点 1 相同。如果节点 1 使用加密，节点 2 也必须使用相同口令进行加密。
9. **选择 vSAN 驱动器并分配层级** -- 驱动器和层级的选择应与节点 1 建立的模式一致（相同类型的驱动器使用相同的层级分配）。
10. **配置交换** -- 与节点 1 的交换配置保持一致。
11. 安装程序完成后， **移除 USB 介质** 并按 **\[Enter]** 以重启。

### 节点 2 验证

| 查看          | 预期结果                              |
| ----------- | --------------------------------- |
| **控制台屏幕**   | 显示蓝色 VergeOS 用户菜单                 |
| **UI 登录**   | 访问节点 1 使用的同一 IP 地址；两个节点都应可在仪表盘中看到 |
| **节点状态**    | 节点仪表盘中两个节点都显示健康（绿色）状态             |
| **vSAN 冗余** | vSAN 显示冗余状态（N+1），且两个节点都在提供存储      |

```mermaid
graph TB
    subgraph cluster["控制器集群（N+1 冗余）"]
        N1["节点 1 — 主控制器<br/>vSAN + 计算"]
        N2["节点 2 — 辅助控制器<br/>vSAN + 计算"]
    end

    subgraph fabric["核心 Fabric"]
        C1["核心 1"]
        C2["核心 2"]
    end

    N1 --- C1
    N1 --- C2
    N2 --- C1
    N2 --- C2

    EXT["外部网络<br/>(管理 UI)"] --- N1
    EXT --- N2

    style cluster fill:#e8f5e9,stroke:#2e7d32
    style fabric fill:#f0f4ff,stroke:#336
```

***

## N+2 冗余（可选第三控制器）

两个控制器节点提供默认的 **N+1 冗余** -- 每个数据块有两份副本。对于需要更高韧性的环境，VergeOS 还支持 **N+2 冗余** ，通过三个控制器节点维护每个数据块的三份副本。

配置 N+2：

1. 按照相同的节点 2 流程安装第三个控制器节点（加入现有系统）。
2. 在第三个控制器安装期间，安装程序会警告系统将切换为 N+2 冗余（3 份数据副本，约 33% 可用存储），并要求您输入 `N+2` 进行确认。
3. 当三个控制器节点全部安装完成后， **重启全部三个节点** 以激活 N+2 冗余。
4. 为了实现 N+2 冗余而添加第三个控制器节点，应与 VergeOS 支持团队协调进行。

{% hint style="warning" %}
在现有系统上在 N+1 与 N+2 之间切换，需要执行完整的数据重新平衡过程，这可能涉及 **显著停机时间**，尤其是在数据量较大的系统上。此更改应仅在 VergeOS 支持团队协调下进行。
{% endhint %}

***

## 安装决策摘要

### 不可逆决策

**加密** （是/否）在安装后无法更改，除非完全重新安装。请在开始之前决定。

### 安装后可更改

系统名称、管理员凭据、电子邮件、交换配置和网络名称都可以在安装后通过 UI 修改。

### 各节点之间必须一致

加密设置和层级分配模式在节点 1 与节点 2（以及所有后续控制器节点）之间必须保持一致。

### 故障排除

按 `Esc` 进入命令提示符。使用 `yb-install` 以继续，或输入 `yb-install --restart` 重新启动安装。

***

## 安装程序导航速查

| 步骤       | 节点 1 选择         | 节点 2 选择        |
| -------- | --------------- | -------------- |
| 安装类型     | 标准安装            | 标准安装           |
| 角色       | 控制器             | 控制器            |
| 新安装？     | **是** （新的 vSAN） | **否** （加入现有系统） |
| 时区 / NTP | 手动配置            | 不再提示（继承自节点 1）  |
| 系统名称     | 输入名称            | 不再提示（继承自节点 1）  |
| 管理员账户    | 创建新账户           | 输入现有凭据         |
| 网络配置     | 每个 NIC 手动配置     | 建议自动检测         |
| 许可证      | 输入凭据            | 不再提示（继承自节点 1）  |
| 加密       | 选择是/否           | 必须与节点 1 一致     |
| 磁盘/层级选择  | 完整选择            | 必须与节点 1 的模式一致  |
| 交换       | 配置              | 配置（与节点 1 匹配）   |

## 下一步

安装并验证两个控制器节点后，您可以继续添加额外容量：

* [**添加节点 →**](/learn-the-platform/zh/mo-kuai-3-an-zhuang/03-adding-nodes.md) -- 横向扩展、仅计算和仅存储节点安装
* [**安装后验证 →**](/learn-the-platform/zh/mo-kuai-3-an-zhuang/04-post-install-verification.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-3-an-zhuang/02-controller-installation.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.
