开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践:阿里云云计算 ACP(2)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1006/detail/15108
阿里云云计算 ACP(2)
内容介绍
一、弹性块存储 EBS
二、对象存储 OSS
三、习题
四、演示
一、弹性块存储 EBS
今天主要介绍两个产品,也是对应着两个考点,一个是弹性块存储EBS,另外一个是对象存储OSS。
1.块存储概述
块存储顾名思义就是支持块接口的云上虚拟存储设备,其实就是自己平时的笔记本或者物理服务器上操作系统如何去使用这些磁盘,云服务器ECS中也是用相同的一模一样的接口使用磁盘,所以块存储就是模拟了传统的块设备的产品,相当于平常如何使用磁盘在ECS中就如何使用存储设备
这里画了一个简单的示意图,块存储和其他几个产品之间的关系,最右边的箭头表示完全百分之百的兼容传统块设备的接口,所以操作系统只要支持对应的块设备的文件协议,一定就能够识别出来块存储设备,一般作为磁盘挂载在云服务器上,磁盘在上节课了解到了一般会有且只有一个系统盘,以及不超过16块数据盘,云浮器在正常情况下还会与计算,存储进行分离,因为块设备放在ECS中云上希望有更好的架构,更推荐将计算和存储进行分离,有一些对io要求更高的更独立的像数据库,文件下载这样的一些服务和应用也可以将其分离出去,不一定非要放在esc中的块设备中,但是如果架构比较简单,就需要有一个比较大的磁盘存储这些文件都是没有问题的,这些能力都是有提供的,阿里云为云服务器ECS提供了丰富的块存储产品类型,现在主要是有云盘和本地盘这两大类,原来还有共享块存储,由于产品的调整,现在已经变成了其他形式存在,所以现在理解块儿设备磁盘或者云盘这种块存储产品一般就是云盘和本地盘这两种大的类型,从名字就可以直接看出来,云盘采用了阿里云飞天盘古的存储技术,能够利用盘古自带的三副本技术为数据提供比较高的可靠性这样的虚拟云盘设备,另外一种本地盘其实本质上底下的物理介质就是物理磁盘,物理磁盘经过接口的模拟在ECS可以直接进行使用,使用本地盘相比于云盘性能更好,但是弱点也是很明显的,像普通情况下云盘在盘古里有一些三副本高数据可靠性能力,本地盘不具备这种能力,本地盘是拿一个本地的磁盘做一些接口转换,虽然性能更好但是可靠性低一些。
2.块存储的性能指标
IOPS性能指标 |
描述 |
|
总IOPS |
OPS 每秒执行的I/O操作总次数 |
|
随机读IOPS |
每秒执行的随机读I/O操作的平均次数 |
对硬盘存储位置的不连续访问 |
随机写IOPS |
每秒执行的随机写/O操作的平均次数 |
|
顺序读IOPS |
每秒执行的顺序读I/O操作的平均次数 |
对硬盘存储位置的连续访问 |
顺序写IOPS |
每秒执行的顺序写I/O操作的平均次数 |
这张表主要是讨论几个指标,如何衡量一个块设备的好坏,通常衡量那些块儿存储设备性能指标主要包括了三个部分,一个是IOPS,一个是吞吐量,另一个是访问延迟,也就是rt时间,传统的物理磁盘主要衡量性能指标其实也是这样的,IOPS其实是input output,Per second每一秒能够处理的io个数,这个对于块设备是非常重要的,一般用于标识块设备的输入输出的能力,也就是读和写的能力,吞吐量是指在单位时间内可以被成功传输的数据总量,访问延迟是指块存储处理一个io输入输出所需要的时间,这几个参数可以算出来rt时间乘以IO就是吞吐量,基本可以这样算出来,下面讲解如何测试出块儿存储的性能能否打到他标出来的数值,或者所理想的数值,可以采用一些性能测试的方法,有兴趣的同学可以去帮助文档进行搜索,一般情况下在ECS下对磁盘做性能测试,常见的软件有这样几个,Linux系统中可以使用DD,Fio这样的一些工具,Windows中也可以使用Fio基本上都是比较常见的。
3.丰富的产品类型
接着查看块存储的类型,现在在阿里云设备的块存储类型.
从图上来看,主要分为云盘和本地盘两大家族,从使用场景的角度讲,或者用户的构成比例讲,使用云盘的场景是更多的,本地盘一般是用在比较特殊的场景中,这里所讨论的可靠性,高性能,弹性以及安全这四个特性更主要的是面向云盘进行讨论,但是本地盘作为块存储家族的一份子在可靠性,性能,弹性,安全上其实也存在一些覆盖到的地方,但是本地盘的角度有所不同,例如一样谈数据的可靠性,云盘数据的可靠性一定是高于本地盘数据的可靠性,圆盘是因为有飞天盘古的三副本技术,三,副本技术其实在前面所讲的整体架构有看到一个图,飞天架构中有一个叫做盘古的神仙,主要的作用是在整个飞天体系中作为分布式文件系统而存在,是整个飞天存储的基座,本地盘是个独立的存在,大部分与云有关的服务,例如云盘,后面所讲的oss,或者一些其他的存储产品但凡是在云范畴中的,最终都会将云盘中的数据分成一个一个的小块称之为trunk,例如现在播放一个电影2G,会按照一定的单位大小将其切成一个一个的小块,这些小块以块的形式存储到盘古中,块儿从逻辑上说一个文件中的真实块,例如文件分成了1000块,真实文件是这样的,1000个小块,其实每一个小块在向盘古中进行保存时,是一式三份的,系统在保存数据的时候,会将数据库存成三个部分,三个拷贝所以叫做三副本,接下来讲解三副本如何存储到机房的机器中,盘古属于飞天分布式操作系统的一个组成部分,所以盘古在整个飞天机房中代表了对一系列负责存储机器逻辑的抽象,去访问盘古提供的服务这是云盘内部的服务,后端可能存在很多的机器让盘古保存数据,买个机器上可能有很多磁盘,是这样的架构,所以三个副本进入磁盘的时候,一般会遵循这样的机制,在机房中,服务器是放在不同的机柜上面的,机柜上可能会连在不同的交换机底下,所以三副本在一个机房里存在的情况会把数据尽可能的调度到不同交换机下等不同机跪下的不同的物理服务器上,这样三副本的故障域尽可能被隔离开,例如在某一个时刻其中一个副本坏了,系统会马上检查到有一个副本不能工作了,为什么会坏的原因有很多,例如磁盘坏道,机器突然间宕机了,机器突然断电了可能有各种各样的问题,系统只要检测到某一个块儿要有三份的,突然间少了一份,没有关系,还有两份是好的,所以会从两个好的一份上再去还原出新的拷贝出来,这个考贝可能在另外的一个机器上,因为有可能这个机器坏了,这时通过这种故障转移的方式就让三副本数据重新回到三副本,所以这种三副本技术在分布式存储中是非常常见的一种对数据提高可靠性成熟的技术,三副本同时能够兼容两个副本同时失效,这是最大的支持度,一般讲三副本这种工作机制是单个机房中的数据最大可靠性可以做到九个九,有些教材中可能还存放了一些过期数据,因为技术不断的在迭代进步,有一些数值是在不断的提高的,现在OSS为什么能从原来的十个九到现在的11个九到12个九,本质上讲是这三个副本被调度的区域被放开了,OSS如果是同城三机房这样的存在,将三个副本放到三个不同的机房,理论上讲数据的可靠性一定会更高,大家可以想象三个副本如果在一个机房中,最多是机房断电,机房的内部机柜断电或者交换机坏了,机柜坏了,物理服务器坏了,或者坏盘各种情况能够兼容到,但是如果是整个机房不能使用了,像以前支付宝出现过的光缆被挖掘机挖断了这样的事故,当整个机房所在的网络或者机房本身由于一些地震,火灾这种人力不可抗拒的自然因素导致整个机房不可访问了,这是三个副本一样都是没有用的,因为都在同一个地方,想提高数据可靠性要把故障率尽可能的再隔开,如果同城有双机房,可以将其中一个块拿到另外一个机房中这样数据可靠性就会比原来的九个九高,可能可以达到十个九或者是十一个九,如果再将一个块放到另外一个地方中,只要网络还是高速的内网网络是能够触达的没有问题,这种情况下,数据可靠性会进一步提高,得益于网络技术的发展以及系统对块儿的调动能力的提高,现在OSS能提高到12个九的数据可靠性,但是块存储数据可靠线没有达到12个九这么高,还是在九个九这样的程度,表明三个副本还是在同一个机房中,这与上节课所讲的对应上了,在一个VPC中,VPC是地域级别的资源,在VPC中可以创建不同的交换机,交换机和交换机可以在不同的可用区,其实就是在不同的机房中,VPC安全组快照镜像都可以跨机房共享,跨季访访问,但是其中有一个特殊的点是磁盘只能被同一个机房里面的ECS访问,所以不在本机房的磁盘是不能被另一个机房所访问的,因为现在的网络条件还达不到像块设备这么短时延的这种i要求情况下可以做到对数据块跨机房调度,本质的原因是这个,这就是本地盘存在的原因,既然都有云盘三副本,有了这么好的技术,为什么还有本地盘的存在,就是有一些业务场景还需要比现在的块存储能够提供的性能更高的要求,这时可能达不到,所以需要有本地盘的存在。本地盘的优势是性能很好,性能,弹性,安全这些都是存在的,无论是本地盘还是云盘,只要都在机房里面首先讲解为什么安全不用特意讨论,因为在整个飞天机房中,有阿里云的云安全产品叫做云盾这个产品家族,对整个机房里面所部署的底层的物理设备到上层的网络再到上层的机器甚至再到上层的虚拟的物理的资源都在云盾的保护下,所以块存储,ECS,各种云产品天然都具有云盾所赋予的至少在网络层面的这些安全能力,性能,弹性这些都是做ads服务存在的特性,可靠性根据磁盘的类型块存储的类型做区分,这里将本地盘和云盘之间的区别和联系稍微解释了一下,后面所讨论的快照基本上可以理解主要是针对云盘的,本地盘是不能自动做快照的,数据冗余的能力,需要自己提供处理,在io不是特别极限的情况下,Io要求很高也可以使用更新的ESSD这样的云盘,采用RDNA远程内存直接访问技术,结合更高速的网络,现在其实也提供了云盘更高的性能,ESSD作为增强型的SSD最高可以实现原来上一代的SSD50-100倍左右的性能,绝大多数情况下云盘能够满足业务的需求,云盘可能在需要去了解如何对云盘做一些数据上的备份