2.7 云存储及最佳实践¶
课程简介¶
云存储是构建高可用、高可靠、高扩展架构的基石。本课程将深入解析腾讯云三大核心存储产品——云硬盘(CBS)、文件存储(CFS)和对象存储(COS)的架构原理、性能特性及选型策略。同时,我们将探讨混合云存储、数据湖加速以及跨地域容灾等高级场景的最佳实践。
学习目标¶
通过本课程的学习,您将能够:
- ✓ 掌握三大存储架构:理解块存储(CBS)、文件存储(CFS)、对象存储(COS)的底层原理与适用场景。
- ✓ 精通选型策略:学会根据 IOPS、吞吐量、时延等指标选择合适的存储类型(如高性能、SSD、极速型等)。
- ✓ 实施数据保护:掌握快照、三副本机制、跨地域复制及版本控制等数据保护技术。
- ✓ 构建混合云存储:利用存储网关(CSG)和数据迁移工具实现云上云下数据互通。
- ✓ 优化大数据存储:了解数据湖加速器 GooseFS 在 AI 和大数据分析中的应用。
第一部分:云硬盘 (CBS) —— 块存储¶
本部分导读
云硬盘是云服务器 CVM 的“外挂硬盘”,提供持久化的块级存储服务。
一、CBS 产品概述¶
云硬盘(Cloud Block Storage,CBS)是一种高可用、高可靠、低成本、可定制化的块存储设备。它就像插在服务器上的物理硬盘,但具备更强的可靠性和弹性。
1.1 核心特性¶
- 三副本冗余:数据自动在同一可用区内的三台物理服务器上存储副本,可靠性高达 99.9999999%。
- 弹性扩展:支持在线扩容,无需中断业务。
- 快照机制:支持增量快照,实现数据的时间点备份。
1.2 产品类型与选型¶
| 类型 | 介质 | 特点 | 适用场景 |
|---|---|---|---|
| 高性能云硬盘 | 混合型 | 性价比高,Cache 加速 | 中小型 Web/App、开发测试环境。 |
| 通用型 SSD | 全闪存 | 均衡型,高性价比 | 核心业务逻辑、KV 服务、基础数据库。 |
| SSD 云硬盘 | NVMe SSD | 高 IOPS,低时延 | 高并发数据库(MySQL/Oracle)、I/O 密集型应用。 |
| 增强型 SSD | NVMe SSD | 极致性能,更低时延 | 关键业务系统、大型 NoSQL 数据库。 |
| 极速型 SSD | NVMe SSD | 百微秒级时延 | 关键核心数据库、高性能计算。 |
二、CBS 架构原理¶
2.1 三副本存储机制¶
CBS 后端存储池采用 Set (组) 的概念进行管理: 1. 物理分组:每三个存储节点组成一个 Set。 2. 数据落盘:当数据写入时,会被切片并并行写入到 Set 内的三块不同物理硬盘上。 3. 强一致性:只有当三个副本都写入成功后,才会向客户端返回“写成功”确认。 4. 故障自愈:一旦检测到某块磁盘或节点故障,后台会自动启动数据迁移和重建,维持三副本状态。
2.2 快照与数据保护¶
- 增量快照:首次进行全量备份,后续仅备份变化的数据块(增量)。
- 独立存储:快照数据独立于云硬盘存在(通常存储在 COS 底层),即使云硬盘被删除,快照依然保留,可用于数据恢复或制作镜像。
第二部分:文件存储 (CFS) —— 共享存储¶
本部分导读
当多台服务器需要访问同一个文件夹时,CFS 是最佳选择。
一、CFS 产品概述¶
文件存储(Cloud File Storage,CFS)提供安全可靠、可扩展的共享文件存储服务。它支持标准的 NFS 和 SMB 协议。
核心价值: - 共享访问:支持数千个计算节点(CVM/TKE)同时挂载读写。 - 无缝集成:兼容 POSIX 接口,现有应用无需修改代码即可使用。 - 弹性容量:按实际使用量计费,无需预配置容量。
二、CFS 类型选型¶
| 类型 | 特点 | 协议 | 适用场景 |
|---|---|---|---|
| 通用标准型 | 混合介质,性价比高 | NFS/SMB | 代码共享、Web 内容管理、办公文件共享。 |
| 通用性能型 | 全闪存,低时延 | NFS | 小规模高频读写、容器共享存储。 |
| Turbo 标准型 | 并行文件系统架构,高吞吐 | 私有协议 | 大数据分析、AI 训练、海量小文件处理。 |
| Turbo 性能型 | 极致 IOPS 和吞吐 | 私有协议 | 自动驾驶训练、EDA 仿真、高性能计算 (HPC)。 |
三、TKE 挂载 CFS 实践¶
在容器环境(TKE)中,可以通过 PVC (Persistent Volume Claim) 的方式动态挂载 CFS:
1. 安装插件:在 TKE 集群中安装 kubernetes-csi-tencentcloud 组件。
2. 定义 StorageClass:配置 CFS 的子网、权限组等参数。
3. 创建 PVC:声明所需的存储容量和类型。
4. 挂载 Pod:在 Pod 的 YAML 中引用 PVC,容器启动后即可像本地目录一样读写 CFS。
第三部分:对象存储 (COS) —— 海量存储¶
本部分导读
无论是 1KB 的图片还是 10TB 的视频,COS 都能存得下、存得稳、存得便宜。
一、COS 产品概述¶
对象存储(Cloud Object Storage,COS)是一种分布式存储服务,适合存储海量非结构化数据(图片、视频、日志)。
核心特性: - 无目录结构:扁平化存储,通过 Key(文件名)直接访问。 - 无限容量:存储桶(Bucket)空间无上限。 - HTTP/HTTPS 访问:可以通过 URL 直接访问文件。
二、存储类型与生命周期¶
| 类型 | 访问频次 | 成本 | 最小存储时间 | 数据取回 | 适用场景 |
|---|---|---|---|---|---|
| 标准存储 | 频繁(热数据) | 较高 | 无 | 实时 | 社交图片、热点视频、移动应用。 |
| 低频存储 | 较少(温数据) | 较低 | 30 天 | 实时(有取回费) | 网盘备份、监控数据、月度报表。 |
| 智能分层 | 不固定 | 动态 | 30 天 | 实时 | 访问模式无法预测的数据。 |
| 归档存储 | 极少(冷数据) | 很低 | 90 天 | 需解冻 (分钟/小时) | 医疗影像、档案数据、长期日志。 |
| 深度归档 | 几乎不访问 | 极低 | 180 天 | 需解冻 (小时级) | 合规性长期留存数据。 |
生命周期管理:可以配置规则,让数据自动从“标准”沉降到“低频”再到“归档”,实现成本最优。
三、COS 架构原理¶
COS 系统自下而上分为三层:
- 接入层:处理 HTTP/REST API 请求,进行鉴权和流控。
- 逻辑层:
- 处理元数据(Metadata)管理。
- 实现生命周期、跨域复制等高级功能。
- 存储引擎层:
- LavaDB:用于存储元数据(索引)。采用 Master-Slave 架构。
- Yotta:用于存储实际数据块(Blob)。采用 Erasure Code (纠删码) 技术(K+M 模式),相比三副本机制,能在保证极高可靠性的同时大幅降低存储成本。
第四部分:混合云与数据湖最佳实践¶
一、数据迁移工具¶
将本地数据迁移到 COS,腾讯云提供了丰富的工具箱:
- COSBrowser:图形化界面,类似网盘客户端,适合人工操作。
- COSCMD / CLI:命令行工具,适合脚本自动化。
- COS Migration:支持断点续传、分块并行上传,适合大规模数据迁移。
- HDFS to COS:专门用于将 Hadoop HDFS 数据迁移到 COS。
- MSP (迁移服务平台):全托管迁移服务,适合 PB 级数据迁移。
二、混合云存储网关 (CSG)¶
痛点:本地应用使用的是传统文件协议(NFS/SMB),无法直接修改代码去调用 COS 的 API。
解决方案:部署 存储网关 (Cloud Storage Gateway, CSG)。 - 原理:在本地服务器部署 CSG 软件,它对外暴露 NFS/SMB 接口,应用像读写本地 NAS 一样操作;后台 CSG 自动将文件转换为对象上传到 COS。 - 价值: - 无缝上云:无需修改应用代码。 - 云上分发:本地写入,云端 COS + CDN 全球分发。 - 无限扩容:本地仅需保留热数据缓存,冷数据自动沉降到云端。
三、数据湖加速器 (GooseFS)¶
场景:在大数据和 AI 训练场景中,计算节点需要极高吞吐量地读取 COS 中的数据。
GooseFS:基于开源 Alluxio 优化的分布式缓存系统。 - 作用:部署在计算集群(如 EMR/TKE)和 COS 之间。 - 机制:将热点数据缓存到计算节点的本地内存或 NVMe SSD 中。 - 效果:提供 POSIX/HDFS 接口,大幅降低远程读取 COS 的网络时延,提升训练效率。
第五部分:高可用与容灾实践¶
一、跨地域复制 (Cross-Region Replication)¶
对于金融级业务,单地域存储不够安全。COS 提供存储桶复制功能: - 机制:配置规则,将北京桶(主)的增量数据自动异步复制到上海桶(备)。 - 容灾切换: - 正常情况:读写北京桶。 - 灾难发生:应用切换读写上海桶(需配合 GSLB 或业务逻辑切换)。 - 全量备份:结合版本控制,可防止数据被误删除或恶意覆盖。
二、三大存储产品对比总结¶
| 特性 | 云硬盘 (CBS) | 文件存储 (CFS) | 对象存储 (COS) |
|---|---|---|---|
| 数据模型 | 块 (Block) | 文件树 (File) | 对象 (Object/Key-Value) |
| 访问协议 | iSCSI / NVMe (挂载) | NFS / SMB (挂载) | HTTP / REST API |
| 共享能力 | 单机独享 (少数支持多挂载) | 多机共享 (数千客户端) | 全球共享 (Web 访问) |
| 时延性能 | 极低 (微秒级) | 低 (毫秒级) | 中 (取决于网络) |
| 容量限制 | 单盘有上限 (如 32TB) | 弹性 PB 级 | 无限 |
| 适用场景 | 数据库、系统盘、高性能应用 | 代码共享、办公文件、容器存储 | 静态网站、网盘、大数据、备份归档 |
课程总结¶
知识点回顾¶
- CBS:三副本强一致,性能分级(SSD/增强型/极速型),适合数据库。
- CFS:多客户端共享,兼容 POSIX,适合容器和文件共享。
- COS:海量、低成本、纠删码存储,适合非结构化数据和数据湖。
- CSG:打通传统协议与对象存储的桥梁,实现混合云存储。
- GooseFS:数据湖加速器,解决存算分离架构下的 I/O 瓶颈。
架构师实践清单 (Checklist)¶
在设计存储架构时,请确认: - [ ] 性能匹配:数据库是否选用了 SSD 或增强型 CBS? - [ ] 成本优化:COS 是否配置了生命周期规则,将冷数据沉降到归档存储? - [ ] 数据保护:核心 CBS 是否配置了自动快照?COS 是否开启了版本控制和跨地域复制? - [ ] 共享需求:多台 Web 服务器共享代码目录,是否选用了 CFS? - [ ] 迁移方案:本地 PB 级数据上云,是否测试了 COSCMD 或迁移服务平台?
下一章,我们将进入运维监控领域,讲解——2.8 日志服务 CLS 介绍。