EBS技术分享
如果无法正常显示,请先停止浏览器的去广告插件。
1. EBS技术分享
美团分布式块存储EBS设计与实践
美团基础技术部
2. 个人介绍
何冠军 美团技术专家
2017年加入美团,目前负责美团EBS
的相关研发工作。曾负责从零建设了美
团的操作系统内核产品,来美团之前先
后在SuSE、华为从事操作系统内核、
存储产品的研发工作。
3. 目录
1、EBS需求背景介绍
2、EBS架构设计
3、EBS主要收益
4、典型应用场景
5、未来规划
4. (1)EBS应用背景介绍
EBS的出现是为了在一些应用场景中取代本地磁盘。
使用本地磁盘存储数据有着明显的缺陷:
1.
2.
3.
4.
出现故障时,磁盘数据无法快速迁移。
机械硬盘性能低。
磁盘空间受到物理大小限制,扩容困难。
不能动态分配空间大小,造成存储资源浪费。
EBS提供高可用、高性能、可扩展的分布式弹性块存储服务,可适用
于多种类型主机,如物理机、虚拟机、或容器。
EBS将数据存储在远端存储节点,而非本地,主机通过网络来读写磁盘数
据。EBS提供了便利的数据访问接口和协议,使得主机访问EBS时,和使用本
地磁盘一样快捷便利。
5. (2)EBS架构设计
EBS 采用多种技术方案,避开了直接使用本地磁盘的缺点,大幅度提高了数据可靠性、可用性、性
能,拓展性以及存储空间的优化利用。
在可靠性方面,EBS 基于统一分布式存储底座MStore实现分布式三副本存储。
在可用性方面,EBS 通过网络访问,因此当访问EBS的主机出现故障时,另一台主机可以立即接管数
据并恢复业务,无需等待数据迁移,显著减小RTO,通过EBS提供的数据快照功能还可以实现秒级数
据备份或恢复。
在性能方面,EBS 采用固态硬盘与机械硬盘混部的方案(bcache),性能远超机械硬盘,略低于固
态硬盘。
在扩展性/弹性方面,支持容量动态扩展,按需分配存储容量,具备秒级扩缩容能力。
6. (2)EBS架构设计
7. ApiServer架构设计
8. BlockManager架构设计
9. BlockServer架构设计
10. BlockServer架构设计(1)
11. BlockServer架构设计(2)-节点热备
12. BlockServer架构设计(3)-index
13. BlockServer架构设计(4)-TRIM-1
TRIM的工作方式:
• TRIM的主要功能在于用户将文件删除时,操作系统通过TRIM命令告诉SSD哪些页的数据是无效的,可以在垃圾回收时回收
掉;避免了SSD在操作系统复写这个位置时才知道该页的数据是无效,导致垃圾回收时多次复制该数据引入的写入放大。
• 如果需要TRIM掉SSD的无效数据占据的页, 需要确认 SSD 、操作系统、文件系统都支持 TRIM。
TRIM主要收益:
• 提升写性能。在某页中的数据无效时,及时擦除掉,使下一次写可以直接写入空页,提升写性能。
• 节省存储空间。释放无效数据占用的空间,下一次写入时重复使用该空间,降低申请Chunk的次数,避免存储空间浪费。
• 延长磁盘寿命。对于底层介质是SSD的情况,减少垃圾回收时的复制页数,提升SSD的性能的同时、延长SSD寿命。
14. BlockServer架构设计(4)-TRIM-2
块设备使用TRIM的两种方式
• 直接操作块设备:通过ioctl的方式,发送TRIM。
• 通过文件系统来操作(将块设备挂载到文件系统)。需要操作系统、文件系统、SSD均支持TRIM。
美团EBS的用户主要是通过文件系统来操作。此时,TRIM功能需要操作系统、文件系统、 SSD 都支持 TRIM。
支持Trim的操作系统
支持Trim的文件系统
Operating system Supported Since File system Continuous TRIM
(discard option) Periodic TRIM
( fstrim )
Linux
Windows
macOS
freeBSD
netBSD
openSolaris
Android
DragonFly BSD 2008
2009
2011
2010
2012
2010
2013
2011 BtrFS
exFAT
EXT3
EXT4
F2FS
JFS
NILFS2
NTFS-3G
VFAT
XFS Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
15. BlockServer架构设计(5)-快照设计
快照的定义
关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。
3种主流快照技术比较
技术 写性能 读性能 隔离性 数据拷贝量
镜像分离 低 高 高 高
COW 低 高 中 高
ROW 高 中高 中 低
16. BlockServer架构设计(5)-快照设计-ROW
17. BlockServer架构设计(6)-两种读写模式
logBlob:
支持附加写和随机读,对写更友好,性能更好
extendBlob:
对大数据块、随机读写更友好
18. (3)EBS主要优势和收益
EBS分布式弹性块存储服务,为云计算环境量身打造,适用于多种类型主机,如物理机、虚拟机、容器,并且对云原生有天然的亲和性。
敏捷便利的运维能力:极致弹性
数据卷随需秒级申请/释放/延迟删
除功能等,逻辑卷大小弹性扩
容。
敏捷按需挂载,无需数据复制。
集群规模可敏捷扩缩容。 数据高可靠
多副本数据可靠性。
数据持久存储。在云原生场景,
计算节点可能是潮汐式的涨落,
但是数据可能需要存储较长时间
或持久化,EBS支持按照用户需
要保留数据。 高可用
分布式HA高可用架构。单点故障
对数据读写无影响,用户不感
知。
支持跨AZ的数据备份/恢复/克隆
等能力,具备跨AZ的容灾能力。
降本增效
快照特性在有数据备份需求、读
多写少的场景显著降低重复数
据,降低成本;
TRIM特性将最大化降低空间的提
前申请,按需申请,降低成本;
数据压缩、EC编码;支持大规模
持续提升资源利用率、减小小集
群/单机的孤岛碎片,整体降低成
本。 存算分离
新一代EBS是基于MStore美团统
一存储底座实现的弹性块存储服
务,是业务服务及基础PaaS服务
实现计算和存储分离的关键一
环。存储和计算资源池分离可以
交付用户更低的TCO,实现计算
集群和存储集群的解藕和池化管
理,从而进一步提高计算资源池
和存储资源池的整体利用率。 卓越性能
性能可横向扩展,后端数据打散
分层存储、分层优化。
异构演进,极致性能+极低成本,
软硬一体化。
19. (4)EBS典型应用场景
• 弹性扩容、迁移等需求的计算平台场景,如虚拟机、容器等。容器数据卷使用EBS,在容器迁移的时候可以
避免数据丢失、避免数据copy,按需在新的容器节点挂载相应数据卷即完成数据迁移。
• 有海量存储需求的场景。如邮件系统、监控平台、数据库、用户录音、集成测试平台、大文件批量存储等。
• 不能容忍数据丢失,但又不愿自行实现数据高可靠性的场景。EBS通过3副本保障数据可靠性。
• 大批量机器秒级装机、分钟级别快速启动场景。传统的本地装机时间长、并发度低,机器装机交付上线的时
间较大,通过采用EBS卷做为系统盘,就可以借助EBS卷的克隆能力实现批量机器秒级装机、分钟级别快速
启动。
• 容器启动加速、容器镜像多层管理场景。通过EBS卷的快照特性实现容器的多层镜像管理、并且无需预先的
镜像分发下载等待,按需直接加载启动,简化镜像管理逻辑,提升容器启动速度。
• 读多写少、追求极致低成本的服务,通过使用EBS卷的快照特性可显著的降低成本。对于读多写少、追求极
致低成本的服务,通过EBS卷的快照能力实现在没有写的时候共享同一份数据,共享越多成本降低越明显。
以物理机、虚拟机、容器的系统盘为例,基础镜像基本是完全一致的,大批量的物理机实例、虚拟机实例、
容器实例可以共享同一份基础镜像卷。
• 快照/数据卷跨地域复制/备份/恢复。借助EBS快照策略,可以将快照复制/备份到指定区域,实现异地容灾
或者新业务快速开服。
20. (4)EBS典型应用场景-1
• 弹性扩容、迁移等需求的计算平台场景,如虚拟机、容器等。容器数据卷使用EBS,在容器迁移的
时候可以避免数据丢失、避免数据copy,按需在新的容器节点挂载相应数据卷即完成数据迁移。
21. (4)EBS典型应用场景-2
• 有海量存储需求的场景。如邮件系统、监控平台、数据库、用户录音、集成测试平台、大文件
批量存储等。
22. (4)EBS典型应用场景-3
• 不能容忍数据丢失,但又不愿自行实现数据高可靠性的场景。
• EBS 通过3副本保障数据可靠性。
• EBS 支持跨AZ部署,进一步提升数据可靠性。
23. (4)EBS典型应用场景-4
• 大批量机器秒级装机、分钟级别快速启动场景。传统的本地装机时间长、并发度低,机器装机
交付上线的时间较长,通过采用EBS卷做为系统盘,就可以借助EBS卷的克隆能力实现批量机器
秒级装机、分钟级别快速启动。
24. (4)EBS典型应用场景-5
• 容器启动加速、容器镜像多层管理场景。通过EBS卷的快照特性实现容器的多层镜像管理、并
且无需预先的镜像分发下载等待,按需直接加载启动,简化镜像管理逻辑,提升容器启动速
度。
25. (4)EBS典型应用场景-6
• 读多写少、追求极致低成本的服务,通过使用EBS卷的快照特性可显著的降低成本。对于读多
写少、追求极致低成本的服务,通过EBS卷的快照能力实现在没有写的时候共享同一份数据,
共享越多成本降低越明显。以物理机、虚拟机、容器的系统盘为例,基础镜像基本是完全一致
的,大批量的物理机实例、虚拟机实例、容器实例可以共享同一份基础镜像卷。
26. (4)EBS典型应用场景-7
• 快照/数据卷跨地域复制/备份。借助EBS快照策略,可以将快照复制到指定区域,实现异地容
灾或者新业务快速开服。
27. (5)EBS未来规划
1、可用性提升
2、集群间快照克隆/备份与恢复
3、新技术/新硬件的引入落地
4、多协议挂载方式
5、安全:加密/解密
6、成本:压缩/去重、EC编码
28. Q&A
29. 更多技术干货
欢迎关注“美团技术团队”
美团存储团队
招聘岗位请扫码