> 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-7-duo-zu-hu/04-resource-allocation.md).

# 资源分配与扩展

## 租户节点：虚拟数据中心的虚拟主机

每个 VergeOS 租户均运行在一个或多个 **租户节点** ——模拟物理 VergeOS 主机的虚拟服务器。每个租户节点为租户的工作负载提供专用计算资源（CPU 核心）、内存（RAM）和网络，同时通过租户的封装网络保持完全隔离。

了解租户节点的工作方式，是合理配置租户部署规模并随时间扩展的关键。

### 租户节点特性

| 特性           | 说明                                   |
| ------------ | ------------------------------------ |
| **模拟主机**     | 租户节点在租户的虚拟数据中心内复制物理 VergeOS 节点的功能    |
| **安全的主机间通信** | 即使运行在不同的物理主机上，租户节点也会通过租户受保护的封装网络进行通信 |
| **迁移能力**     | 租户节点可在物理主机之间实时迁移，以进行维护、负载均衡和自动故障转移   |
| **匹配的资源分配**  | 租户节点可面向具有不同硬件配置的不同集群（标准、vGPU、高内存）    |
| **无中断扩展**    | 可在不重启正在运行的租户节点的情况下增加或减少其核心数和 RAM     |

### 租户节点限制

每个租户节点的默认值和最大值：

| 资源  | 默认值   | 最高                  |
| --- | ----- | ------------------- |
| 核心数 | 4     | 1,048,576           |
| RAM | 16 GB | 5,242,880 MB (5 TB) |

集群 `每台机器的最大 RAM` 以及 `每台机器的最大核心数` 设置还可以进一步限制特定租户节点实际可使用的资源。

网络也存在租户级别上限：最多 **28 个主机网络段** 可作为第 2 层连接扩展到单个租户中（符合条件的类型：内部、外部、BGP、VPN 和物理桥接）。

### 无需手动计算开销

VergeOS 会自动计算虚拟机监控程序和存储开销。您分配给租户节点的内存 **完全可用** 可由该租户在其自身工作负载之间分配——无需手动计算开销。

## 单节点与多节点租户

首个规划决策是租户需要一个节点还是多个节点。

### 单节点租户（首选默认方案）

单个租户节点是最简单且最常见的配置。只要租户的计算和内存需求可容纳在单个节点内，就建议以此作为起点。

单节点租户仍可通过 VergeOS 内置的 **看门狗机制**:

* 如果运行租户节点的物理主机发生故障，看门狗会自动在另一台物理主机上重启该租户节点
* 在计划维护期间，将创建临时租户节点以实时迁移工作负载，不会中断服务
* 随着需求增长，可在不中断服务的情况下于稍后添加额外租户节点

{% hint style="success" %}
**从简单开始**

如果单个租户节点即可满足 RAM 和核心数需求，且不存在需要多个物理主机的网络或设备需求，为简化管理，单节点更为可取。
{% endhint %}

### 何时需要多节点租户

在特定场景下，必须使用多个租户节点：

1. **计算资源超出集群最大值** ——可分配给单个租户节点的核心数和 RAM 受集群设置限制（*每台机器的最大 RAM* 以及 *每台机器的最大核心数*）。当租户需要的资源超过一个节点所能提供的容量时，请添加额外节点。
2. **集群应用程序** ——Web 场、Hadoop 集群、数据库主/副本对以及其他分布式应用程序；这些应用程序要求工作负载在不同物理主机上运行，以实现高可用性、负载均衡或并行处理。
3. **混合硬件能力** ——当租户同时需要标准计算资源和专用硬件（vGPU、PCI 直通、USB 设备）时，请在具有适当硬件的不同集群上部署租户节点。
4. **法规隔离** ——合规性要求可能规定某些工作负载必须在物理隔离的主机上运行。

## 合理配置规模策略

VergeOS 租户支持 **无中断资源扩展** ——您可以在不影响工作负载的情况下，向正在运行的租户添加核心数、RAM、节点和存储。因此，您应该：

* **按当前和近期需求进行配置**，而非基于推测的未来增长
* **逐步扩展** 随着实际需求增加
* **避免过度配置** ——分配给一个租户的未使用资源无法为其他租户提供服务

