华为云文件存储CPFS高性能计算存储集群搭建全攻略

apphuang2026年06月22日 16:10:094

1. 引言:为什么高性能计算需要CPFS

高性能计算场景对存储系统的要求极其苛刻。AI大模型训练需要频繁读取海量小文件,自动驾驶仿真涉及PB级数据的随机访问,EDA芯片设计对元数据操作延迟极度敏感。传统的NAS存储基于单机架构,无法支撑成百上千个计算节点同时并发读写,IOPS和吞吐量很快成为整个集群的性能瓶颈。

华为云SFS Turbo(即云原生的并行文件系统CPFS)采用分布式并行架构,将数据以条带化方式分散存储在集群中的多个数据节点上,由多个客户端同时并行访问。这种架构能够提供最高20GB/s的吞吐量和百万级IOPS,同时保持1-3ms的低延迟。更关键的是,CPFS完全兼容POSIX标准,计算节点可以像访问本地文件系统一样挂载和使用,无需修改现有应用程序的代码。

需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联

2. CPFS核心架构与性能规格

2.1 并行分布式架构原理

CPFS的底层架构由元数据服务器和数据服务器集群构成。文件被拆分为多个分片(stripe),以条带化方式均匀分布在不同的数据服务器上。当应用发起高并发读写请求时,多个数据服务器可以同时响应,从而实现聚合带宽和IOPS的线性扩展。这种全对称的分布式架构,使得CPFS在NFS协议下也能提供远超传统NAS单机架构的性能指标。

2.2 SFS Turbo HPC型规格详解

华为云SFS Turbo提供了多种性能规格,按每TiB容量对应的带宽进行划分。以下是主要规格及其性能参数:

  • 20MB/s/TiB:最大带宽8GB/s,最大IOPS 25万,延迟2-5ms,容量范围3.6TB-1PB,适用于日志存储、文件共享等大容量低成本场景。
  • 40MB/s/TiB:最大带宽8GB/s,最大IOPS 25万,延迟2-5ms,容量范围1.2TB-1PB,同样适用于大容量低成本场景。
  • 125MB/s/TiB:最大带宽20GB/s,最大IOPS 100万,延迟1-3ms,容量范围1.2TB-1PB,适用于AI训练、自动驾驶、EDA仿真、渲染等场景。
  • 250MB/s/TiB:最大带宽20GB/s,最大IOPS 100万,延迟1-3ms,容量范围1.2TB-1PB,适用于对带宽要求更高的AI训练和HPC场景。
  • 500MB/s/TiB:最大带宽80GB/s,最大IOPS 400万,延迟1-3ms,容量范围1.2TB-1PB,适用于极致性能场景。
  • 1000MB/s/TiB:最大带宽80GB/s,最大IOPS 400万,延迟1-3ms,容量范围1.2TB-1PB,为最高性能规格。

所有规格均支持在线扩容,最高可达32PB。如需提高吞吐能力或IOPS上限,可在创建文件系统前提交工单申请。

2.3 CPFS与其他存储方案的对比

与对象存储OBS相比,CPFS提供文件语义和POSIX兼容性,适合需要随机读写和细粒度访问的场景。与普通云盘EVS相比,CPFS支持多计算节点共享访问,是构建HPC集群共享存储的唯一选择。与SFS容量型相比,SFS Turbo HPC型在IOPS和延迟上有数量级的优势。

3. 集群搭建前置准备

3.1 网络规划:VPC与子网

CPFS文件系统必须与计算节点部署在同一个区域(Region)的同一个虚拟私有云(VPC)中,才能实现内网高速访问。建议在创建文件系统之前先完成VPC和子网的规划。

创建VPC时需注意:选择与计算节点相同的地域;子网的可用区应与计算节点所在可用区保持一致;规划充足的IP地址段,因为每个挂载点会占用IP资源。如果计算节点与文件系统不在同一VPC,可以通过VPC对等连接或云专线打通网络。

3.2 计算节点规格要求

