> 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/vi/mo-dun-1-kien-thuc-co-ban-ve-kien-truc/02-hci-vs-uci.md).

# HCI so với UCI: Mô hình triển khai

## Hai cách triển khai VergeOS

VergeOS là độc nhất trong số các nền tảng hạ tầng vì nó hỗ trợ **hai mô hình triển khai riêng biệt** từ cùng một bản cài đặt phần mềm:

* **HCI (Hạ tầng siêu hội tụ)** -- Tính toán và lưu trữ chạy trên mọi nút. Tài nguyên tăng quy mô cùng nhau.
* **UCI (Hạ tầng siêu hội tụ tối đa)** -- Tính toán và lưu trữ chạy trên các kiểu nút chuyên dụng, tách biệt. Tài nguyên tăng quy mô độc lập.

Hầu hết các nền tảng cạnh tranh (VMware vSAN, Nutanix) chỉ hỗ trợ HCI. VergeOS cho bạn cả hai lựa chọn -- và bạn thậm chí có thể kết hợp chúng trong một hệ thống duy nhất.

{% hint style="info" %}
**Hệ thống so với Cụm**

* **Hệ thống** — toàn bộ triển khai VergeOS, gồm một hoặc nhiều cụm được quản lý như một đơn vị duy nhất.
* **Cụm** — một nhóm các nút có phần cứng tương ứng, chia sẻ ranh giới tính toán và tính sẵn sàng cao. Các tầng lưu trữ vSAN trải rộng trên tất cả các cụm trong hệ thống, vì vậy lưu trữ được chia sẻ trên toàn hệ thống dù tính toán và HA được phạm vi hóa theo từng cụm.
  {% endhint %}

## HCI: Hạ tầng siêu hội tụ

Trong triển khai HCI, mọi nút trong cụm đều đóng góp **cả hai** năng lực lưu trữ và tài nguyên tính toán. Khi bạn cần thêm một trong hai, bạn thêm một nút khác -- và nút đó sẽ bổ sung cả hai.

### Cách hoạt động

Điểm khởi đầu phổ biến nhất là cụm HCI 2 nút. Hai nút controller tạo thành một cụm duy nhất xử lý lưu trữ (vSAN) và tính toán (khối lượng công việc VM). Cả hai nút đều đóng góp đĩa Tier 0 và đĩa tầng khối lượng công việc vào vùng lưu trữ dùng chung, và cả hai nút đều chạy máy ảo.

Để mở rộng, bạn thêm **các nút mở rộng ngang** vào cùng một cụm. Mỗi nút scale-out tham gia thông qua tự động phát hiện qua mạng và ngay lập tức đóng góp thêm năng lực lưu trữ và tính toán.