```mermaid
flowchart TD
    A["评估工作负载需求"] --> B{"需求是否适合\n单个节点？"}
    B -- 是 --> C["部署单节点租户"]
    B -- 否 --> D{"多节点原因？"}
    D -- "超过集群上限" --> E["向\n同一集群添加节点"]
    D -- "高可用性 / 集群应用" --> F["添加采用\nHA 组反亲和性的节点"]
    D -- "混合硬件" --> G["在\n不同集群上添加节点"]
    D -- "法规" --> H["在\n独立物理主机上添加节点"]
    C --> I["监控并\n优先纵向扩展"]
    E --> I
    F --> I
    G --> I
    H --> I
    I --> J{"是否需要更多\n资源？"}
    J -- "可容纳于现有节点" --> K["增加现有节点的\n核心数/RAM"]
    J -- "超过节点容量" --> L["添加另一个\n租户节点"]
    K --> I
    L --> I

    style A fill:#e8f5e9,stroke:#2e7d32
    style C fill:#e3f2fd,stroke:#1565c0
    style I fill:#fff3e0,stroke:#e65100
```

## 配置示例

以下示例说明现实场景中的租户节点规划决策。

### 示例 1：小型单节点租户

**场景：** 3 台 VM，无特殊要求。主机集群允许最大 RAM 为 64 GB，最大核心数为 16。

| 设置   | 值                                      |
| ---- | -------------------------------------- |
| 租户节点 | 1                                      |
| 核心数  | 8                                      |
| RAM  | 16 GB                                  |
| 扩展路径 | 将核心数/RAM 增加至最高 64 GB / 16 核心，然后添加第二个节点 |

**理由：** 单个节点可提供充足资源。看门狗故障转移可确保冗余性，而无需增加复杂性。

### 示例 2：中型高可用 Web 应用程序

**场景：** 面向客户、需要多实例高可用性的 Web 应用。主机集群允许最大 RAM 为 128 GB，最大核心数为 16。

| 设置   | 值                                    |
| ---- | ------------------------------------ |
| 租户节点 | 2                                    |
| 节点 1 | 64 GB RAM，12 核心（2 个 Web 服务器 + 数据库主库） |
| 节点 2 | 64 GB RAM，12 核心（2 个 Web 服务器 + 数据库副本） |
| HA 组 | 反亲和性规则确保 Web/数据库实例保留在不同物理主机上         |

**理由：** 尽管一个节点可以容纳所有资源，两个节点可确保 Web 服务器和数据库组件在不同物理主机上运行，从而实现应用程序级高可用性。

### 示例 3：包含 GPU 的混合工作负载

**场景：** 标准计算、高性能视频渲染和 GPU 加速处理。可用的三个主机集群：标准（最大 64 GB）、vGPU（最大 64 GB）、高级（最大 128 GB）。

| 设置   | 值                          |
| ---- | -------------------------- |
| 租户节点 | 4                          |
| 节点 1 | 64 GB，8 核心——标准集群（文件服务器）    |
| 节点 2 | 64 GB，8 核心——标准集群（管理工具）     |
| 节点 3 | 64 GB，16 核心——vGPU 集群（视频渲染） |
| 节点 4 | 48 GB，8 核心——高级集群（编辑工作站）    |

**理由：** 多个节点可部署在硬件能力匹配的集群上。每个租户节点均面向最适合其工作负载的集群。

### 示例 4：企业级分布式分析

**场景：** 需要多主机部署以实现负载均衡和冗余的分布式分析平台。主机集群允许最大 RAM 为 96 GB，最大核心数为 16。

| 设置     | 值                                         |
| ------ | ----------------------------------------- |
| 租户节点   | 4                                         |
| 节点 1–3 | 每个 64 GB、12 核心（每个节点 1 个应用服务器 + 1 个数据库服务器） |
| 节点 4   | 32 GB，8 核心（2 个数据处理服务器）                    |
| HA 组   | 反亲和性确保应用程序实例跨越不同物理主机                      |

**理由：** 四个租户节点可确保应用程序实例在多个物理主机上运行，同时保持可在租户内运行所有服务的能力。

## 增加租户资源

VergeOS 提供三种无中断方法，可向正在运行的租户添加资源。

### 向现有节点添加核心数/RAM

更改会 **立即** 在租户节点上生效——无需重启。

1. 导航至 **租户仪表板** → **节点**
2. 双击目标节点 → 单击 **编辑**
3. 修改 **核心数** 和/或 **RAM** 字段
4. 单击 **提交**

{% hint style="info" %}
**集群限制**

每个租户节点的最大核心数和 RAM 由集群的 *每台机器的最大 RAM* 以及 *每台机器的最大核心数* 设置决定。除非工作负载均衡另有要求，否则请在添加新节点之前充分利用现有节点。
{% endhint %}