挂载CPFS的计算节点需要满足一定的规格要求。至少需要2 vCPU和4 GiB内存才能保证CPFS-POSIX客户端正常运行。对于大规模高性能计算集群,建议选择更高规格的ECS实例或裸金属服务器(BMS),并结合100G网络以充分发挥CPFS的性能潜力。计算节点的操作系统推荐使用EulerOS或HCE(华为云自研操作系统),这些系统对SFS Turbo定制客户端有更好的兼容性。

4. 创建SFS Turbo HPC型文件系统

4.1 控制台创建步骤

登录华为云控制台后,按以下步骤创建文件系统:

  1. 在服务列表中选择"弹性文件服务 SFS",进入SFS Turbo控制台。
  2. 单击页面右上角的"创建文件系统"按钮。
  3. 在创建页面配置以下参数:
    • 区域:选择与计算节点相同的区域。
    • 可用区:选择与计算节点相同的可用区。
    • 文件系统类型:选择"SFS Turbo"。
    • 规格:根据性能需求选择对应的MB/s/TiB规格,高性能计算场景推荐125MB/s/TiB或更高。
    • 容量:根据数据量需求设置,支持后续在线扩容。
    • VPC:选择已规划好的VPC。
    • 子网:选择与计算节点相同的子网。
  4. 配置完成后单击"立即创建",等待文件系统创建完成。

4.2 API方式创建(自动化部署)

对于需要自动化部署的场景,可以通过调用华为云API创建SFS Turbo文件系统。创建HPC型文件系统时,需要指定参数。以下是通过API创建的核心参数示例:

{
  "share": {
    "name": "hpc-shared-storage",
    "description": "HPC集群共享存储",
    "share_proto": "NFS",
    "size": 10240,
    "vpc_id": "vpc-xxxxx",
    "subnet_id": "subnet-xxxxx",
    "hpc": true,
    "hpc_bw": "125MB/s/TiB"
  }
}

创建HPC缓存型文件系统时,需要填写。具体的API调用方法可参考华为云SFS Turbo API文档。

5. 客户端安装与文件系统挂载

5.1 安装SFS Turbo定制客户端

为了获得最佳性能和兼容性,华为云提供了SFS Turbo定制客户端。定制客户端目前支持特定的Linux内核版本。如果计算节点的内核版本不在支持列表中,可以使用原生NFS客户端。

安装定制客户端的步骤如下:

# 下载客户端安装包(需替换{region_id}为实际区域ID)
wget --no-check-certificate -O /root/sfsturbo_client_plus.tar.gz \
  https://sfsturbo-client-plus.obs.{region_id}.huawei.com/v24.04.01.B010/sfsturbo_client_plus.tar.gz

# 创建安装目录并解压
mkdir -p /opt/sfs
tar -zxvf /root/sfsturbo_client_plus.tar.gz -C /opt/sfs

# 执行安装脚本
cd /opt/sfs && sh install_sfsturbo_client_plus.sh

安装成功后,执行以下命令验证安装状态:

grep "status" /opt/sfs/ko_version

如果回显包含"status":"installed",说明客户端已成功安装。

5.2 挂载文件系统

安装完成后,首先创建用于挂载的本地目录:

mkdir -p /mnt/cpfs

然后执行挂载命令:

mount -t nfs -o vers=3,timeo=600,noresvport,nolock,tcp <挂载地址> /mnt/cpfs

各参数的含义如下:

  • vers=3:指定NFS协议版本为v3,目前SFS Turbo仅支持NFSv3。
  • timeo=600:NFS客户端重传请求前的等待时间,单位为0.1秒,建议值600。
  • noresvport:指定网络故障恢复后使用新的TCP端口重新建立连接,强烈建议启用此参数以保障服务不中断。
  • nolock:客户端锁操作在本地完成。由于SFS Turbo暂未实现多客户端互斥锁,加此参数可避免锁操作失败。
  • tcp:使用TCP协议传输。

挂载地址的格式为文件系统IP:/,例如192.168.0.0:/。可以在SFS Turbo控制台的文件系统详情页面复制完整的挂载命令。

5.3 验证挂载成功