```mermaid
graph TB
    subgraph cluster1["Cụm 1 (HCI)"]
        N1["Node 1 — Bộ điều khiển<br/>Lưu trữ + Tính toán"]
        N2["Node 2 — Bộ điều khiển<br/>Lưu trữ + Tính toán"]
        S1["Nút scale-out 3<br/>Lưu trữ + Tính toán"]
        S2["Nút scale-out 4<br/>Lưu trữ + Tính toán"]
    end
    subgraph fabric["Core Fabric (L2 dùng chung)"]
        CF["Core Fabric 1 + 2"]
    end
    N1 --- CF
    N2 --- CF
    S1 --- CF
    S2 --- CF
    EXT["Mạng bên ngoài"] --- N1
    EXT --- N2
    EXT --- S1
    EXT --- S2

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

### Khi nào nên chọn HCI

| Tình huống                    | Vì sao HCI phù hợp                                                  |
| ----------------------------- | ------------------------------------------------------------------- |
| **Triển khai nhỏ** (2--8 nút) | Tối giản độ phức tạp, mỗi node kiêm hai nhiệm vụ                    |
| **Workload cân bằng**         | Khi nhu cầu lưu trữ và tính toán tăng với tốc độ gần như nhau       |
| **Edge / site từ xa**         | Cụm 2 nút với HA đầy đủ và diện tích vật lý nhỏ                     |
| **Đánh giá và thử nghiệm**    | Con đường nhanh nhất để có một hệ thống VergeOS hoạt động           |
| **Tiết kiệm ngân sách**       | Cần ít nút tổng thể hơn cho khối lượng công việc nhỏ đến trung bình |

### Các đặc điểm chính

* **Tối thiểu**: 2 nút (cặp controller)
* **Mở rộng**: Thêm các nút scale-out vào cùng một cụm
* **Vai trò của nút**: Tất cả các nút đều chạy **và** lưu trữ
* **Số cluster**: 1
* **Đơn giản**: Dễ triển khai và quản lý nhất

## UCI: Hạ tầng siêu hội tụ tối đa

UCI là thuật ngữ bao trùm cho bất kỳ triển khai nào mà lưu trữ và tính toán tăng quy mô độc lập trên **các kiểu nút chuyên dụng**. Dạng điển hình sử dụng ba cụm (controller, lưu trữ, tính toán); một biến thể lai phổ biến gộp controller + lưu trữ thành hai cụm. Dù theo cách nào, bạn mở rộng từng tầng tài nguyên độc lập -- thêm nút lưu trữ khi bạn cần thêm dung lượng, hoặc nút tính toán khi bạn cần thêm CPU và RAM, mà không phải mua cả hai.

### Cách hoạt động

Một triển khai UCI bắt đầu với cùng cặp controller 2 nút, nhưng các controller quản lý hệ thống mà không chạy khối lượng công việc sản xuất hay lưu trữ dữ liệu người dùng. Các **nút lưu trữ** chuyên dụng tạo thành một cụm thứ hai cung cấp toàn bộ dung lượng vSAN. Các **nút tính toán** chuyên dụng tạo thành một cụm thứ ba chạy toàn bộ khối lượng công việc VM.

```mermaid
graph TB
    subgraph cluster1["Cụm 1 (Controller)"]
        N1["Nút 1 — Controller"]
        N2["Nút 2 — Controller"]
    end
    subgraph cluster2["Cụm 2 (Lưu trữ)"]
        ST1["Nút lưu trữ 1"]
        ST2["Nút lưu trữ 2"]
    end
    subgraph cluster3["Cụm 3 (Tính toán)"]
        C1["Nút tính toán 1"]
        C2["Nút tính toán 2"]
    end
    subgraph fabric["Core Fabric (L2 dùng chung)"]
        CF["Core Fabric 1 + 2"]
    end
    N1 --- CF
    N2 --- CF
    ST1 --- CF
    ST2 --- CF
    C1 --- CF
    C2 --- CF
    EXT["Mạng bên ngoài"] --- N1
    EXT --- N2
    EXT --- ST1
    EXT --- ST2
    EXT --- C1
    EXT --- C2

    style cluster1 fill:#f0f4ff,stroke:#336
    style cluster2 fill:#fff3e0,stroke:#e65100
    style cluster3 fill:#e8f5e9,stroke:#2e7d32
    style fabric fill:#fce4ec,stroke:#c62828