{% hint style="info" %}
**资源变更验证**

当更改租户节点的核心数或 RAM 时，VergeOS 会运行 `validatecluster.gcs` 针对主集群（以及 `validateclusterfailover.gcs` 针对故障转移集群（如果已配置）。任何会超过任一集群单机限制，或运行主机无法以可用 RAM 满足的更改，都会被拒绝，从而防止过度承诺。
{% endhint %}

### 添加新租户节点

1. 导航至 **租户仪表板** → **节点** → **新建**
2. 配置 **核心数**, **RAM**, **集群**，以及 **故障转移集群**
3. 选择 **断电时** 行为（上次状态、保持关闭或开机）
4. 单击 **提交**

{% hint style="warning" %}
**首选节点**

设置 *首选节点* 是 **不建议** 用于租户节点。错误配置可能会对内置冗余机制产生不利影响。如有需要，请咨询 VergeOS 支持团队。
{% endhint %}

### 配置额外存储

**新存储层：**

1. 租户仪表板 → **添加存储** → 选择 **层** → 输入 **已配置** 数量 → **提交**

**扩展现有层：**

1. 租户仪表板 → 滚动至 **存储** 部分 → 单击 **编辑** 所需层上的
2. 输入新的 **总计** 已配置数量（例如，将 50 GB 更改为 75 GB 以增加 25 GB）

## 减少租户资源

### 减少核心数/RAM

可在不关闭正在运行的租户节点的情况下减少核心数和 RAM。但是，如果这些资源当前正由租户 VM 使用， **实际回收将被延后** 直到 VM 关闭。

**示例：** 您将租户节点的 RAM 从 32 GB 减少到 28 GB，但 VM 当前正在使用全部 32 GB。设置会立即更改，但差额 4 GB 要等到 VM 释放该内存后才会被回收。

### 删除租户节点

1. 关闭或迁移节点上的所有 VM
2. 关闭租户节点
3. 导航至 **租户仪表板** → **节点** → 选择节点 → **删除**

{% hint style="warning" %}
**最少节点要求**

租户必须始终至少拥有一个节点。删除任何租户节点之前，请确保至少保留一个其他节点，并且所有工作负载均已从要删除的节点迁移出去。
{% endhint %}

## 扩展路径：先纵向，后横向

建议的租户扩展策略遵循明确的流程：

### 步骤 1：纵向扩展

将现有租户节点的核心数和 RAM 增加至集群最大值。这是最简单且零中断的路径。

### 步骤 2：横向扩展

当现有节点已达到最大容量时，请添加新的租户节点。对于常规扩展，将其部署在同一集群；对于专用硬件，将其部署在不同集群。

### 步骤 3：添加存储

独立于计算资源扩展已配置的存储。为现有层增加容量，或配置新的存储层。

### 步骤 4：重新平衡

如果资源在节点间的分布变得不均衡，请在节点之间平衡 RAM/核心数，而不是将一个节点配置至最大、另一个节点仅进行最低配置。

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

在 VMware 和 Nutanix 中，“扩展租户”通常意味着调整配额大小并信任调度程序。在 VergeOS 中，您直接配置专用租户节点的规模。
{% endhint %}

| 平台      | 隔离模型                                | 扩展操作                              |
| ------- | ----------------------------------- | --------------------------------- |
| VergeOS | 每个租户都是一个 VDC，具有专用租户节点（封装网络 + 隔离存储卷） | 实时编辑租户节点的核心数/RAM，或添加节点——系统会自动计算开销 |

## 最佳实践

| 实践              | 指导原则                                        |
| --------------- | ------------------------------------------- |
| **从一个节点开始**     | 默认使用单节点租户；仅在需要时添加节点                         |
| **按当前需求合理配置规模** | 按当前/近期需求进行配置，而非基于推测的未来增长                    |
| **添加前先充分利用**    | 在添加新节点之前增加现有节点资源（除非工作负载均衡另有要求）              |
| **平衡资源**        | 当需要两个节点时，应均匀分配资源，而不是将一个节点配置至最大、另一个节点最小化配置   |
| **使用 HA 组**     | 对于具有高可用性要求的多节点租户，请配置反亲和性规则，以便 VM 分布在不同物理主机上 |
| **使集群匹配工作负载**   | 将租户节点部署在硬件与工作负载匹配的集群上（GPU、高内存、标准）           |
| **监控和调整**       | 使用租户仪表板和使用情况报告来确定何时需要扩展                     |


---

# 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-7-duo-zu-hu/04-resource-allocation.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.
