什么是存储类型选型
云上存储按访问形态分三类:块存储以磁盘形式挂载给单实例,提供低层 IO;文件存储提供共享目录与 POSIX 语义,可被多实例同时挂载;对象存储通过 HTTP API 访问,容量近乎无限、按量计费。选型的判断依据是访问模式、是否需要共享、以及一致性要求,而不是容量大小。
基本信息
| 块存储 | 挂载为磁盘,低延迟随机读写,同一时刻通常只挂一台实例 |
|---|---|
| 文件存储 | 共享目录、POSIX 语义,注意并发性能配额与锁语义 |
| 对象存储 | HTTP API,海量弹性,常见最终一致或读后一致语义 |
| 选型关注 | IOPS 需求、并发访问、延迟目标、成本结构与生命周期策略 |
类型对照
| 类型 | 访问形态 | 典型用途 |
|---|---|---|
| 块存储 | 挂载为磁盘,低层 IO | 数据库、系统盘、需要文件系统的应用 |
| 文件存储 | 共享目录,POSIX 语义 | 共享配置、容器共享卷、兼容遗留应用 |
| 对象存储 | HTTP API,海量弹性 | 备份归档、图片视频与静态资源、日志冷存 |
典型使用场景
- 数据库与中间件:需要低延迟随机 IO,用块存储并关注 IOPS 与吞吐档位
- 多实例共享配置:文件存储提供统一目录,避免各实例本地副本不一致
- 静态与媒体资源:对象存储加 CDN,按访问量计费且容量无上限
- 备份与归档:对象存储配生命周期策略,冷数据自动转低价层
- 日志与大数据落盘:区分热数据与冷数据,按访问频率分层
- 容器共享卷:需要多 Pod 同时读写时优先评估文件存储而非块存储
对象存储常用操作片段
对象存储常用操作片段
# 上传与检查(以兼容 S3 的对象存储为例)
aws s3 cp ./report.tar.gz s3://bucket-ops/2026/10/ # 上传归档
aws s3 ls s3://bucket-ops/2026/10/ --human-readable # 确认对象与大小
# 生命周期:把 30 天未访问的对象转到低频层,365 天后转归档
aws s3api put-bucket-lifecycle-configuration \
--bucket bucket-ops --lifecycle-configuration file://lifecycle.json
# 校验完整性:上传后比对 ETag 或直接回读校验和对象存储不适合当数据库用:高并发小文件随机写、事务语义与低延迟要求都不匹配,常见替代是块存储上的数据库。
文件存储的并发能力有配额:多实例高频读写同一目录前,先确认吞吐与 IOPS 上限,避免上线后成为瓶颈。