【共享云硬盘】介绍

共享云硬盘简介

共享云硬盘是一种支持多个云服务器并发读写访问的数据块级存储设备,具备多挂载点、高并发性、高性能、高可靠性等特点。单个共享云硬盘最多可同时挂载给16个云服务器。
目前,共享云硬盘只适用于数据盘,不支持系统盘。
共享云硬盘的使用场景如图1所示。
图1 共享云硬盘使用场景 您可以通过管理控制台创建VBD类型的共享云硬盘和SCSI类型的共享云硬盘。
  • VBD类型的共享云硬盘:创建的共享云硬盘默认为VBD类型,该类型云硬盘可提供虚拟块存储设备,不支持SCSI锁。当您部署的应用需要使用SCSI锁时,则需要创建SCSI类型的共享云硬盘。
  • SCSI类型的共享云硬盘:SCSI类型的共享云硬盘支持SCSI锁。
    如果将SCSI类型共享云硬盘挂载至ECS时,需要结合云服务器组的反亲和性一同使用,SCSI锁才会生效。
    注意:
    为了提升数据的安全性,建议您结合云服务器组的反亲和性一同使用SCSI锁。即将SCSI类型的共享云硬盘挂载给同一个反亲和性云服务器组内的ECS,并且如果ECS不属于任何一个反亲和性云服务器组,则不建议您为该ECS挂载SCSI类型的共享云硬盘。否则SCSI锁无法正常使用,则会导致您的数据存在风险。
    说明:
    • 云服务器组的反亲和性:ECS在创建时,将会分散地创建在不同的物理主机上,从而提高业务的可靠性。您只能在创建ECS的时候选择虚拟机组,对于现有的ECS,不支持添加云服务器组的操作。
      关于云服务器组,更多详情请参见《弹性云服务器用户指南》中的“创建云服务器组”。
    • SCSI锁的实现机制:通过SCSI Reservation命令来进行SCSI锁的操作。如果一台ECS给云硬盘传输了一条SCSI Reservation命令,则这个云硬盘对于其他ECS就处于锁定状态,避免了多台ECS同时对云硬盘执行读写操作而导致的数据损坏。
    • 云服务器组和SCSI锁的关系:同一个云硬盘的SCSI锁无法区分单个物理主机上的多台ECS,因此只有当ECS位于不同物理主机上时才可以支持SCSI锁。不在同一个反亲和性组的ECS,可能位于同一个物理主机上,从而导致了SCSI锁无法生效,因此建议您结合云服务器组的反亲和性一起使用SCSI锁命令。
共享云硬盘的特点
  • 多挂载点:单个共享云硬盘最多可同时挂载给16个云服务器。
  • 高性能:多台云服务器并发访问超高IO共享云硬盘时,随机读写IOPS可高达160000。
  • 高可靠:共享云硬盘支持自动和手动备份功能,数据可靠性高达99.9999999%。
  • 应用场景广泛:可应用于只需要VBD类型共享云硬盘的Oracle RAC场景,同时也可应用于需要支持SCSI指令的共享云硬盘的场景,如Windows MSCS和Veritas VCS集群应用。
  • 主机隔离:共享云硬盘支持反亲和性挂载,避免集群应用所部署的ECS调度位于同一个物理服务器上。
共享云硬盘的规格
EVS共享云硬盘当前支持三种规格,具体性能如表1所示。
表1 云硬盘性能数据表
参数
普通IO
高IO
超高IO
单个云硬盘的最大容量
32 TB
32 TB
32 TB
IOPS
1 IOPS/GB
2 IOPS/GB
50 IOPS/GB
单个云硬盘的最小IOPS
100
100
100
单个云硬盘的最大IOPS
1000
3000
20000
单个云硬盘的突发IOPS
1000
3000
10000
最大吞吐量
40 MB/s ~ 90 MB/s
150 MB/s
350 MB/s
IO 读写时延
5 ms ~ 10 ms
1 ms ~ 3 ms
1 ms
预期售价
共享云硬盘当前处于公测时期,您可以免费使用
数据可靠性
99.9999999%
挂载云服务器数量
最大可同时挂载至16台云服务器
说明:
最大IOPS和吞吐量必须在多台云服务器同时使用共享云硬盘的场景下测量。
共享云硬盘的使用场景
共享云硬盘主要应用于需要支持集群、HA能力的关键企业应用场景,该类应用基于Share Everything 架构下设计,需要多个弹性云服务器可同时访问一个云硬盘。比如企业应用中常见的Oracle RAC、Windows MSCS集群、Linux RHCS集群、Veritas VCS集群和CFS集群应用。
共享云硬盘的使用方法
共享云硬盘同传统存储一样,为云服务器提供共享访问的块存储设备,但云硬盘本身并不具备提供集群能力,需要您自行部署集群系统来管理共享云硬盘。
如果您将共享云硬盘挂载到多个云服务器,首先请根据不同的应用选择不同的共享云硬盘类型。SCSI类型的共享云硬盘支持SCSI锁,但是需要在云服务器系统中安装驱动并保证镜像在兼容性列表中。
共享云硬盘本质是将同一块云硬盘挂载给多个 云服务器使用。如果在使用共享云硬盘过程中,未使用集群系统进行管理,将会导致云硬盘的存储空间分配冲突以及数据不一致两个问题:
  • 存储空间分配冲突
    当共享云硬盘同时挂载给多个云服务器时,云服务器之间并无法相互感知分配给其他云服务器的存储空间,存储空间可能在其它云服务器上重复分配而导致空间分配冲突。比如,当将一块云硬盘格式化为ext3文件系统并挂载给两台云服务器,在其中一台云服务器写入数据时,同时在另一台云服务器也对该云硬盘写入数据,将有可能导致数据存储空间分配冲突。
  • 存储数据不一致
    当一个共享云硬盘挂载给多台云服务器使用时,并且位于云服务器A上的应用将数据记录在缓存中,如果云服务器A上的其他进程或线程访问该部分数据时,直接访问缓存中的数据即可。如果此时云服务器B上的应用已将该部分数据修改,则云服务器A上的应用无法感知数据已被修改,将导致数据不一致。