文件存储是什么
文件存储提供基于 NFS 或 SMB 协议的共享文件系统,多台实例可以同时挂载并像本地目录一样读写。它适合需要 POSIX 语义的场景:共享素材目录、容器持久卷、多机协作的开发目录。与对象存储的分工是:要挂载成目录、支持随机读写和文件锁,用文件存储;海量静态对象与分发,用对象存储。
基本信息
| 协议 | Linux 侧 NFS,Windows 侧 SMB/CIFS |
|---|---|
| 挂载方式 | 在实例内 mount 到本地目录,可写入 fstab 做开机自动挂载 |
| 性能档位 | 分通用型与性能型等多档,档位决定带宽与时延上限 |
| 计费方式 | 按容量或按容量加性能档计费,读取产生的流量在云内通常不计费 |
| 访问控制 | 通过权限组或白名单限制可挂载的来源网段 |
三厂对照
| 厂商 | 名称 | 协议 |
|---|---|---|
| 阿里云 | 文件存储 NAS | NFS、SMB |
| 腾讯云 | 文件存储 CFS | NFS、SMB/CIFS |
| 华为云 | 弹性文件服务 SFS / SFS Turbo | NFS、CIFS |
典型使用场景
- 多台 Web 服务器共享上传目录,避免各机数据不一致
- 容器持久卷:多副本 Pod 同时读写同一份数据
- 共享素材与代码目录,便于团队协作
- 备份落地目录:把数据库逻辑备份写到共享盘统一留存
- 大数据与渲染场景的临时共享空间
Linux 挂载 NFS 示例
Linux 挂载 NFS 示例
sudo mkdir -p /mnt/share
sudo mount -t nfs -o vers=3,nolock,proto=tcp <挂载地址>:/ /mnt/share
# 写 fstab 时建议带 nofail,避免挂载点不可达时系统启动被阻塞
df -h /mnt/share
sudo findmnt /mnt/share生产环境优先使用厂商推荐的挂载参数(版本、协议、锁选项),并用高可用挂载地址,避免单个挂载点故障导致全部实例不可用。
文件存储的权限同时受两处影响:协议层权限(挂载参数、白名单)与文件系统内权限(属主、属组、目录权限位),排障要两边都看。多台实例上的用户 ID 若不一致,同一份文件在不同机器上会显示成不同属主,写权限问题多半出在这里。