```

### Khi nào nên chọn UCI

| Tình huống                                  | Vì sao UCI hoạt động tốt                                              |
| ------------------------------------------- | --------------------------------------------------------------------- |
| **Môi trường lớn** (10+ nút)                | Mở rộng độc lập giúp tránh cấp phát dư thừa                           |
| **Khối lượng công việc thiên về lưu trữ**   | Thêm dung lượng lưu trữ mà không mua thêm tính toán bạn không cần     |
| **Khối lượng công việc thiên về tính toán** | Thêm các nút GPU hoặc CPU cao mà không mua thêm lưu trữ bạn không cần |
| **Cụm AI / HPC / GPU**                      | Cụm tính toán chuyên dụng với passthrough GPU, tách biệt khỏi lưu trữ |
| **Nhà cung cấp dịch vụ đám mây**            | Tối ưu chi phí phần cứng theo từng tầng tài nguyên trên nhiều tenant  |
| **Tăng trưởng không đều, có thể dự đoán**   | Nhu cầu lưu trữ và tính toán tăng với tốc độ khác nhau                |

### Các đặc điểm chính

* **Tối thiểu**: 6 nút (2 controller + 2 lưu trữ + 2 tính toán)
* **Mở rộng**: Thêm nút vào từng cụm riêng biệt một cách độc lập
* **Vai trò của nút**: Mỗi nút chỉ có một vai trò (controller, lưu trữ, hoặc tính toán)
* **Số cluster**: 3 ở dạng điển hình (controller, lưu trữ, tính toán); 2 ở biến thể lai
* **Tính linh hoạt**: Chọn cấu hình phần cứng phù hợp cho từng vai trò (NVMe dày đặc cho lưu trữ, có GPU cho tính toán)

## UCI lai: Biến thể hai cụm

VergeOS cũng hỗ trợ một **UCI lai** mô hình — một biến thể UCI hai cụm gộp vai trò controller và lưu trữ vào một cụm. Các nút controller cung cấp lưu trữ vSAN VÀ quản trị hệ thống; chúng không chạy khối lượng công việc VM sản xuất. Một cụm riêng gồm các nút tính toán chuyên dụng xử lý toàn bộ thực thi VM.

Đây là mô hình triển khai phổ biến vì nó giữ lớp controller/lưu trữ gọn nhẹ và chuyên dụng, trong khi tính toán tăng quy mô độc lập qua cụm riêng của nó. Các controller cung cấp lưu trữ vSAN cho các nút tính toán qua core fabric.

{% hint style="success" %}
**Các nút controller không nhất thiết phải chạy VM**

Trong triển khai lai, các nút controller thường chỉ đóng vai trò lưu trữ và quản trị — không có VM sản xuất nào chạy trên chúng. Điều này giảm tranh chấp tài nguyên trên các controller và đơn giản hóa việc lập kế hoạch dung lượng: lưu trữ tăng bằng cách thêm nút vào cụm controller, tính toán tăng bằng cách thêm nút vào cụm tính toán.
{% endhint %}

```mermaid
graph TB
    subgraph cluster1["Cụm 1 (Controller — Chỉ lưu trữ)"]
        N1["Nút 1 — Controller<br/>Lưu trữ + Quản trị"]
        N2["Nút 2 — Controller<br/>Lưu trữ + Quản trị"]
    end
    subgraph cluster2["Cụm 2 (Chỉ tính toán)"]
        C1["Nút tính toán 1"]
        C2["Nút tính toán 2"]
    end
    subgraph fabric["Core Fabric (L2 dùng chung)"]
        CF["Core Fabric 1 + 2"]
    end
    N1 --- CF
    N2 --- CF
    C1 --- CF
    C2 --- CF
    EXT["Mạng bên ngoài"] --- N1
    EXT --- N2
    EXT --- C1
    EXT --- C2

    style cluster1 fill:#e8f5e9,stroke:#2e7d32
    style cluster2 fill:#fff3e0,stroke:#e65100
    style fabric fill:#f0f4ff,stroke:#336
