11月23日,阿里云弹性计算产品经理崆闻在培训上为大家做了《玩转ECS云服务器》系列培训第一期《走进块存储》的分享。在本次分享中,他首先分析了数据类型和业务场景,接着介绍块存储产品的基本特性和选型,最后重点分享了块存储的数据保护技术、多副本技术和快照。下面是本次分享的内容整理,如下。
直播回顾视频
玩转ECS云服务器系列课程,会带您深入了解实例、块存储、镜像等相关ECS子产品的产品特点和基本使用方法,帮助您在上云旅途中迈出坚实的第一步。
云服务器ECS是阿里云提供的一种基础的云计算服务产品,您可以根据实际业务需求,随时创建所需数量的云服务器实例,并在使用过程中随着业务的不断变化,对云服务器进行资源扩容、升降配置、资源释放等操作。
云服务器ECS本身是虚拟化的计算环境,包含CPU、内存、操作系统、磁盘、带宽等一些最基础的服务性组件,是ECS提供给每个用户的操作实体。
业务场景和数据类型分析
常见的企业级应用中,对存储分别会具有哪些不同的性能、容量、数据服务等方面的要求呢?在坐标轴中可以看到:
- 纵坐标向上意味业务更偏向性能,比如核心数据库;纵坐标向下意味业务更偏向容量,比如公安的视频监控;
- 横坐标是数据服务的丰富性,存储的本质就是对数据的一种服务,不管将数据存放在本地硬盘、磁带、云上,存储数据本身不是目的,如何更好的使用数据才是王道。
在使用过程中,需要对数据作保护,像数据备份、数据容灾、数据压缩、重复数据删除、大数据分析等。从这两方面来看,我们可以对常见的企业级业务做分类,在坐标图的右上区域,ORTP数据库、ERP等类型的应用都偏重于性能,都是小块的随机或顺序读写,属于典型的数据块存储,同时有一定的数据服务要求,比如核心业务数据的日常备份,核心业务的同城或异地容灾等;坐标轴的左上区域,可以看到开发测试、高性能计算、数据仓库等偏向性能的应用,相对而言,它们对数据服务的需求比较少;同理,医疗影像、海量视音频业务是偏重容量的业务,数据量在数十甚至上百TB,且有一定的数据服务要求,而归档业务、视频监控等容量业务对数据服务的要求也较少。
数据类型分析
不同的业务类型,他们的数据结构、IO类型、访问模式、成本都不尽相同。
数据结构:有类似于典型DB应用的结构化数据,有类似于视频监控、医疗影像等的非结构化数据;
IO类型:有注重随机读写的、对延时敏感的应用,也有偏重于高吞吐的应用;
访问协议:有标准的proxy接口,也有广泛应用的RESTful接口。
按照业务的不同,数据含金量也是不同,对成本的要求也是不同。
对于林林总总的数据存储要求,阿里云当前提供了丰富的存储产品来满足用户需求。主要包括以下五个产品:
- 块存储:可弹性扩展、高性能、低延时、高可靠的块随机存储
- 文件存储:无限扩展、多共享、标准文件协议的文件存储服务
- 对象存储:海量、安全、可靠的云存储服务
- 表格存储:NoSQL数据存储,提供海量结构化数据存储和实时访问
- 归档存储:海量数据长期归档、备份服务
所以可以看出,大部分的随机读写、有一定时延要求的,推荐使用块存储产品;其他的非结构化的海量数据,根据吞吐时延的要求和访问模式的不同,推荐使用NAS/OSS或一些归档服务来满足要求。我们了解了不同业务对应的适用的阿里云存储产品。
块存储产品介绍与选型
块存储产品可以简单理解成物理服务器上的硬盘,使用方法与自建数据中心的操作模式是一样的,分区、格式化操作一样不可少。阿里云上的块存储产品有以下特点:
- 低时延:本地盘单个IO时延在2ms以内,云盘时延根据产品类型不同一般在2ms~10ms。
- 持久性:云盘本身是可以独立ECS实例单独存在的,在使用过程中可以为实例单独进行新增、减少云盘数量,无论云盘本身是否挂载在ECS服务器上,在云盘上写入的数据是不会丢的,具备独立的生命周期。
- 高性能:云盘本身具备20K的随机IO、256MB/S的吞吐能力,还可以购买多款云盘组成条带化,进一步提升性能。
- 高可靠:块存储产品在云盘上是建立在盘古分布式文件系统上,云盘上的每份用户数据在底层都会在不同的物理机上存放多副本,当前为三副本设计,阿里云也支持数据快照,可以通过快照进行备份。
图中横坐标代表数据可靠性,中间分隔符的左边对应单物理机可靠性,对于有大量在线业务的行业应用来说,需要底层存储资源在具备高性能的同时,应具备很好的稳定性,要同时满足这两点需求,虚拟机直接访问宿主机上的本地存储无疑是兼顾性能和成本优选的解决方案。因此,为了满足这样的应用,我们推出了本地的SSD盘,后续我们会基于使用本地盘的业务场景,继续推出基于物理、基于本地存储资源的产品,同样主打高IOPS和低时延的场景,适合于核心业务系统,自建数据库这样的模式;分隔符右边按照性能不同分为普通云盘、高效云盘、SSD云盘,IOPS从数百到两万不等,阿里云即将推出一款新的共享存储云盘,供多台ECS实例同时进行访问,需要多个节点同时读写一个共享盘的架构。
性能与应用场景
普通云盘性能接近于机械硬盘,属于分布式三副本机制,价格便宜,适合数据不被经常访问,低IO负载的应用场景。
高效云盘:底层采用固态硬盘与机械硬盘混合的方式,适合中小型数据库、大型开发测试。
SSD云盘:SSD属于分布式三副本机制,适合I/O密集型应用、中大型关系数据库等,SSD只可挂载到IO优化的实例上才能获得期望的IOPS性能。
即将上线的共享存储和本地盘存储的性能也会使用户更加方便。
售卖类型和购买入口
当前云盘支持以下几种售卖类型:
•
随服务器包年包月购买
•
随服务器按量购买
•
购买独立按量计费云磁盘
购买入口,从阿里云的官网产品弹性计算模块栏中找到块存储产品页,在登录状态下点击立即购买即可,用户可以购买一块或多块云盘,也可以选择快照创建磁盘,选择磁盘类型和大小;还可以随着ECS一起进行购买,用户只需要按照操作步骤购买即可。
数据保护技术介绍
“硬件+软件”
问题成为数据丢失的第一要素。对客户来说,传统针对块设备的通用性保护手段不可用(备份软件/SAN设备自带的数据保护软件);其他应用级别数据保护手段有业务场景局限性。
多副本技术
多副本技术规避硬件故障造成的数据丢失,盘古是一个分布式文件系统,在整个阿里云计算平台“飞天”中负责数据存储,为虚拟机提供稳定、高效、可靠的随机访问能力。ECS用户对虚拟磁盘的读写最终都会被映射为对盘古文件的读写。
盘古提供一个扁平的线性存储空间,在内部会对线性地址进行切片,一个分片称为一个chunk;对于每一个chunk,盘古会复制出三个副本,并将这些副本按照一定的策略存放在集群中的不同节点上,保证用户数据的可靠性。盘古会有三类角色,Master、ChunkServer、Client,对于ECS用户而言,写操作会经过层层转换,最终交由盘古Client执行,Client会执行写操作对应的Chunk,会向Master节点拿查询Chunk三个副本的访问位置,Client会根据Master返回的结果,向ChunkServer发出写请求,如果三份都写成功了,Client就会向用户返回写成功,反之返回失败。
在这样一个策略下,Master分布策略会综合考虑集群中所有ChunkServer磁盘使用的情况,包括在不同交换机架下的分布情况、电源的供电情况、机器的负载情况,尽量保证一个Chunk的所有副本在不同机架下的不同ChunkServer下面,有效的防止一个ChunkServer故障导致数据不可用。当有数据节点损坏,集群中部分Chunk的有效副本会少于三个,Master就会发出一种Replication的复制机制,会在不同的ChunkServer之间复制数据,使得集群中所有Chunk的有效副本达到三个,这样的话我们可以看到,对于云盘上的数据而言,所有用户层面的操作都会同步到底层的三个副本上,无论是新增、修改还是删除数据,都能保障用户数据的可靠性和一致性。
快照
快照可以规避非硬件故障造成的数据丢失。这是一种安全、快速的备份方式,可以保存某一个或者多个时间点的磁盘数据拷贝,当你不小心误删了文件,数据出现错误或者其他逻辑错误时,都可以通过快照回滚来恢复到快照创建时间点的数据状态。所以,拿到云服务器后的第一件事是设置自动快照策略!
快照使用增量的方式,两个快照之间只有数据变化的部分才会被拷贝,如上图所示:
- 快照 1 由于是磁盘的第一个快照,会把这个磁盘上的所有数据都复制一份。
- 而快照 2 只是复制了有变化的数据块
B1 和 C1,数据块A 和 D 引用了快照 1 中的 A 和 D。
- 同理,快照 3 复制了有变化数据块 B2,数据块 A 和 D继续引用自快照 1 ,而数据块 C1 则引用自快照 2。
当前ECS提供2.0的服务,在原有的快照功能基础之上,提供了更高的快照额度,更灵活的自动任务策略,并且进一步降低了对业务I/O的影响。
设置快照策略操作如下:
•
登录云服务器管理控制台。
•
单击左侧导航中的
快照>自动快照策略。可以看到自动快照策略列表。
•
单击右上角的 创建自动快照策略。
•
定义自动快照策略的参数。
• 策略名称
• 创建时间:每天有 24 个时间点创建快照,从00:00
~ 23:00可选。
• 重复日期:每周有 7 天重复日期,从周一 ~周日可选。
• 保留时间:快照保留的天数,1~65536 或永久保留可选,默认 30
天。
•
单击确认。
快照商业化
- 快照预计从2017年1月份开始收费,会提前一个月左右进行用户通知,通知方式包括短信/站内信/控制台提醒/邮件/外呼等,请届时留意;
- 按照快照所实际占用的容量收费;
- 收费标准&优惠额度当前还未最终确定,请留意官网通知;
- 会有按量后付费和容量包预付费两种模式,推荐采用容量包预付费模式。