前置知识: 云计算

云存储服务

10 minAdvanced2026/6/14

对象存储、块存储、文件存储、归档存储、存储分层策略、数据生命周期管理、跨区域复制与一致性。

1. 云存储服务分

1.1 存储型对比

访问方式延迟吞吐适用场景
对象存储REST API10-100ms片/视频/备份/数据湖
块存储块设备接口<1ms中高数据库/虚拟机磁盘
文件存储NFS/SMB1-10ms共享文件/内容管理
归档存储异步恢复分钟-小时合规归档/冷数据

1.2 存储层级

┌──────────────────────────────────────────────────┐
│              云存储层级(从热到冷)                 │
├──────────────────────────────────────────────────┤
│  标准/热存储    ← 频繁访问,低延迟                 │
│  低频/温存储    ← 月访问1-2次,检索费               │
│  归档/冷存储    ← 年访问1-2次,恢复需小时           │
│  深度归档       ← 极少访问,合规保留                 │
└──────────────────────────────────────────────────┘
   成本递减 ──────────────────────────► 存取成本递增

2. 对象存储

2.1 核心概念

┌──────────────────────────────────────────┐
│              对象存储模型                  │
│                                          │
│  Bucket (桶)                              │
│  ├── Object (对象)                        │
│  │   ├── Data (数据)                      │
│  │   ├── Key (键名)                       │
│  │   ├── Metadata (元数据)                │
│  │   └── Version ID (版本ID)              │
│  └── Object ...                          │
└──────────────────────────────────────────┘

各云厂商对象存储对照:

AWS阿里云GCPAzure
S3OSSCloud StorageBlob Storage

2.2 S3 存储

存储最小存储期检索费可用性典型用途
S3 Standard99.99%热数据
S3 Intelligent99.9%访问模式不明
S3 Standard-IA30天99.9%低频访问
S3 One Zone-IA30天99.5%可重建的低频数据
S3 Glacier Instant90天99.9%需即时检索的归档
S3 Glacier Flexible90天99.99%归档(分钟-小时恢复)
S3 Glacier Deep Archive180天99.99%长期归档(12小时恢复)

2.3 S3 数据一致性

S3 提供强一致性读写:

  • 写后读一致性:新对象写入后立即可读
  • 覆盖写后读一致性:覆盖已有对象后立即可读
  • 删除一致性:删除后立即不可读

2.4 S3 性能优化

多部分上传

大文件(>100MB)应使用多部分上传:

┌──────────────────────────────────────┐
│  Part 1 (5MB)  ──►  S3              │
│  Part 2 (5MB)  ──►  S3              │
│  Part 3 (5MB)  ──►  S3              │
│  ...                                 │
│  Part N (5MB)  ──►  S3              │
│                                      │
│  Complete Multipart Upload ──► S3    │
└──────────────────────────────────────┘
  • 最小分片大小:5MB(最后一个分片除外)
  • 最大分片数量:10,000
  • 最大对象大小:5TB

S3 Transfer Acceleration:利用 CloudFront 边缘节点加速跨区域上传。

S3 请求速率

单前缀请求限制=3,500 PUT/COPY/POST/DELETE/s+5,500 GET/s\text{单前缀请求限制} = 3{,}500 \text{ PUT/COPY/POST/DELETE/s} + 5{,}500 \text{ GET/s}

通过前缀分散可线性提升吞吐:

总吞吐=前缀数×单前缀限制\text{总吞吐} = \text{前缀数} \times \text{单前缀限制}

2.5 S3 安全

  • 服务端加密:SSE-S3(AES-256)、SSE-KMS(客户管理密钥)、SSE-C(客户提供密钥)
  • 客户端加密:上传前在客户端加密
  • 预签名 URL:临时授权访问
  • Bucket Policy:细粒度访问控制
  • VPC Endpoint:私有网络访问,不经公网
  • Object Lock:WORM(一次写多次读)合规保留

3. 块存储

3.1 EBS(Elastic Block Store)

EBS 是 AWS 的块存储服务,作为 EC2 实例的持久化磁盘:

最大 IOPS最大吞吐最大容量适用场景
gp316,0001,000 MB/s16 TB通用 SSD
io2 Block Express256,0004,000 MB/s64 TB高性能数据库
st1500500 MB/s16 TB吞吐优化 HDD
sc1250250 MB/s16 TB冷 HDD

gp3 独立配置 IOPS 和吞吐

IOPS=min(16,000,配置值)\text{IOPS} = \min(16{,}000, \text{配置值}) 吞吐=min(1,000 MB/s,配置值)\text{吞吐} = \min(1{,}000 \text{ MB/s}, \text{配置值}) 吞吐上限=IOPS×块大小1024 MB/s\text{吞吐上限} = \frac{\text{IOPS} \times \text{块大小}}{1024} \text{ MB/s}

3.2 EBS 快照

EBS 快照是增量备份,存储在 S3 中:

全量快照1:  [A][B][C][D]        ← 包含所有数据块
增量快照2:  [B'][E]             ← 仅包含变更块
增量快照3:  [C'][F]             ← 仅包含变更块

恢复快照3:  [A][B'][C'][D][E][F] ← 合并所有快照的块

快照成本:

快照存储费=增量数据量×单价/GB\text{快照存储费} = \text{增量数据量} \times \text{单价/GB}

3.3 多挂载卷

io2 卷支持多实例同时挂载(Multi-Attach):

  • 最多 16 个实例同时读写
  • 需要集群文件系统(如 OCFS2、GFS2)
  • 适用于 Oracle RAC、SAP HANA 等共享存储场景

4. 文件存储

4.1 EFS(Elastic File System)

AWS EFS 是托管 NFS 文件系统:

┌──────────────────────────────────────────┐
│                  EFS                      │
│  ┌─────────────────────────────────────┐ │
│  │         文件系统 (自动伸缩)          │ │
│  │  /data/                              │ │
│  │  ├── app1/                          │ │
│  │  ├── app2/                          │ │
│  │  └── shared/                        │ │
│  └─────────────────────────────────────┘ │
│       ▲        ▲        ▲               │
│       │        │        │               │
│  ┌────┴───┐ ┌──┴────┐ ┌┴──────┐       │
│  │ EC2-1  │ │ EC2-2 │ │ ECS   │       │
│  │ mount  │ │ mount │ │ mount │       │
│  └────────┘ └───────┘ └───────┘       │
└──────────────────────────────────────────┘

EFS 存储类

存储价格访问模式
Standard标准频繁访问
Infrequent Access (IA)月访问 < 1 次
Archive极低年访问 < 1-2 次

EFS 性能模式

  • 通用用途:默认,低延迟,适合 Web 服务、CMS
  • 最大 I/O:高并发,延迟略高,适合大数据分析、媒体处理

EFS 吞吐模式

  • 突发吞吐:基于文件系统大小分配基准和突发额度
  • 预置吞吐:独立于存储量指定吞吐量
基准吞吐=存储量(GB)×0.05 MB/s/GB\text{基准吞吐} = \text{存储量(GB)} \times 0.05 \text{ MB/s/GB}

4.2 FSx

AWS FSx 提供专用文件系统:

协议适用场景
FSx for WindowsSMBWindows 应用
FSx for LustrePOSIXHPC/机器学习
FSx for NetApp ONTAPNFS/SMB/iSCSI企业级多协议
FSx for OpenZFSNFS高性能 Linux

4.3 阿里云 NAS

阿里云文件存储 NAS:

  • 通用型 NAS:NFS/SMB 协议,容量型/性能型/高级型
  • 极速型 NAS:基于 NVMe,亚毫秒延迟
  • CPFS:并行文件系统,HPC 场景

5. 数据生命周期管理

5.1 生命周期策略

S3 生命周期规则自动转换对象存储

{
  "Rules": [
    {
      "ID": "TransitionToIA",
      "Status": "Enabled",
      "Transitions": [
        { "Days": 30, "StorageClass": "STANDARD_IA" },
        { "Days": 90, "StorageClass": "GLACIER" },
        { "Days": 365, "StorageClass": "DEEP_ARCHIVE" }
      ],
      "Expiration": { "Days": 2555 }
    }
  ]
}

生命周期转换路径:

Standard → Standard-IA (30天) → Glacier (90天) → Deep Archive (365天) → 过期删除 (2555天)

5.2 成本优化分析

不同存储的月度成本(以 1TB 数据为例):

CStandard=1000 GB×$0.023/GB=$23.00C_{\text{Standard}} = 1000 \text{ GB} \times \$0.023/\text{GB} = \$23.00 CIA=1000 GB×$0.0125/GB=$12.50C_{\text{IA}} = 1000 \text{ GB} \times \$0.0125/\text{GB} = \$12.50 CGlacier=1000 GB×$0.004/GB=$4.00C_{\text{Glacier}} = 1000 \text{ GB} \times \$0.004/\text{GB} = \$4.00 CDeep Archive=1000 GB×$0.00099/GB=$0.99C_{\text{Deep Archive}} = 1000 \text{ GB} \times \$0.00099/\text{GB} = \$0.99

5.3 智能分层

S3 Intelligent-Tiering 自动监控访问模式并移动数据:

┌──────────────────────────────────────────────┐
│          S3 Intelligent-Tiering               │
│                                               │
│  频繁访问层 ← 30天未访问 → 低频访问层          │
│       ▲                        │             │
│       │                        ▼             │
│       └── 访问时自动回热 ← 归档即时访问层      │
│                                │             │
│                                ▼             │
│                          归档灵活访问层        │
│                                │             │
│                                ▼             │
│                          深度归档访问层        │
└──────────────────────────────────────────────┘

每月监控和自动化费用:每 1,000 个对象 $0.0025。

6. 跨区域复制与一致性

6.1 S3 跨区域复制(CRR)

┌──────────────┐         ┌──────────────┐
│  源区域       │  复制   │  目标区域      │
│  Bucket A    │ ──────► │  Bucket B    │
│  (us-east-1) │  异步   │  (eu-west-1) │
└──────────────┘         └──────────────┘

CRR 配置要求:

  • 源和目标 Bucket 均需开启版本控制
  • IAM 角色需授予复制权限
  • 可指定存储转换规则
  • 复制时间控制(RTC):15 分钟内完成 99.99% 的对象

6.2 双向复制与冲突解决

双向复制场景下,同一对象可能同时被修改:

冲突解决策略={最新版本优先基于时间戳源区域优先配置优先级\text{冲突解决策略} = \begin{cases} \text{最新版本优先} & \text{基于时间戳} \\ \text{源区域优先} & \text{配置优先级} \end{cases}

6.3 数据一致性验证

跨区域复制后的数据一致性验证方法:

方法精度开销适用场景
S3 Replication Metrics统计级日常监控
S3 Batch Operations对象级定期校验
自定义校验脚本字节级合规审计

S3 Replication Metrics 关键指标:

  • ReplicationLatency:源对象复制到目标的时间
  • BytesPendingReplication:待复制的字节数
  • OperationsPendingReplication:待复制的操作数