```

Hoặc, các controller **cũng có thể** chạy VM cùng với lưu trữ nếu cần — điều này hữu ích trong các môi trường nhỏ hơn, nơi dành riêng hai nút chỉ cho lưu trữ có vẻ lãng phí. Mô hình lai rất linh hoạt: controller có thể chỉ cung cấp lưu trữ, hoặc lưu trữ + tính toán, tùy theo yêu cầu của bạn.

## So sánh HCI và UCI

| Khía cạnh                    | HCI                             | UCI                                                          |
| ---------------------------- | ------------------------------- | ------------------------------------------------------------ |
| **Số node tối thiểu**        | 2                               | 6                                                            |
| **Số cluster**               | 1                               | 3                                                            |
| **Các kiểu nút**             | Tất cả các nút giống nhau       | Controller, lưu trữ, tính toán                               |
| **Mở rộng lưu trữ**          | Gắn với tính toán               | Độc lập                                                      |
| **Mở rộng compute**          | Gắn với lưu trữ                 | Độc lập                                                      |
| **Tính đồng nhất phần cứng** | Tất cả các nút có cùng thông số | Các nút được tối ưu theo vai trò                             |
| **Độ phức tạp triển khai**   | Thấp hơn                        | Cao hơn                                                      |
| **Chi phí ở quy mô nhỏ**     | Thấp hơn (ít nút hơn)           | Cao hơn (tối thiểu 6 nút)                                    |
| **Chi phí ở quy mô lớn**     | Có thể cấp phát vượt mức        | Chi phí tối ưu theo từng tầng                                |
| **Phù hợp nhất**             | Nhỏ đến trung bình, cân bằng    | Lớn, tăng trưởng không đều, khối lượng công việc chuyên biệt |

## Khung ra quyết định

Dùng sơ đồ luồng này để định hướng khuyến nghị mô hình triển khai của bạn:

```mermaid
flowchart TD
    A["Cần bao nhiêu nút<br/>cho triển khai?"] --> B{"Ít hơn 6?"}
    B -->|Có| C["✅ HCI<br/>UCI yêu cầu tối thiểu 6 nút"]
    B -->|Không| D{"Lưu trữ và tính toán<br/>có tăng với cùng tốc độ không?"}
    D -->|"Có — tăng trưởng cân bằng"| E["✅ HCI<br/>Dễ quản lý hơn,<br/>không lãng phí tài nguyên"]
    D -->|"Không — tăng trưởng không đều"| F{"Cần phần cứng chuyên biệt<br/>(GPU, NVMe dày đặc)?"}
    F -->|Có| G["✅ UCI<br/>Chọn cấu hình phần cứng phù hợp cho từng vai trò"]
    F -->|Không| H{"Tối ưu chi phí<br/>ở quy mô lớn có phải ưu tiên không?"}
    H -->|Có| I["✅ UCI<br/>Tránh cấp phát vượt mức"]
    H -->|Không| J["✅ HCI<br/>Đơn giản là tốt hơn"]

    style C fill:#e8f5e9,stroke:#2e7d32
    style E fill:#e8f5e9,stroke:#2e7d32
    style G fill:#fff3e0,stroke:#e65100
    style I fill:#fff3e0,stroke:#e65100
    style J fill:#e8f5e9,stroke:#2e7d32
