跳转至

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 系统自下而上分为三层:

  1. 接入层:处理 HTTP/REST API 请求,进行鉴权和流控。
  2. 逻辑层
    • 处理元数据(Metadata)管理。
    • 实现生命周期、跨域复制等高级功能。
  3. 存储引擎层
    • 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 级 无限
适用场景 数据库、系统盘、高性能应用 代码共享、办公文件、容器存储 静态网站、网盘、大数据、备份归档

课程总结

知识点回顾

  1. CBS:三副本强一致,性能分级(SSD/增强型/极速型),适合数据库。
  2. CFS:多客户端共享,兼容 POSIX,适合容器和文件共享。
  3. COS:海量、低成本、纠删码存储,适合非结构化数据和数据湖。
  4. CSG:打通传统协议与对象存储的桥梁,实现混合云存储。
  5. GooseFS:数据湖加速器,解决存算分离架构下的 I/O 瓶颈。

架构师实践清单 (Checklist)

在设计存储架构时,请确认: - [ ] 性能匹配:数据库是否选用了 SSD 或增强型 CBS? - [ ] 成本优化:COS 是否配置了生命周期规则,将冷数据沉降到归档存储? - [ ] 数据保护:核心 CBS 是否配置了自动快照?COS 是否开启了版本控制和跨地域复制? - [ ] 共享需求:多台 Web 服务器共享代码目录,是否选用了 CFS? - [ ] 迁移方案:本地 PB 级数据上云,是否测试了 COSCMD 或迁移服务平台?

下一章,我们将进入运维监控领域,讲解——2.8 日志服务 CLS 介绍