云硬盘解决的是「一台机器多一块盘」,可一旦有两台以上机器要读写同一批文件,块存储就不够用了——它同时只能挂一台(共享盘也要求同可用区)。这时候要换文件存储:建一个文件系统,几台机器挂同一个地址,谁写谁读都是同一份数据。这篇先把 SFS 的协议、规格和挂载流程讲清楚,Linux 与 Windows 两边都走一遍,再用云备份 CBR 补上「数据要有第二份」这件事,最后把块、对象、文件三种存储放在一张表里对比——这是考试和选型都绕不开的一题。
本文概要:
| 项目 | 内容 |
|---|---|
| 文章主题 | 弹性文件服务 SFS 的协议与规格、Linux 与 Windows 双端挂载、云备份 CBR,以及块/对象/文件三种存储对比 |
| 所属类别 | 云计算 → 华为云 → 存储类服务(文件存储与云备份) |
| 知识关键字 | SFS·SFS Turbo·NAS·NFS·CIFS·fstab·CBR·RPO·RTO·三种存储对比 |
一、SFS 是什么:云上的 NAS
弹性文件服务(Scalable File Service,SFS)提供按需扩展的高性能文件存储(NAS,Network Attached Storage),可为云上多个弹性云服务器(ECS)、容器(CCE / CCI)、裸金属服务器(BMS)提供共享访问。它支持通过 HTTPS 请求的 API 方式或管理控制台访问。
三个关键词:
- 文件级:对外提供的是目录和文件,不是裸设备,不需要格式化。
- 共享:同一个文件系统可以同时挂给多台机器,看到的是同一份数据。
- 按需扩展:容量可随时扩容或缩小,过程对应用透明,性能随容量线性增长。
一句话定位:云硬盘是「给一台机器插一块盘」,SFS 是「给一群机器开一个共享目录」。
二、三个协议概念:NFS、CIFS、POSIX
文件存储的价值在于「跨机器、跨系统还能用同一套接口」,接口就是协议:
| 概念 | 英文全称 | 中文 | 用在哪 |
|---|---|---|---|
NFS | Network File System | 网络文件系统 | Linux / Unix 侧挂载,SFS 的主力协议 |
CIFS | Common Internet File System | 通用 Internet 文件系统 | Windows 侧共享访问 |
POSIX | Portable Operating System Interface | 可移植操作系统接口 | 定义文件操作的标准接口,保证程序可移植 |
SFS 通过 NFS / CIFS 协议为客户提供文件存储服务;其中NFS 目前支持 NFSv3,能满足不同操作系统环境的需求。
记住这条对应关系就不容易错:Linux 走 NFS,Windows 走 CIFS。实验里 Windows 挂 SFS,装的是「NFS 客户端」而不是 SMB,因为后端文件系统是 NFS 协议——Windows 也能当 NFS 客户端用。
三、两种规格:容量型与 Turbo,差在海量小文件
| 维度 | SFS 3.0 容量型 | SFS Turbo |
|---|---|---|
| 定位 | 完全托管的共享文件存储,可弹性伸缩至 PB 规模 | 完全托管的共享文件存储,可弹性伸缩至 PB 级 |
| 强项 | 高可用、持久性,海量数据、高带宽型应用 | 海量小文件、低延迟、高 IOPS |
| 短板 | 不适合海量小文件与随机小 I/O等时延敏感业务 | 成本相对更高 |
| 网络 | 仅限内网访问,不支持公网 | 华为云内网访问,支持云下通过 VPN / 专线访问 |
| 备份 | 不支持 CBR 备份 | 支持 CBR 备份 |
| 典型场景 | HPC、媒体处理、文件共享、内容管理、Web 服务 | HPC、媒体处理、AI 训练、自动驾驶、影视渲染 |
SFS Turbo 内部分通用型、HPC 型、HPC 缓存型三类,按业务的带宽与 IOPS 需求再细分。
⚠️选型只看两个问题:① 是不是海量小文件?是就 Turbo。② 要不要用 CBR 备份?要就 Turbo。这两个问题任一答「是」,容量型就出局。
四、五个优势:为什么不用自己搭 NFS
| 优势 | 具体表现 |
|---|---|
| 弹性扩展 | 不中断应用的情况下增加或缩减容量 |
| 高性能、高可靠 | 性能随容量增加而提升,同时保障数据持久度 |
| 无缝集成 | 同时支持 NFS 与 CIFS,标准协议适配主流应用 |
| 操作简单、低成本 | 控制台几步建好,无需自建文件服务器 |
| 文件共享 | 同一区域跨多个可用区的云服务器访问同一文件系统 |
再加上两条功能特点:同一区域各个可用区内的云文件服务器实例可以跨可用区访问已申请的文件系统;支持为多个 VPC 中的 ECS 提供共享存储,并通过授权地址做访问控制。
五、实操准备:两台机器 + 一个文件系统
5.1 先备机器
在同一个 VPC(如vpc-1/subnet-1)里准备两台:
ecs-linux:CentOS 7.8,1 核 2 GB,系统盘 40 GB,绑一块公网 IP(全动态 BGP,按带宽计费 5 Mbit/s)——装 NFS 软件包要从公网拉yum源。ecs-windows:Windows Server 2016,2 核 4 GB,系统盘 40 GB。
很多人卡在「
yum装不上 nfs-utils」,根因就是 Linux 没绑 EIP,出不了公网。
5.2 创建文件系统
「服务列表 → 弹性文件服务」→ 选SFS Turbo→ 「创建文件系统」,关键参数:
| 参数 | 取值 |
|---|---|
| 计费模式 | 按需计费 |
| 区域 | 华东-上海一 |
| 可用区 | 默认(选有资源的可用区) |
| 文件系统类型 | 标准型 |
| 容量 | 500 GB |
| 协议类型 | NFS |
| 网络和安全组 | 与 ECS 保持一致 |
| 云备份 | 暂不购买 |
| 名称 | sfs-turbo-01 |
提交后回到列表,一般 2~3 分钟创建完成。
网络和安全组必须与 ECS 一致,否则挂载时连不通。这是 SFS 排错的第一条。
六、Linux 挂载:四条命令 + 一次重启
6.1 检查并安装 NFS 客户端
# 检查是否已安装rpm-qa|grepnfs没有任何回显说明没装。CentOS / Red Hat / EulerOS / Fedora 下安装:
# 安装 NFS 客户端工具(含 showmount 等依赖)yuminstallnfs-utils-y# 可选:安装域名解析工具,便于验证挂载地址可解析yum-yinstallbind-utils# 再确认一次rpm-qa|grepnfs# 输出应包含 nfs-utils 与 libnfsidmap6.2 建挂载点并挂载
在 SFS 的文件系统详情页能看到「Linux 挂载命令」,直接复制更稳妥:
# 建本地挂载点(mkdir = make directory)mkdir/mnt/sfs_turbo# 挂载文件系统:-t 指定文件系统类型,-o 后面跟逗号分隔的挂载选项mount-tnfs-overs=3,nolock,proto=tcp,noresvport 256e3761-ecea-4561-9506-834df2ae51de.sfsturbo.internal:/ /mnt/sfs_turbo-t nfs告诉系统「这是 NFS 文件系统」,-o是挂载选项的统一入口(多个选项用逗号串起来,也可以拆成多个-o)。四个选项各有用途,别当成可省略的装饰:
| 选项 | 作用 |
|---|---|
vers=3 | 指定 NFSv3,SFS 目前只支持这一版 |
nolock | 关闭文件锁,避免依赖 rpcbind 导致挂载卡住 |
proto=tcp | 走 TCP,比 UDP 稳定 |
noresvport | 允许使用非保留端口,NFS 客户端重连时不中断 |
验证挂载:
df-Th# 会多出一行:# 256e3761-....sfsturbo.internal:/ nfs 1.2T 0 1.2T 0% /mnt/sfs_turbo注意
Size显示 1.2T:这是文件系统的上限容量,不是已购买容量。500 GB 是计费容量,扩容后上限随之变化。
6.3 写文件测试读写
cd/mnt/sfs_turbotouchhuawei_cloudls# 输出:huawei_cloud6.4 配 fstab,让重启后自动挂载
# 编辑开机挂载配置vi/etc/fstab文件末尾追加一行:
256e3761-ecea-4561-9506-834df2ae51de.sfsturbo.internal:/ /mnt/sfs_turbo nfsvers=3,nolock00这里的挂载地址换成自己的域名,别照抄。
验证三步,缺一步都不算配好:
# 先卸载,再用 fstab 挂回来umount/mnt/sfs_turbomount-adf-Th# 最后真重启rebootdf-Th重启回来后/mnt/sfs_turbo还在,且ls能看到huawei_cloud,才算完成。写点内容再cat一下,确认读写都正常:
cd/mnt/sfs_turbovihuawei_cloud# 写入 Hello!!!cathuawei_cloud# 回显 Hello!!!七、Windows 挂载:装客户端、改协议、用 cmd
Windows 挂 NFS 有两个前置,很多人只做了第一个。
7.1 安装 NFS 客户端功能
「服务器管理器」→ 「添加角色和功能」→ 一路下一步到「服务器角色」→ 展开「文件和存储服务」,这个方向是服务端;到「功能」里勾选NFS 客户端→ 安装。
记住区别:服务器角色里的「NFS 服务器」是让别人来挂你;功能里的「NFS 客户端」是你去挂别人的。这里要的是后者。
7.2 改客户端属性:TCP + 硬装载
「开始 > Windows 管理工具」→ 「Network File System 服务(NFS)」→ 右键「NFS 客户端」→ 「属性」:
- 传输协议改成TCP;
- 勾选使用硬装载(hard mount)。
硬装载的含义是:服务端暂时不可达时,客户端会一直重试而不是直接报错返回。对共享存储来说这更安全——避免程序以为写入成功其实丢了。
7.3 用 cmd 挂载(不要用 PowerShell)
mount -o nolock -o casesensitive=yes 256e3761-ecea-4561-9506-834df2ae51de.sfsturbo.internal:/! Z:Z:是空闲盘符,可自定义(别占用已有盘符);casesensitive=yes表示区分大小写,与 Linux 侧行为保持一致;!:表示挂到根目录。
⚠️ 一定要在CMD里执行,不要在 PowerShell 里跑——
mount在 PowerShell 里不是同一个命令,会报错或被解析成别的意思。
7.4 验证共享
打开「此电脑」,应该多出一个 Z 盘;进去能看到 Linux 那边建的huawei_cloud,记事本打开内容是Hello!!!。
这一步就是文件存储与块存储最直观的区别:同一份文件,两边同时可见、同时可写。
八、云备份 CBR:给数据留第二份
8.1 它是什么
云备份(Cloud Backup and Recovery,CBR)为云内资源(ECS、HECS、BMS、EVS、SFS 等)和云下虚拟化环境、本地文件目录提供备份服务。发生病毒入侵、人为误删除、软硬件故障时,可以把数据恢复到任意备份点。
8.2 三个组成
| 组成 | 说明 |
|---|---|
| 备份 | 一个备份对象执行一次备份任务产生的数据,含恢复所需的全部数据 |
| 存储库 | 存放备份的容器;创建备份前必须先建至少一个存储库,并把服务器或磁盘绑上去 |
| 策略 | 分备份策略与复制策略,分别对应备份与复制场景 |
8.3 两种备份方式
- 一次性备份:手动创建的一次性任务,适合变更前留个还原点。
- 周期性备份:创建备份策略并绑定存储库,系统按周期自动跑。
8.4 四个优势
| 优势 | 具体指标 |
|---|---|
| 可靠 | 支持云服务器多盘一致性备份、数据库应用一致性备份 |
| 高效 | 永久增量备份缩短备份时长;即时恢复RPO 最小 1 小时,RTO 可达分钟级 |
| 简单 | 三步完成配置,不需要专业备份软件技能 |
| 安全 | 加密盘的备份数据自动加密;支持跨 Region 复制备份,可在异地恢复 |
8.5 三类典型场景
数据被误删、应用程序更新出错、云服务器宕机——三者共同点是「都能回到故障前的时间点」,这正是备份的价值:它不保证业务不中断,只保证数据能回到过去。
⚠️SFS 与 CBR 的关系要分清:只有SFS Turbo 支持用 CBR 备份,SFS 3.0 容量型不支持,需要备份就把数据复制到 OBS 或做本地备份。买容量型又想靠 CBR 兜底,是常见的一处误判。
九、备份、快照、三副本,各防哪一种丢数据
这三个词经常被混着说,其实防护对象完全不同:
| 手段 | 防什么 | 数据在哪 | 盘删了还在吗 |
|---|---|---|---|
| 三副本 | 硬盘坏、节点坏(硬件故障) | 同一存储集群的不同节点 | 盘删了副本一起没 |
| 快照 | 文件误改、误删(逻辑错误) | 与盘存在一起 | 跟着盘一起删 |
| 备份 | 盘被删、AZ 级故障、勒索病毒 | 独立存进 OBS,可跨 Region 复制 | 还在 |
一句判断法:要「回到某个时间点」,快照最快;要「盘没了还能重建」,只能靠备份。三副本是底座,不是备份——它连「误删」都防不住,因为删除操作会被三个副本一致地执行。
十、三种存储放在一张表里:块、对象、文件
| 对比维度 | EVS 云硬盘(块) | OBS 对象存储 | SFS 弹性文件(文件) |
|---|---|---|---|
| 概念 | 为云服务器提供块存储,类似 PC 里的硬盘 | 海量、安全、高可靠、低成本的数据存储 | 按需扩展的高性能文件存储,类似远程目录 |
| 数据逻辑 | 存二进制数据,不能直接存文件,要先格式化 | 存对象,可直接存文件,附系统与自定义元数据 | 存文件,按文件与文件夹层次组织 |
| 访问方式 | 只能在 ECS / BMS 中挂载,需格式化 | 互联网或专线,指定桶地址,走 HTTP/HTTPS | 指定网络地址访问或挂成本地目录,走 NFS / CIFS |
| 容量 | TB 级 | EB 级 | PB 级 |
| 时延 | 亚毫秒级 | 约 10 ms | 3~10 ms |
| 带宽 | MB/s 级 | TB/s 级 | GB/s 级 |
| 典型场景 | 高性能计算、核心集群应用、开发测试 | 大数据分析、静态网站、在线视频点播、基因测序 | 高性能计算、媒体处理、文件共享、内容管理 |
记法(沿用「车」的比喻,但落到云上产品):
- 块 = 跑车:快、小,挂上就能跑,适合数据库与系统盘。
- 对象 = 货轮:慢、能装,走 HTTP 全球可达,适合备份、静态资源、大数据。
- 文件 = 卡车:居中,多台机器共享一个目录,适合办公共享、渲染集群。
选型时只问一句:这份数据是给「一台机器当硬盘用」、「给全世界下载用」,还是「给一群机器共享用」?
十一、排错速查:SFS 挂不上的六种原因
挂载失败报错信息往往只有一句mount.nfs: access denied或直接卡住不动,得按层排查:
| 现象 | 大概率原因 | 处理 |
|---|---|---|
| 挂载命令卡住几十秒后超时 | 安全组没放通 2049(NFS)端口,或文件系统与 ECS 不在同一 VPC | 安全组放通 TCP 2049;确认网络一致 |
access denied by server | 客户端 IP 不在文件系统的授权地址范围内 | 在文件系统详情里加授权地址(VPC 网段或 ECS IP) |
mount: wrong fs type | 没装nfs-utils | 先yum install nfs-utils -y |
yum装包报无法解析域名 | Linux 没绑公网 IP | 绑 EIP 或用内网yum源 |
| 重启后挂载点空了 | 只mount没写fstab | 写fstab,mount -a验证后reboot复验 |
写文件报Permission denied | 目录属主与挂载用户不匹配 | 用 root 建目录、统一 UID,或chmod调整 |
Windows 侧多一条:用 PowerShell 执行mount会报错,必须用 CMD。另外挂载前要确认「NFS 客户端」功能已装、协议已改成 TCP——只装功能不改属性,挂载能成但读写可能异常。
一条经验:SFS 的问题九成在网络与授权,不在命令。命令照抄详情页就不会错,错的是安全组、VPC 和授权地址这三个地方。
十二、删除顺序:共享存储最容易忘的两步
删除 ECS(勾选同时删除挂载的数据盘)→ 删除 SFS 文件系统 → 删除 OBS 对象与桶 → 删除 VPC(先删子网)两个必踩的点:
- SFS 不删,VPC 删不掉(子网里还有挂载点关联)。
- OBS 桶里有对象就删不掉,多版本还要清历史版本。
先把 ECS 删掉再删 SFS,是因为客户端还挂着时删除文件系统会失败或残留。
附:命令英文全称速查表
| 缩写/命令 | 英文全称 | 中文 |
|---|---|---|
SFS | Scalable File Service | 弹性文件服务 |
CBR | Cloud Backup and Recovery | 云备份 |
NAS | Network Attached Storage | 网络附加存储 |
NFS | Network File System | 网络文件系统 |
CIFS | Common Internet File System | 通用 Internet 文件系统 |
POSIX | Portable Operating System Interface | 可移植操作系统接口 |
HPC | High-Performance Computing | 高性能计算 |
RPO | Recovery Point Objective | 恢复点目标(能回到多早) |
RTO | Recovery Time Objective | 恢复时间目标(多久能恢复) |
rpm -qa | RPM query all | 列出已安装的软件包 |
mount -a | mount all | 按 fstab 挂载全部条目 |
umount | unmount | 卸载 |
df -Th | disk free (type, human) | 查看文件系统类型与空间 |
📚 参考资料(官方文档)
- 弹性文件服务 SFS 产品介绍:https://support.huaweicloud.com/productdesc-sfs/sfs_01_0001.html
- 挂载 NFS 文件系统到 Linux 云服务器:https://support.huaweicloud.com/usermanual-sfs/sfs_01_0071.html
- 挂载文件系统到 Windows 云服务器:https://support.huaweicloud.com/usermanual-sfs/sfs_01_0072.html
- 云备份 CBR 产品介绍:https://support.huaweicloud.com/productdesc-cbr/cbr_01_0001.html
- 云备份的备份与恢复机制:https://support.huaweicloud.com/usermanual-cbr/cbr_01_0007.html
总结:SFS 的骨架是「一个文件系统 + 多台客户端 + NFS/CIFS 协议」,Linux 侧四条命令(装包、建目录、
mount -t nfs、df -Th)加上一次 fstab 与重启验证,Windows 侧先装 NFS 客户端、改 TCP 与硬装载、再用 CMD 挂。CBR 补的是「盘没了也能重建」,与快照、三副本分工明确。最后三种存储的分界只有一句:块给一台机器当盘、对象给全网下载、文件给一群机器共享。