```

### Các quy tắc nhanh

1. **Hãy bắt đầu với HCI** trừ khi bạn có lý do cụ thể để chọn UCI
2. **Cân nhắc UCI** khi bạn cần 10+ nút hoặc có yêu cầu phần cứng chuyên biệt
3. **UCI lai** (2 cụm) là một bước đệm tốt -- bắt đầu với HCI, rồi tách tính toán sang cụm riêng của nó
4. Bạn có thể **tiến hóa** từ HCI sang UCI lai rồi sang UCI đầy đủ khi môi trường phát triển

## Ví dụ Playground Terraform

Terraform Playground của VergeOS bao gồm các cấu hình mẫu cho từng mô hình triển khai, giúp bạn dễ dàng kiểm thử từng topology:

| Mô hình             | Tệp ví dụ                                     | Nút | Cụm |
| ------------------- | --------------------------------------------- | --- | --- |
| **HCI 2 nút**       | `examples/2-node-hci.tfvars`                  | 2   | 1   |
| **HCI + Scale-out** | `examples/4-node-hci.tfvars`                  | 4   | 1   |
| **UCI lai**         | `examples/4-node-hybrid-hci-2-cluster.tfvars` | 4   | 2   |
| **UCI đầy đủ**      | `examples/6-node-uci-3-cluster.tfvars`        | 6   | 3   |

Mỗi ví dụ là một `.tfvars` tệp mà bạn sao chép vào `terraform.tfvars` và tùy chỉnh với các thiết lập môi trường của bạn. Mô hình triển khai được điều khiển bằng các biến bật/tắt boolean:

* **HCI**: Không cần công tắc bật/tắt (mặc định)
* **HCI + Scale-out**: `create_scale_out_nodes = true`
* **UCI lai**: `create_compute_nodes = true`
* **UCI**: `create_storage_nodes = true` và `create_compute_nodes = true`

{% hint style="info" %}
**Cầu nối VMware**

Đang chuyển từ vSAN? VergeOS hỗ trợ cả triển khai HCI và UCI từ cùng một bản cài đặt — không có tầng sản phẩm riêng hay cấp phép riêng cho lưu trữ tách rời. Các kiểu nút chỉ lưu trữ và chỉ tính toán là các tùy chọn triển khai hạng nhất, tất cả được quản lý từ cùng một giao diện UI.
{% endhint %}

{% hint style="info" %}
**Cầu nối Nutanix**

Đang chuyển từ Nutanix? VergeOS chạy lưu trữ như một dịch vụ HĐH tích hợp — không có CVM trên từng nút để định cỡ, vá lỗi, hay xử lý sự cố. Các kiểu nút chỉ lưu trữ và chỉ tính toán cho phép bạn dành riêng phần cứng theo từng vai trò trong một hệ thống duy nhất.
{% endhint %}

## Triển khai một nút

Mặc dù VergeOS được thiết kế cho các cụm nhiều nút, **triển khai một nút** có các trường hợp sử dụng hợp lệ:

* **Thay thế bare-metal** — Thay một máy chủ vật lý truyền thống bằng một nút VergeOS duy nhất chạy nhiều VM, tận dụng lợi ích của ảo hóa (snapshot, quản lý tài nguyên, sao lưu dễ dàng) mà không cần nút thứ hai
* **Các site biên** — Một nút duy nhất ở vị trí từ xa nơi dữ liệu không quá quan trọng tại chỗ (ví dụ: host máy khách mỏng, bộ nhớ đệm cục bộ, bảng hiệu) và có thể được sao chép từ site trung tâm nếu cần
* **Phát triển / lab** — Một hệ thống độc lập để kiểm thử và phát triển

Các triển khai một nút vẫn có **dự phòng ở mức đĩa** — vSAN dùng nhân bản 2 bản sao trên các ổ đĩa trong nút (cho dung lượng sử dụng khoảng \~50%), bảo vệ chống lỗi của từng ổ đĩa riêng lẻ. Tuy nhiên, có **không có dự phòng ở mức nút** — nếu chính nút đó lỗi, khối lượng công việc sẽ ngừng cho đến khi nó được khôi phục. Khuyến nghị mạnh mẽ dùng snapshot và sao chép ngoài site.

## Tóm tắt

| Khái niệm               | Điểm chính                                                                            |
| ----------------------- | ------------------------------------------------------------------------------------- |
| **HCI**                 | Mỗi nút làm mọi thứ. Đơn giản, hiệu quả chi phí ở quy mô nhỏ.                         |
| **UCI**                 | Vai trò chuyên dụng theo từng nút. Linh hoạt, tối ưu chi phí ở quy mô lớn.            |
| **UCI lai**             | Controller xử lý lưu trữ/quản trị; tính toán tăng quy mô riêng. Biến thể UCI hai cụm. |
| **Lợi thế của VergeOS** | Cùng một nền tảng hỗ trợ cả ba mô hình -- không cần thay đổi sản phẩm.                |

## Các bước tiếp theo

Bây giờ bạn đã hiểu các mô hình triển khai HCI và UCI, chủ đề tiếp theo sẽ đề cập đến lớp lưu trữ vận hành cả hai: [**vSAN / VergeFS →**](/learn-the-platform/vi/mo-dun-1-kien-thuc-co-ban-ve-kien-truc/03-vsan-vergefs.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/vi/mo-dun-1-kien-thuc-co-ban-ve-kien-truc/02-hci-vs-uci.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.