挂载完成后,通过以下命令验证:

df -h | grep cpfs
mount | grep nfs

如果能看到文件系统的挂载信息,说明挂载成功。可以进一步测试读写:

echo "test" > /mnt/cpfs/test.txt
cat /mnt/cpfs/test.txt

5.4 配置自动挂载

为了确保计算节点重启后文件系统自动挂载,需要配置/etc/fstab文件:

echo "<挂载地址> /mnt/cpfs nfs vers=3,timeo=600,noresvport,nolock,tcp 0 0" >> /etc/fstab

配置完成后,可以通过mount -a测试fstab配置是否正确。

6. 多计算节点集群挂载

6.1 批量挂载方案

在生产环境中,通常有数十甚至数百个计算节点需要同时挂载同一个CPFS文件系统。批量挂载有两种主流方案:

方案一:使用自动化运维工具。通过Ansible、Puppet等配置管理工具,将挂载命令和fstab配置分发到所有计算节点。

方案二:使用HPC集群管理平台。华为云HPC-S²控制台支持在创建集群时直接指定共享存储。在"新建集群"的"硬件配置"页面,选择PFS作为共享存储类型,然后选择已创建的SFS Turbo文件系统。集群创建完成后,所有计算节点会自动挂载该共享存储。

6.2 通过HPC控制台创建集群

使用HPC-S²控制台创建集群的具体步骤:

  1. 登录高性能计算HPC控制台。
  2. 单击"新建集群",进入新建集群页面。
  3. 在"硬件配置"页面配置:可用区、计费模式(按需或包周期)、管控服务器规格、计算服务器数量与规格。
  4. 选择HPC镜像。
  5. 在"共享存储"区域,文件系统类型选择PFS,然后选择已创建的SFS Turbo文件系统。
  6. 配置专有网络(VPC)和安全组。
  7. 单击"下一步"完成后续配置并创建集群。

集群创建完成后,可以在"节点管理"页面查看每个节点的共享存储挂载状态。

7. 性能调优

7.1 条带化(Striping)优化

CPFS的核心性能优势来自条带化存储。文件以分片方式均匀分布在多个数据服务器上,高并发读写时多个服务器并行响应。对于视频处理等大文件顺序读写场景,启用条带化功能可将IO吞吐量提升90%以上。

条带化配置通常在文件系统创建时确定,不支持在线修改。因此,在创建文件系统前应充分评估工作负载特征,选择合适的条带大小和条带宽度。

7.2 客户端参数调优

CPFS客户端提供了多个可调参数,合理配置可以显著提升性能:

  • workerThreads:客户端的线程数量。适当调高此参数会提升IOPS指标。但需注意,增加线程数会消耗更多的客户端CPU和内存资源。
  • maxStatCache:最大缓存文件属性的数量。优化该参数可提升频繁读取文件属性场景下的文件系统性能。
  • maxFileToCache:最大缓存文件的数量。对于频繁访问相同文件的场景,增大此参数可减少网络往返次数。

这些参数通常在客户端的配置文件中设置,修改后需要重启客户端服务生效。需要注意的是,增加缓存相关参数会导致客户端消耗额外的内存。

7.3 分级缓存策略

对于基因组分析等对延迟极度敏感的场景,可以采用分级缓存策略(内存缓存+SSD缓存+磁盘)。热数据缓存在内存中,温数据存放在SSD缓存层,冷数据落盘。这种策略可以将访问延迟降低60%以上。

7.4 网络与内核参数调优

除了CPFS客户端参数,操作系统层面的网络和内核参数也对性能有重要影响。建议调整以下参数:

# 增大TCP缓冲区
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

# 增大文件系统缓存
vm.vfs_cache_pressure = 50

7.5 性能基准测试(FIO)

使用FIO工具可以对CPFS文件系统进行吞吐和IOPS的性能测试。以下是一个典型的FIO测试命令:

# 顺序读吞吐测试
fio --name=seq-read --directory=/mnt/cpfs --rw=read --bs=1M --size=10G \
    --numjobs=4 --iodepth=32 --runtime=60 --group_reporting

