固定链接 一起玩转滴滴云盘(EBS)

一起玩转滴滴云盘(EBS)

一起玩转滴滴云盘(EBS)

目前,滴滴云已经推出了云盘(EBS),具有一低四高(低成本、高性能、高可靠、高弹性、高易用)的特性。很多同学对它的功能特性、操作步骤、技术原理和应用场景很感兴趣,本文对此作出一些阐释。

 

一、什么是EBS

EBS(Elastic Block Storage)即弹性块存储,是当前国际上广泛应用的云计算存储产品,主要用于为云服务器提供持久化、高可靠的块存储服务。

 

EBS具有数据的持久性和高可靠性特点,用户数据写入返回之后,数据就保证已经持久化。数据一般采用多副本存储,具有很高的可靠性。

 

EBS简单易用,能够快速创建,一般最多只需要几分钟的时间,EBS通过快照功能可以方便的支持数据备份,并且快照以增量多副本的形式保存,满足用户安全低成本备份需求。

 

增量多副本存储是指每次快照备份只备份比上次快照变化的部分,增量数据也是以多副本的形式存储。比如一块200G的EBS,第一次快照使用了100G容量,第二次快照时只有5G的数据发生了变化,那么总共只需花105G的快照备份费用。

 

EBS可以灵活快速扩容,满足业务增长需求,具备灵活付费方式,支持包年包月、按时长购买等计费购买方式。使用EBS可以省去繁杂的运维工作,大大节省时间及运维成本。按需购买,按需付费(跟使用水电一样),还可灵活删除。

 

二、如何使用EBS

我们以滴滴云的EBS产品为例介绍下EBS的创建和使用方法。在使用EBS之前,需要有云服务器DC2, 可以按照如下步骤创建DC2。

 

2.1 创建EBS

登录滴滴云主页面点击“滴滴云盘(EBS)”产品的【立即购买】按钮。

进入存储一级菜单创建新的EBS。

按需求选择规格和需挂载的 EBS

如果已选择需挂载的云服务器,接下来可以继续执行 “格式化云盘”操作,在这步之后就可以在 DC2 实例中使用该EBS了。如果未选择需挂载的云服务器,需先 “挂载云盘”。

 

2.2 挂载EBS

登录控制台,在页面顶部导航栏点击存储,并在顶部下面的二级标签选择“云盘(EBS)”,进入“我的云盘”列表。

选择一个磁盘并点击 “…”列展开云盘操作列表,选择“挂载到 DC2”。

 

在弹出的挂载框中选择要挂载到的 DC2 实例,点击确认。

 

如果是全新EBS,从未挂载过,则需要先 “格式化云盘”,才能开始使用该 EBS,如果之前已经格式化过,则可直接登录 DC2 使用该EBS。

 

2.3查看挂载EBS

登录 DC2。EBS挂载之前DC2的块设备列表

EBS挂载之后DC2的块设备列表

vdb 即是新挂载的EBS。现在可以对该EBS进行分区,格式化了,更多使用方法请参考滴滴云官网EBS文档说明

 

三、EBS技术原理

3.1 IO虚拟化

我们知道将EBS挂载到虚拟机后,虚拟机上看到的EBS块存储设备是一个虚拟磁盘,那么该虚拟磁盘是如何读写数据的呢?这就用到了IO虚拟化。IO虚拟化分为全虚拟化和半虚拟化。

 

全虚拟化

全虚拟化方案中虚拟设备与现实设备具有完全一样的接口定义。这种情况下,需要以软件的方式模拟真实的设备,因此,客户机操作系统原有的驱动程序无需修改就能驱动虚拟设备。

 

设备访问过程中,hypervisor通过截获驱动程序的IO指令,并解释模拟。尽管这种模拟很彻底,但它效率低,代码复杂。

 

半虚拟化

半虚拟化方式可以获得很好的I/O性能。对于磁盘IO,以流行的半虚拟化框架Virtio为例,它需在虚拟机里运行前端驱动virtio-blk,而后端处理程序是在QEMU中实现的。

 

前端与后端之间是Transport层,该层实现了虚拟队列接口,它在概念上将前端驱动程序附加到后端处理程序;其环形缓冲区(ring buffer),用于保存前端驱动和后端处理程序执行的信息,它可以一次性保存前端驱动的多个I/O请求,然后交由后端去批量处理。

相比较而言,全虚拟化方案使用传统设备驱动程序流程,设备驱动程序为了完成一次操作要涉及到多个寄存器的操作,使得hypervisor要截获每个寄存器访问并进行相应的模拟,就会导致多次上下文切换。而Virtio半虚拟化方式方式能很大程度的减少上下文切换的频率,更为高效。

 

3.2 EBS Virtio半虚拟化实现框架

 

下面介绍一下业界主流的EBS实现技术架构。

 

如下图,用户应用运行在虚拟机Guest的用户空间,应用的数据访问通过系统调用接口到达Guest的内核空间,经过Guest的文件系统到Guest的通用块层,再到Guest的块设备驱动(virtio-blk),该驱动模块会把数据写到Virtio框架维护的Guest与宿主机Host之间的ring-buffer里。

退出Guest经过一系列路径到达Host上的QEMU。QEMU会从ring-buffer里获得数据,随后调用分布式存储系统的接口将数据存储到分布式存储。分布式存储会实现数据的多副本冗余存储,保证数据不丢失。

 

四、EBS应用场景

1.关键业务系统

适合高可靠、高安全的政府与企业内部的系统存储盘。

 

传统存储的硬件故障会导致业务中断和数据丢失。EBS具备完善的数据备份、快照、数据恢复能力,满足高负载、关键业务系统的存储需求。

 

2.大数据存储分析

提供针海量数据的存储处理能力,适用于数据分析、挖掘、商业智能等领域。满足各类数据的存储和处理的需求,提供针对TB、PB级数据的存储和处理的能力,适用于各类数据分析、挖掘、以及商业智能领域。

 

3.数据库相关应用

适合于各类NoSQL、中型关系数据库存储盘。如:Redis、Mysql等。高效支持关系型和NoSQL数据库的读写需求。满足数据库存储扩容需求。

 

看了以上,您是不是很有兴趣尝试下呢,现在滴滴SSD云盘限时6折优惠促销,立即体验

您的留言将激励我们越做越好