> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siflow.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# GPFS 概述

GPFS 是一种面向高性能计算和 AI 工作负载的共享文件存储。您可以将 GPFS 文件系统挂载到 CES 实例或 CKS 集群节点，用于保存和共享数据集、模型权重、训练输出和日志文件。

本文帮助您判断是否需要使用 GPFS，并了解创建前需要关注的规格、容量口径和使用边界。

## 适用场景

GPFS 适合需要通过文件系统语义共享数据的场景，例如：

* 多个 CES 实例或 CKS 集群节点需要访问同一份数据。
* 训练任务需要读取数据集，并写入模型权重、checkpoint 或训练输出。
* 推理、批处理或数据处理任务需要共享输入文件和输出结果。

<Tip>
  如果您的业务主要通过对象 API 读写数据，OSS 可能更适合。
</Tip>

## 规格类型

GPFS 提供性能型和容量型两类规格。

| 规格         | 性能型                           | 容量型                            |
| ---------- | ----------------------------- | ------------------------------ |
| 读吞吐        | 500 MB/s/TiB                  | 10 MB/s/TiB                    |
| 写吞吐        | 300 MB/s/TiB                  | 5 MB/s/TiB                     |
| 单个文件系统最大带宽 | 500 GB/s                      | 20 GB/s                        |
| 起步容量       | 11.5 TiB                      | 40 TiB                         |
| 最大容量       | 2 PiB                         | 100 PiB                        |
| 扩容步长       | 11.5 TiB                      | 40 TiB                         |
| inode 数量   | `min(<容量> * 500 万/TiB, 10 亿)` | `min(<容量> * 300 万/TiB, 100 亿)` |

如果性能型文件系统需要超过 500 GB/s 的带宽，或者需要上调 inode 数量，请联系技术支持进行评估。

## 容量和计费口径

GPFS 文件系统支持两种计费方式：

* 按量付费：按实际使用时长和配置容量计费。
* 包年包月：按固定周期预付。

GPFS 规格表中的容量均为可用容量。GPFS 文件系统底层可能使用副本或纠删码等方式保护数据。由于底层配置不同，您在计算节点上通过 `df` 或 `du` 看到的容量和使用量，可能与控制台展示的可用容量和使用量不完全一致。例如，在 CES、CKS 场景下，文件系统可能启用副本配置。如果创建 11.5 TiB 的文件系统，`df` 可能显示约 23 TiB；写入 1 GiB 文件后，`du` 可能显示占用 2 GiB。

## 容量和数量限制

GPFS 文件系统使用 thick provision 模式。创建文件系统时需要指定容量，后续扩容或缩容也是调整文件系统的目标容量。

起步容量和扩容步长受具体存储机型限制。相同规格在不同地域、不同存储集群上可能存在差异。

| 限制项        | 说明                                                                                   |
| ---------- | ------------------------------------------------------------------------------------ |
| 文件系统数量     | 一个租户在一个地域内最多创建 3 个文件系统。                                                              |
| 客户端集群数量    | 一个租户在一个地域内最多创建 5 个客户端集群。                                                             |
| 单节点挂载      | 一个 CES 实例或 CKS 集群节点可以挂载同一租户的多个文件系统，也可以挂载文件系统中的子目录。                                   |
| 单文件系统挂载节点数 | 一个文件系统建议最多挂载到 256 个 CES 实例或 CKS 集群节点。超过该数量时，请联系技术支持进行评估。                             |
| inode 上限   | 性能型为 `min(<容量> * 500 万/TiB, 10 亿)`；容量型为 `min(<容量> * 300 万/TiB, 100 亿)`。如需上调，请联系技术支持。 |
| 最大容量       | 文件系统最大容量受规格和地域库存影响。性能型最大为 2 PiB，容量型最大为 100 PiB。如果单个文件系统需要超过 200 TiB，请提前联系技术支持确认库存。   |

## 性能和水位建议

为获得稳定性能，建议将文件系统水位控制在 95% 以内。

这里的水位包括：

* 可用空间水位。
* inode 使用水位。

当文件系统水位过高时，IO 性能可能下降。

## 数据保护

GPFS 文件系统底层通过副本、纠删码等方式保护数据。但为了进一步提高数据安全性，您仍然需要自行备份重要数据。

删除文件系统或删除文件系统中的数据后，数据无法恢复。执行删除操作前，请确认需要保留的数据已完成备份或迁移。

## 运行环境限制

以下限制与挂载后的 CES 实例或 CKS 集群节点运行环境有关。如果需要修改这些配置，请先联系技术支持。

| 类型                | 限制                                                                                                                            |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| 主机名               | CES 实例或 CKS 集群节点加入 XStor 集群后，不要修改或重复设置 hostname，包括 `/etc/hosts` 中的 host 条目。                                                   |
| XStor master 节点数量 | CES 实例或 CKS 集群节点应保证至少 3 个 XStor master 节点。如果少于 3 个，集群无法处理网络分区等脑裂情况，XStor 可能无法正常工作。                                            |
| XStor master 节点   | 不要同时重启 XStor master 节点。                                                                                                       |
| XStor 组件          | 不要删除、修改或停止 XStor 相关的二进制、库、配置文件和服务。                                                                                            |
| GPFS 组件           | 不要删除、修改或停止 GPFS 相关的二进制、库、配置文件和服务。                                                                                             |
| OFED 组件           | 不要删除、修改或停止 OFED 相关的二进制、库、配置文件和服务。                                                                                             |
| 操作系统和内核           | 不要升级或重装 CES 实例或 CKS 集群节点的操作系统或内核版本。                                                                                           |
| 系统盘水位             | CES 实例或 CKS 集群节点的系统盘水位应控制在 80% 以内。                                                                                            |
| root SSH 配置       | CES 实例或 CKS 集群节点的登录密码可以修改，但不要修改 XStor master 节点到其他节点的 root SSH 配置，包括 `/root/.ssh/authorized_keys` 和 `/root/.ssh/known_hosts`。 |

## 端口要求

请保持 GPFS 使用的以下端口和协议可用：

| 类型      | 端口或协议                            |
| ------- | -------------------------------- |
| 协议      | ICMP                             |
| 管理和访问端口 | 22、1191、4739、8889、9085、9980、9981 |
| 动态端口范围  | 60000-61000                      |

如果 GPFS 使用的 IP 发生网络端口移动，例如从 `eth0` 移动到 `br0`，请重启该节点的 GPFS 客户端。

## API 调用频率限制

如果通过 API 管理 GPFS 文件系统，请遵守调用频率限制。

存储管控 API：

| 功能      | API                             | 调用频率            |
| ------- | ------------------------------- | --------------- |
| 创建文件系统  | `/api/fscm/filesystem`          | 1 per 60 sec    |
| 查询文件系统  | `/api/fscm/filesystem/describe` | 1000 per 60 sec |
| 创建客户端集群 | `/api/fscm/cluster/client`      | 1 per 60 sec    |
| 删除客户端集群 | `/api/fscm/cluster/client`      | 1 per 60 sec    |
| 删除文件系统  | `/api/fscm/filesystem`          | 10 per 60 sec   |

CES 管控服务 API：

| 功能          | API                        | 调用频率           |
| ----------- | -------------------------- | -------------- |
| Mount 文件系统  | `/api/v1/xstor/mnt/mount`  | 100 per 60 sec |
| Umount 文件系统 | `/api/v1/xstor/mnt/umount` | 100 per 60 sec |
