2.6. 块存储服务

2.6.1. 概要

UOS块存储服务为云主机提供持久化的云硬盘。云硬盘使用多种先进技术,即使有服务器发生故障,也不影响数据的可靠性和可用性,让你高枕无忧。同时,云硬盘的底层使用全分布式的架构,多硬盘同时并行读写,最高可以为你提供 6000 IOPS170MB/s 吞吐量 、2ms 响应时间的非凡性能。 云硬盘的各种操作都可以在秒级时间内完成,无需等待,流畅体验UOS块存储的极致服务。

2.6.2. 功能与优势

安全可靠

  • 云硬盘使用 多重副本 技术,把数据实时复制到多台服务器上。
  • 即使我们无法避免硬盘故障,依然可以保证 99.99999999% 的数据持久性 [1]

高性能

  • 云硬盘使用 分布式 技术,可以轻松满足I/O密集型应用场景。
  • 每个云硬盘最大可提供 6000 IOPS170 MB/s 的吞吐量。
  • 一块1TB云硬盘的IOPS相当于 75块 SATA硬盘的总IOPS [2]

灵活自由

  • 你可以秒级创建与删除云硬盘,并随时挂载到云主机上。

  • 云硬盘和云主机相互独立,云硬盘不会被限定于某台云主机,可以自由挂载到任意云主机上。

  • 每个云主机可以挂载多个云硬盘。

  • 云硬盘可以随时进行扩容,以满足你的业务需求。

    Note

    对云硬盘扩容后,你需要对云硬盘上的文件系统执行扩容操作。

实时快照

  • 你可以对云硬盘创建实时快照,所有快照均包含云硬盘当时的全部数据。
  • 快照之间是非依赖关系,你可以删除任何快照,并不影响其他快照的使用。
  • 你可以基于快照创建新的云硬盘,以便快速恢复你的数据。
  • 创建快照和恢复快照的都是 O(1) 操作,不受云硬盘大小和快照大小的影响。

秒级操作

  • 云硬盘和快照的各种操作都可以在秒级别时间内完成,你无需耗费漫长的时间在备份和恢复操作上。

2.6.3. 共享盘

UOSCloud 块存储服务提供的共享盘是指单个卷可以同时挂载到多个虚拟机上,在块设备层提供并发访问能力,使得用户可以在共享盘上构造高可用的分布式应用。与云硬盘只能绑定一台云主机不同,共享盘可以绑定多台云主机,适用于多台服务器需要共享数据的场景。

需要注意的是,并不是简单的将盘挂载到多个虚拟机就可以享受对卷的并发读写。由于传统应用都是利用本地文件系统如 Ext4,XFS,NTFS等作为接口进行 IO 读写,但这些文件系统并不会感知到其他节点的写操作,因此如果使用本地文件系统来使用共享盘并挂载多个虚拟机上,会造成文件系统损坏!这里我们必须借助于专门为共享盘打造的集群文件系统如 OCFS,这些文件系统专门为分布式的场景打造,可以接受多节点并发读写操作。

同时,每个盘都提供了只读和读写两种模式,用户可以创建一个共享盘,然后在写入一定数据后将其设置为只读盘。然后将其同时挂载到多个虚拟机上,这时候,多个虚拟机就可以同时访问这个只读盘。常见的用例是数据存档,软件包仓库或者数据分析场景,用户可以创建一个共享盘,然后写入大量的原始资料,将其设为只读后挂载到多个虚拟机上可进行数据分析和计算,

是否共享 读写 只读
非共享 绝大多数使用场景 用于重要资料保存和读取,避免意外写入
共享 使用集群文件系统或者应用支持多路径访问 用作原始资料盘或者存档盘

共享盘的使用与云硬盘类似,挂载块设备后可以格式化成任意文件系统来使用。不同点在于共享盘允许多台云主机同时读写,建议使用OCFS等集群文件系统保证数据安全。

Security Group

创建共享盘非常简单,在UOS控制台创建云硬盘,此时选择“设为共享盘”。共享盘在绑定云主机前可以选择扩容、设置只读或者设置读写,然后选择挂载到一台或多台云主机上。挂载后通过 lsblk 可以找到新的块设备,安装 ocfs2-tools 工具包后使用命令 mkfs.ocfs2 /dev/vdb 将共享盘格式化为OCFS文件系统格式,更多OCFS资料请参考其官网 https://oss.oracle.com/projects/ocfs/

2.6.4. 产品性能

  • 云硬盘的性能跟容量的关系。

    云硬盘容量 IOPS 吞吐率
    10 ~ 100 GB 1500 80 MB/s
    101 ~ 999 GB 每 10GB 增加50 IOPS 每 10GB 增加 1MB/S 吞吐率
    1000 GB 6000 170 MB/s

    Note

    由于使用分布式存储,大容量云硬盘的性能跟容量大小成线性关系。 若你对 IO 性能有强烈需求,可考虑扩容云硬盘。

  • 1TB 云硬盘性能的 SLA

    I/O类型 块大小 队列深度 IOPS 95%的响应时间 吞吐率
    随机读 4KB 8 6000 < 2 ms  
    随机读 8KB 8 6000 < 2 ms  
    随机读 16KB 8 6000 < 2 ms  
    随机写 4KB 32 6000 < 12 ms  
    随机写 8KB 32 6000 < 12 ms  
    随机写 16KB 32 6000 < 12 ms  
    随机写 32KB 32 6000 < 12 ms  
    顺序读 1MB 1 170 < 12 ms 170 MB/S
    顺序写 1MB 1 170 < 20 ms 170 MB/S
  • 云硬盘各种操作时间的 SLA

    操作类型 完成时间
    创建云硬盘(空白) < 2s
    创建云硬盘(基于快照) < 2s
    删除云硬盘 取决于盘大小
    挂载云硬盘 < 2s
    卸载云硬盘 < 2s
    创建快照 < 2s
    删除快照 < 2s
[1]这是悲观假设年故障率 AFR=8%,根据我们的存储拓扑架构计算的结果。
[2]对于7200转的SATA硬盘,IOPS一般是80。