aws-doc/课程/第二阶段-核心服务/第13天-EBS与EFS存储.md
2026-05-08 10:24:39 +08:00

172 lines
5.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 第13天EBS 与 EFS——块存储和文件存储
## 今天你将学到什么
昨天学了 S3对象存储今天学另外两种存储EBS块存储和 EFS文件存储。学完你就能搞清楚什么时候用"硬盘",什么时候用"共享文件夹",什么时候用"网盘"。
---
## 三种存储的区别——用办公室来理解
想象你在一个办公室工作:
**EBS块存储= 你桌上的抽屉**
- 只有你一个人能用(一个 EBS 卷通常只能挂载到一台 EC2
- 速度最快(就在手边)
- 大小固定(抽屉就那么大,想换大的要买新的)
- 电脑关机了抽屉还在(数据持久化)
**EFS文件存储= 办公室的共享文件柜**
- 所有人都能用(多台 EC2 可以同时访问)
- 速度还行(要走几步路去文件柜)
- 大小自动调整(文件多了自动加柜子,少了自动减)
- 大家看到的是同一份文件
**S3对象存储= 公司的云盘**
- 通过网络访问(打开浏览器上传下载)
- 容量无限
- 不能直接当"硬盘"用(不能在上面安装软件或运行程序)
- 适合存放不经常修改的文件
---
## EBSElastic Block Store详解
EBS 是 EC2 实例的"硬盘"。每台 EC2 至少需要一个 EBS 卷来存放操作系统。
### EBS 的特点
- **持久化**:即使 EC2 实例停止了EBS 上的数据还在(就像电脑关机了硬盘数据不会丢)
- **同一 AZ**EBS 卷和 EC2 实例必须在同一个可用区
- **可以扩容**:硬盘不够大了可以扩容(但不能缩小)
- **可以做快照**:把当前状态"拍照"保存,以后可以从快照恢复
### EBS 卷的类型
就像买硬盘有 SSD 和机械硬盘之分:
| 类型 | 名称 | 速度 | 价格 | 适合场景 |
|------|------|------|------|----------|
| gp3 | 通用 SSD | 快 | 中等 | **大多数场景首选** |
| io2 | 高性能 SSD | 最快 | 贵 | 数据库、对速度要求极高的应用 |
| st1 | 吞吐优化 HDD | 中等 | 便宜 | 大数据、日志处理(顺序读写多) |
| sc1 | 冷存储 HDD | 慢 | 最便宜 | 很少访问的数据 |
**学习阶段选 gp3 就对了**,性价比最好。
### EBS 快照Snapshot
快照就是给硬盘"拍照"——记录某一时刻的完整状态。
**用途**
- **备份**:定期给数据库的硬盘拍快照,万一数据损坏可以恢复
- **复制**:从快照创建新的 EBS 卷(可以跨可用区甚至跨 Region
- **创建 AMI**:把配置好的服务器做成模板,以后快速复制
**快照是增量的**:第一次拍全量,之后只保存变化的部分。所以不会占用太多空间。
### EBS 的限制
- 通常只能挂载到**一台** EC2 实例(就像一块硬盘只能插在一台电脑上)
- 必须和 EC2 在**同一个可用区**(不能跨 AZ 挂载)
- 大小需要**预先指定**(虽然可以扩容,但不能缩小)
---
## EFSElastic File System详解
EFS 是一个共享文件系统,多台 EC2 可以同时读写同一个文件系统。
### 什么时候需要 EFS
**场景一Web 服务器集群共享文件**
你有 5 台 Web 服务器(通过 Auto Scaling 管理),它们都需要访问同一批用户上传的文件。
- 用 EBS每台服务器有自己的硬盘文件不同步。用户上传到服务器 A 的文件,服务器 B 看不到。
- 用 EFS所有服务器挂载同一个文件系统文件自动同步。用户上传一次所有服务器都能看到。
**场景二:容器共享数据**
多个容器需要读写同一批配置文件或数据文件。
**场景三:机器学习训练**
多台训练机器需要读取同一个大型数据集。
### EFS 的特点
- **自动伸缩**:不需要预设容量。存了 1GB 就占 1GB 的空间,存了 1TB 就占 1TB。用多少算多少。
- **多实例共享**:几百台 EC2 可以同时挂载同一个 EFS
- **跨可用区**:数据自动在多个 AZ 间复制(高可用)
- **标准文件系统接口**:对应用来说就像本地文件夹一样,不需要修改代码
### EFS 的存储类别
和 S3 类似EFS 也有分层存储来省钱:
| 类别 | 说明 | 价格 |
|------|------|------|
| Standard | 经常访问的文件 | $0.30/GB/月 |
| Infrequent Access | 不常访问的文件 | $0.025/GB/月 |
可以设置生命周期策略30 天没访问的文件自动移到 IA 层,再次访问时自动移回来。
### EFS vs EBS 对比
| 特性 | EBS | EFS |
|------|-----|-----|
| 类比 | 个人硬盘 | 共享文件柜 |
| 访问方式 | 一台 EC2 独占 | 多台 EC2 共享 |
| 容量 | 预设大小 | 自动伸缩 |
| 跨 AZ | 不支持 | 支持 |
| 速度 | 更快(本地挂载) | 稍慢(网络文件系统) |
| 价格 | 较便宜 | 较贵 |
| 适合 | 数据库、操作系统盘 | 共享内容、容器存储 |
---
## 怎么选择存储类型
遇到存储需求时,问自己这几个问题:
```
需要当"硬盘"用(装系统、跑数据库)?
→ EBS
需要多台机器共享同一批文件?
→ EFS
通过 API/URL 上传下载,不需要挂载为磁盘?
→ S3
需要 Windows 文件共享SMB 协议)?
→ FSx for Windows
需要超高性能的并行文件系统HPC/机器学习)?
→ FSx for Lustre
```
---
## 今天的小测验
1. EBS 和 EFS 最大的区别是什么?
2. 如果你有 3 台 Web 服务器需要访问同一批图片文件,应该用 EBS 还是 EFS为什么
3. EBS 快照有什么用?它是全量备份还是增量备份?
4. 为什么 EBS 不能跨可用区挂载?
---
## 延伸阅读
- [EBS 卷类型对比](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html)
- [EFS 用户指南](https://docs.aws.amazon.com/efs/latest/ug/)
- [AWS 存储服务选择指南](https://aws.amazon.com/products/storage/)
---
## 明天预告
明天进入数据库领域RDS关系型数据库服务。让 AWS 帮你管理 MySQL、PostgreSQL你再也不用半夜被叫起来修数据库了。