# 随机写IOPS测试
fio --name=rand-write --directory=/mnt/cpfs --rw=randwrite --bs=4k --size=10G \
    --numjobs=4 --iodepth=32 --runtime=60 --group_reporting

# 混合读写测试
fio --name=mixed --directory=/mnt/cpfs --rw=randrw --rwmixread=70 \
    --bs=4k --size=10G --numjobs=4 --iodepth=32 --runtime=60 --group_reporting

测试时应确保文件系统有足够的空闲容量,并在测试后清理测试文件以避免影响后续测试的准确性。

8. 高可用与数据保护

8.1 服务高可用

CPFS的所有节点均为高可用设计,实现集群内秒级别的故障检测。当某个节点发生故障时,CPFS集群调度器会自动将服务切换到其他节点,同时兼顾负载均衡。这种架构提供了远高于传统两节点架构的可用性。

8.2 云备份(CBR)策略

华为云云备份服务(CBR)支持对SFS Turbo文件系统进行备份。CBR提供以下核心能力:

  • 多AZ冗余:支持将备份数据冗余存储至多个可用区,提升可靠性。
  • 跨区域复制:支持将备份数据复制到异地Region,实现异地灾备。
  • 增量备份:增量备份可将备份时间减少95%。
  • 即时恢复:RPO最低可达1小时,RTO仅需数分钟。

建议对核心数据配置定期自动备份策略,并结合生命周期管理自动淘汰过期备份。

8.3 数据生命周期管理

高性能计算场景中,数据往往具有明显的温度特征。热数据(正在训练或计算的数据)存放在高性能的SFS Turbo层,冷数据(已完成计算的结果数据)可自动或手动迁移至OBS对象存储。这种分层存储策略可将整体存储成本降低30%以上。

9. 监控与告警

9.1 云监控服务(CES)配置

华为云云监控服务(CES)支持对SFS Turbo文件系统进行全方位的性能监控。可监控的指标包括读写吞吐、读写IOPS、读写时延、元数据QPS等。

创建告警规则的步骤:

  1. 登录管理控制台,选择"服务列表 > 云监控服务"。
  2. 在左侧导航栏选择"告警 > 告警规则"。
  3. 单击"创建告警规则"。
  4. 配置告警规则的基本信息:选择SFS Turbo资源、配置监控指标(如带宽利用率、IOPS等)、设置阈值条件。
  5. 配置告警通知方式(短信、邮件、企业微信等)。
  6. 单击"立即创建"完成配置。

建议对以下关键指标配置告警:带宽利用率超过80%、IOPS接近上限、文件系统容量使用率超过85%。

9.2 容量监控与扩容

CPFS支持在线扩容,扩容过程不影响业务。当监控到容量使用率达到告警阈值时,可以在控制台直接调整文件系统容量。扩容后,所有数据以条带化方式重新分布,并支持自动负载平衡,即时利用新增节点的吞吐和存储能力。

10. 成本优化

10.1 计费模式选择

华为云SFS Turbo提供按需计费和包年包月两种模式。短期项目或波动的AI训练任务建议按需计费;长期稳定运行的生产环境建议包年包月,可节省40%以上的成本。

10.2 规格与容量合理规划

规格选择应基于实际性能需求,避免过度配置。对于大部分HPC场景,125MB/s/TiB规格已经能够满足需求。容量规划应预留20%-30%的余量以应对数据增长和性能波动。

10.3 数据分层与生命周期策略

如前所述,将冷数据迁移至OBS可大幅降低成本。可以结合华为云OBS的生命周期管理功能,自动将超过指定时间的文件从SFS Turbo迁移至OBS,或从OBS的标准存储转为归档存储。

11. 常见问题与解答

问题1:CPFS和SFS Turbo是什么关系?

华为云SFS Turbo中的HPC型文件系统,就是基于CPFS(Cloud Parallel File System)并行文件系统技术构建的。在日常使用中,CPFS和SFS Turbo HPC型可以视为同一概念。

