https://support.huaweicloud.com/evs/index.html
云硬盘(Elastic Volume Service,EVS)可以为裸金属服务器提供高可靠、高性能、规格丰富并且可弹性扩展的块存储服务,满足不同场景的业务需求,适用于分布式文件系统、开发测试、数据仓库以及高性能计算等场景。
裸金属服务器支持挂载云硬盘,解决了传统物理服务器受限于本地硬盘容量的问题。支持共享云硬盘,由多台服务器并发读写访问,满足您企业核心系统集群部署的需求。
云硬盘(Elastic Volume Service, EVS)可以为 云服务器 提供高可靠、高性能、规格丰富并且可弹性扩展的块存储服务,可满足不同场景的业务需求,适用于分布式文件系统、开发测试、数据仓库以及高性能计算等场景。云服务器包括弹性云服务器和裸金属服务器。
云硬盘简称为磁盘。
云硬盘为 云服务器 提供规格丰富、安全可靠、可弹性扩展的硬盘资源,具体功能特性如下:
EVS提供多种规格的云硬盘,可挂载至 云服务器 用作数据盘和系统盘,您可以根据应用程序及费用预算选择适合业务场景的云硬盘。
您可以创建的单个云硬盘最小容量为10 GB,最大容量为 32 TB,即,10 GB ≤ 云硬盘容量 ≤ 32 TB。若您已有的云硬盘容量不足以满足业务增长对数据存储空间的需求,您可以根据需求进行扩容,最小扩容步长为1GB,单个云硬盘最大可扩容至32 TB。同时支持平滑扩容,无需暂停业务。
扩容云硬盘时还会受容量总配额影响,系统会显示您当前的剩余容量配额,新扩容的容量不能超过剩余容量配额。您可以申请足够的配额满足业务需求。
配合云监控( Cloud Eye),帮助您随时掌握云硬盘健康状态,了解云硬盘运行状况。
目前可供您选择的有三种数据存储服务,分别是云硬盘,弹性文件服务(Scalable File Service, SFS)以及对象存储服务(Object Storage Service, OBS),这三种数据存储的区别主要如下:
服务名称 |
总体介绍 |
典型应用场景 |
存储容量 |
---|---|---|---|
云硬盘 |
云硬盘可以为云服务器提供高可靠、高性能、规格丰富并且可弹性扩展的块存储服务。 |
|
云硬盘支持按需扩容,最小扩容步长为1GB,单个云硬盘可由10 GB扩展至32 TB。 |
弹性文件服务 |
弹性文件服务可以为您的云服务器提供一个完全托管的共享文件存储,它提供标准文件协议,能够弹性伸缩至PB规模,具备可扩展的性能,为海量数据、高带宽型应用提供有力支持。 |
|
弹性文件服务可随业务动态扩展或缩小,容量最高可达10 PB。 |
对象存储服务 |
对象存储是一种可存储文档、图片、影音视频等非结构化数据的云存储服务。支持多种上云方式,为海量的云端数据提供低成本、高可靠访问存储。 |
|
对象存储服务没有容量限制,存储资源可无限扩展。 |
裸金属服务器使用的云硬盘类型有如下几种:
云硬盘性能的主要指标有IO读写时延、IOPS和吞吐量。
云硬盘性能指标的详细介绍请参见《 云硬盘产品介绍 》。
裸金属服务器当前仅支持SCSI(小型计算机系统接口,Small Computer System Interface)磁盘模式的云硬盘。
您可以通过管理控制台创建SCSI类型的云硬盘,该类型的云硬盘支持SCSI指令透传,允许裸金属服务器操作系统直接访问底层存储介质。除了简单的SCSI读写命令,SCSI类型的云硬盘还可以支持更高级的SCSI命令。
裸金属服务器公共镜像的操作系统中已经预安装了使用SCSI类型云硬盘所需的驱动,无需再安装。您也可以参考《裸金属服务器私有镜像制作指南》的“ 安装SDI卡驱动 ”章节了解驱动安装的详细操作。
云硬盘的存储系统采用三副本机制来保证数据的可靠性,即针对某份数据,默认将数据分为1 MB大小的数据块,每一个数据块被复制为3个副本,然后按照一定的分布式存储算法将这些副本保存在集群中的不同节点上。
例如,对于服务器A的物理磁盘A上的数据块P1,系统将它的数据备份为服务器B的物理磁盘B上的P1''和服务器C的物理磁盘C上的P1',P1、P1'和P1''共同构成了同一个数据块的三个副本。若P1所在的物理磁盘发生故障,则P1'和P1''可以继续提供存储服务,确保业务不受影响。
数据一致性表示当应用成功写入一份数据到存储系统时,存储系统中的3个数据副本必须一致。当应用无论通过哪个副本再次读取这些数据时,该副本上的数据和之前写入的数据都是一致的。
云硬盘三副本技术主要通过以下机制确保数据一致性:
当应用写入数据时,存储系统会同步对3个副本执行写入数据的操作,并且只有当多个副本的数据都写入完成时,才会向应用返回数据写入成功的响应。
当应用读数据失败时,存储系统会判断错误类型。如果是物理磁盘扇区读取错误,则存储系统会自动从其他节点保存的副本中读取数据,然后在物理磁盘扇区错误的节点上重新写入数据,从而保证数据副本总数不减少以及副本数据一致性。
存储系统的每个物理磁盘上都保存了多个数据块,这些数据块的副本按照一定的策略分散存储在集群中的不同节点上。当存储系检测到硬件(服务器或者物理磁盘)发生故障时,会自动启动数据修复。由于数据块的副本分散存储在不同的节点上,数据修复时,将会在不同的节点上同时启动数据重建,每个节点上只需重建一小部分数据,多个节点并行工作,有效避免了单个节点重建大量数据所产生的性能瓶颈,将对上层业务的影响做到最小化。
数据重建流程如 图2 所示。
数据重建原理如 图3 所示,例如当集群中的服务器F硬件发生故障时,物理磁盘上的数据块会在其他节点的磁盘上并行重建恢复。
三副本技术是云硬盘存储系统为了确保数据高可靠性提供的技术,主要用来应对硬件设备故障导致的数据丢失或不一致的情况。
云硬盘备份、快照不同于三副本技术,主要应对人为误操作、病毒以及黑客攻击等导致数据丢失或不一致的情况。我们建议您在日常操作中,采用云硬盘备份、快照功能,定期备份云硬盘中数据。
根据IO性能划分云硬盘的磁盘类型,各种类型的云硬盘具体介绍如下。不同类型云硬盘的性能和价格有所不同,您可根据应用程序要求选择您所需的云硬盘。
参数 |
普通IO |
高IO |
超高IO |
---|---|---|---|
云硬盘最大容量 |
|
|
|
最大IOPS |
2200 |
5000 |
33000 |
最大吞吐量 |
90 MB/s |
150 MB/s |
350 MB/s |
IOPS突发上限 |
2200 |
5000 |
16000 |
云硬盘IOPS性能计算公式 |
IOPS = min (2200, 500 +2 × 容量) |
IOPS = min (5000, 1200 + 6 × 容量) |
IOPS = min (33000, 1500 + 50 × 容量) |
API名称
说明:
此处API名称为云硬盘API接口中“volume_type”参数的取值,不代表底层存储设备的硬件类型。 |
SATA |
SAS |
SSD |
典型应用场景 |
适用于大容量、读写速率中等、事务性处理较少的应用场景,例如企业的日常办公应用或者小型测试等。 如果应用需要更高的IO性能,建议您选择超高IO或高IO云硬盘。 |
适用于主流的高性能、高可靠应用场景,例如大型开发测试、Web服务器日志以及企业应用。典型的企业应用有SAP、Microsoft Exchange 和 Microsoft SharePoint等。 |
适用于超高IO,超大带宽的读写密集型应用场景,例如高性能计算应用场景,用来部署分布式文件系统,或者I/O密集型应用场景,用来部署各类NoSQL/关系型数据库。典型的数据库有MongoDB、Oracle、SQL Server、MySQL 和PostgreSQL等。 |
单个云硬盘IOPS性能 =“最大IOPS”与“基线IOPS + 每GB云硬盘的IOPS × 云硬盘容量”的最小值。
突发能力是指小容量云硬盘可以在一定时间内达到IOPS突发上限,超过IOPS上限的能力。此处IOPS上限为单个云硬盘的性能。
突发能力适用于 云服务器 启动场景,一般系统盘容量较小,以50 GB的超高IO云硬盘为例,如果没有突发能力,云硬盘IOPS上限只能达到4000(1500 + 50 × 50),但使用突发能力后,IOPS可高达16000,从而提升云服务器的启动速度。
以下介绍云硬盘突发IOPS的消耗原理和储蓄原理。
突发的实现基于令牌桶,令牌桶中的初始令牌数量 = 突发时间 × IOPS突发上限,此处突发时间固定为1800 s。
消耗原理
当令牌消耗速度大于令牌的生成速度时,令牌数量会逐渐减少,最后IOPS会维持跟桶生成令牌的速度一致,即云硬盘的IOPS上限。本示例中,可以维持突发IOPS的时间为3032 s ≈ 28800000 / (16000 - 6500) 。
储蓄原理
当令牌的消耗速度小于令牌的生成速度时,桶中的令牌会逐渐增加,之后又可以拥有突发能力。本示例中,如果云硬盘暂停使用4431 s ≈ 28800000 / 6500,令牌桶就可以存满。
桶中的令牌数量只要大于零,云硬盘就具有突发能力。
测试云硬盘性能参数的具体测试方法请参见“ 怎样测试云硬盘的性能 ”。
如果将SCSI共享云硬盘挂载至ECS时,需要结合云服务器组的反亲和性一同使用,SCSI锁才会生效,关于更多共享云硬盘的内容,请参见 共享云硬盘及使用方法 。
BMS的Windows和Linux镜像操作系统中已经预安装了使用SCSI云硬盘所需的驱动,即SDI卡驱动,因此无需再安装。
当您使用SCSI云硬盘时,推荐您配合虚拟化类型为KVM的ECS一同使用。因为KVM ECS的Linux操作系统内核中已经包含了驱动,Windows操作系统中也包含了驱动,无需您再额外安装驱动,使用便捷。
ECS的虚拟化类型分为KVM和XEN,想了解您所使用的ECS虚拟化类型,请参见 规格清单 。
由于驱动和操作系统支持的限制,不建议您一同使用SCSI云硬盘与虚拟化类型为XEN的ECS。
当XEN ECS的操作系统已满足SCSI云硬盘的要求时,需要根据以下情况判断是否安装SCSI驱动。
具体方法请参见“镜像服务用户指南”中的“优化Windows私有镜像(可选)”小节。
虚拟机化类型 |
操作系统 |
|
---|---|---|
XEN |
Windows |
请参见“公共镜像”中的Window操作系统。 查看方法:登录管理控制台,选择“镜像服务 > 公共镜像 > ECS 系统盘镜像 > Windows”,即可查看操作系统列表。 |
Linux |
|
根据是否支持挂载至多台 云服务器 可以将云硬盘分为非共享云硬盘和共享云硬盘。一个非共享云硬盘只能挂载至一台 云服务器 ,而一个共享云硬盘可以同时挂载至多台 云服务器 。
共享云硬盘是一种支持多个 云服务器 并发读写访问的数据块级存储设备,具备多挂载点、高并发性、高性能、高可靠性等特点。
共享云硬盘首次同时挂载至多台Windows 云服务器 ,则卸载后,也不能挂载至Linux 云服务器 。因为Windows和Linux支持的文件系统不同,无法识别云硬盘原有文件系统,如果操作不当会导致原有文件系统被破坏。
共享云硬盘主要应用于需要支持集群、HA(High Available,指高可用集群)能力的关键企业应用场景,需要多个 云服务器 可同时访问一个云硬盘。如果您将共享云硬盘挂载到多个 云服务器 ,首先请根据应用场景选择不同的磁盘模式,包括VBD和SCSI。由于多数常见集群需要使用SCSI锁,例如Windows MSCS集群、Veritas VCS集群和CFS集群,因此建议您结合SCSI模式使用共享云硬盘。使用SCSI云硬盘,您可能需要为某些 云服务器 安装驱动,具体请参见 磁盘模式及使用方法 。
反亲和性和SCSI锁的相关概念:
关于云服务器组,更多详情请参见 管理云服务器组 。
参数 |
普通IO |
高IO |
超高IO |
---|---|---|---|
云硬盘最大容量 |
|
|
|
最大IOPS |
2200 |
5000 |
33000 |
最大吞吐量 |
90 MB/s |
150 MB/s |
350 MB/s |
IOPS突发上限 |
2200 |
5000 |
16000 |
云硬盘IOPS性能计算公式
说明:
以单块超高IO云硬盘为例,基线为1500 IOPS,每GB增加50 IOPS,最高为33000 IOPS。 |
IOPS = min (2200, 500 +2 × 容量) |
IOPS = min (5000, 1200 + 6 × 容量) |
IOPS = min (33000, 1500 + 50 × 容量) |
API名称
说明:
此处API名称为云硬盘API接口中“volume_type”参数的取值,不代表底层存储设备的硬件类型。 |
SATA |
SAS |
SSD |
数据持久性 |
99.9999999% |
||
挂载 云服务器 数量 |
最大可同时挂载至16台 云服务器 |
如果弹性云服务器不满足反亲和性,则共享云硬盘性能无法达到最优。
共享云硬盘本质是将同一块云硬盘挂载给多个 云服务器 使用,类似于将一块物理硬盘挂载给多台物理服务器,每一台服务器均可以对该硬盘任意区域的数据进行读取和写入。如果这些服务器之间没有相互约定读写数据的规则,比如读写次序和读写意义,将会导致这些服务器读写数据时相互干扰或者出现其他不可预知的错误。
共享云硬盘为 云服务器 提供共享访问的块存储设备,但其本身并不具备集群管理能力,因此需要您自行部署集群系统来管理共享云硬盘,如企业应用中常见的Windows MSCS集群、Linux RHCS集群、Veritas VCS集群和CFS集群应用等。
当一个共享云硬盘同时挂载给两台 云服务器 时, 云服务器 A和 云服务器 B相互之间无法感知另一个 云服务器 已使用的存储空间, 云服务器 A可能会对该云硬盘上已被 云服务器 B使用的空间进行重复分配,从而发生空间分配冲突导致数据出错的情况。
比如,将一块共享云硬盘格式化为ext3文件系统后挂载给 云服务器 A和 云服务器 B, 云服务器 A在某一时刻向云硬盘上的区域 R和区域 G写了文件系统的元数据,下一时刻 云服务器 B又向区域 E和区域 G写了自己的元数据,则 云服务器 A写入的数据将会被替换,随后读取区域 G的元数据时即会出现错误。
当一个共享云硬盘同时挂载给两台 云服务器 时,若 云服务器 A上的应用读取区域 R和区域 G的数据后将数据记录在缓存中,此时 云服务器 A上的其他进程或线程访问该部分数据时,直接访问缓存中的数据即可。如果此时 云服务器 B上的应用修改区域 R和区域 G中的数据,则 云服务器 A上的应用无法感知该部分数据已被修改,依旧从缓存中读取数据,用户通过 云服务器 A无法看到已修改的新数据。
比如,将一块共享云硬盘格式化为ext3文件系统后挂载给 云服务器 A和 云服务器 B,两台 云服务器 均将文件系统的元数据进行了缓存,此后用户在 云服务器 A中创建了一个新的文件 F,但 云服务器 B并无法感知该修改,依旧从缓存中读取数据,导致用户在 云服务器 B中无法看到文件F。
如果您将共享云硬盘挂载到多个 云服务器 ,首先请根据不同的应用选择不同的磁盘模式,包括VBD和SCSI。SCSI类型的共享云硬盘支持SCSI锁,但是需要在 云服务器 系统中安装驱动并保证镜像在兼容性列表中。
直接将共享云硬盘挂载给多台 云服务器 无法实现文件共享功能,如需在多台 云服务器 之间共享文件,需要搭建共享文件系统或类似的集群管理系统。搭建集群的方法,具体请参见 共享云硬盘最佳实践 。
About Me
........................................................................................................................ ● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除 ● 本文在itpub( http://blog.itpub.net/26736162 )、博客园( http://www.cnblogs.com/lhrbest )和个人weixin公众号( xiaomaimiaolhr )上有同步更新 ● 本文itpub地址: http://blog.itpub.net/26736162 ● 本文博客园地址: http://www.cnblogs.com/lhrbest ● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/ ● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/ ● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826 ........................................................................................................................ ● QQ群号: 230161599 (满) 、618766405 ● weixin群:可加我weixin,我拉大家进群,非诚勿扰 ● 联系我请加QQ好友 ( 646634621 ) ,注明添加缘由 ● 于 2019-06-01 06:00 ~ 2019-06-30 24:00 在西安完成 ● 最新修改时间:2019-06-01 06:00 ~ 2019-06-30 24:00 ● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解 ● 版权所有,欢迎分享本文,转载请保留出处 ........................................................................................................................ ● 小麦苗的微店 : https://weidian.com/s/793741433?wfr=c&ifr=shopdetail ● 小麦苗出版的数据库类丛书 : http://blog.itpub.net/26736162/viewspace-2142121/ ● 小麦苗OCP、OCM、高可用网络班 : http://blog.itpub.net/26736162/viewspace-2148098/ ● 小麦苗腾讯课堂主页 : https://lhr.ke.qq.com/ ........................................................................................................................ 使用 weixin客户端 扫描下面的二维码来关注小麦苗的weixin公众号( xiaomaimiaolhr )及QQ群(DBA宝典)、添加小麦苗weixin, 学习最实用的数据库技术。
........................................................................................................................ |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2648143/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26736162/viewspace-2648143/