问题2:计算节点挂载CPFS时提示"access denied"怎么办?

首先检查安全组规则是否允许NFS通信(端口2049)。其次确认VPC和子网配置正确,文件系统与计算节点必须在同一VPC下。如果问题仍然存在,检查是否使用了正确的挂载地址。

问题3:CPFS支持Windows计算节点吗?

目前SFS Turbo仅支持NFSv3协议,主要面向Linux云服务器。Windows计算节点可以通过安装NFS客户端(如Services for NFS)尝试挂载,但兼容性和性能不如Linux原生支持。

问题4:如何评估我的业务需要哪种规格的CPFS?

评估维度包括:并发计算节点数量、总数据量、典型IO大小(4K小文件还是1M大文件)、对延迟的敏感度。建议先用FIO工具在测试环境中模拟业务负载,根据测试结果选择合适规格。也可以先选择较低规格,后续通过工单申请升级。

问题5:CPFS的备份和恢复如何操作?

通过云备份服务CBR可以配置自动备份策略。恢复时可以选择恢复到原文件系统或新建的文件系统,支持即时恢复,RTO仅需数分钟。

问题6:CPFS出现性能瓶颈时如何排查?

建议按以下顺序排查:首先通过云监控查看带宽、IOPS、延迟等指标是否达到规格上限;其次检查客户端workerThreads等参数是否配置合理;然后使用FIO进行基准测试,排除应用自身的问题;最后检查网络延迟和丢包情况,确保计算节点与文件系统在同一可用区。

相关文章

华为云服务器采购总嫌贵?30%华为云返点返佣 + 旗舰级代理保障,这波省钱操作别错过!

华为云服务器采购总嫌贵?30%华为云返点返佣 + 旗舰级代理保障,这波省钱操作别错过!

最近不少做 IT 运维或企业采购的朋友跟我吐槽,公司要上华为云服务器,去官网一看报价直接犯了难 —— 按年付费算下来,比预期预算高出不少。要是赶上业务扩张需要多台服务器,这笔开支更是让财务部门直皱眉。…

2026华为云返点返佣政策深度解析:头部代理返佣优势与企业合作指南

2026华为云返点返佣政策深度解析:头部代理返佣优势与企业合作指南

上海汪远信息科技有限所在公司年销华为云产品3亿+,属于头部代理梯队,可为合作客户提供最高30%的返佣优惠,直接帮助企业降低30%的云资源成本。…

华为云代理商有哪些?华为云代理返点是真的么?

华为云代理商有哪些?华为云代理返点是真的么?

一,华为云代理商简介华为云代理商,顾名思义就是替华为云做华为云服务器数据库等公有云产品推广的代理商,每推广出一单华为云服务器,华为云会跟这个代理商结算佣金,佣金比例分为月度佣金,季度佣金和年度佣金,华…

2026华为云返点返佣政策深度解析:头部代理返佣优势与企业合作指南

2026华为云返点返佣政策深度解析:头部代理返佣优势与企业合作指南

一、华为云代理商的核心价值定位1. 代理商的角色与职责华为云代理商作为华为云生态的核心合作伙伴,承担着三重核心职能:•产品推广销售:负责推广销售华为云全系列云产品,包括云服务器ECS、云数据…

数据的“深喉”与隐形金矿:华为云对象存储返点背后的降维真相

数据的“深喉”与隐形金矿:华为云对象存储返点背后的降维真相

你,真的以为企业的数据躺在云端就万事大吉了?在这个被字节、像素和信息流淹没的数字深海中,每一张图片、每一帧视频、每一份交易日志,都在夜以继日地发出无声的“求救信号”。它们一方面渴望着最安全、最坚不可摧…

华为云促销活动深度解析|避开这3大陷阱立省30%

华为云促销活动深度解析|避开这3大陷阱立省30%

## 摘要华为云服务商的促销活动,本质上是一场精心设计的“价格迷局”。以618、双11为首的大型促销节点,确实是企业购买云服务器的黄金窗口期,最高可省下50%的成本。但很多人被表面的“1折起”、“亿元…