磨刀不误砍柴工,学好这些FusionStorage理论才能使用好这个产品。

前言

主要功能特性

FusionStorage分布式存储软件总体框架

  • 相比传统方式分配物理存储资源,精简配置可显著提高存储空间利用率

FusionStorage链接克隆功能

  • FusionStorage支持卷快照创建多个克隆卷,对克隆卷修改不影响原始快照和其它克隆卷。
  • 克隆卷继承普通卷所有功能:克隆卷可支持创建快照、从快照恢复及作为母卷再次克隆操作。
  • 支持批量进行虚拟机卷部署,在1秒时间内创建上百个虚拟机卷。

FusionStorage跨资源池的卷冷迁移

跨资源池只支持冷迁移。
跨资源池卷冷迁移:把卷从源资源池 迁移到目的资源池,即【创建目标卷】 ->【卷数据复制】 ->【删除源卷】 ->【目标卷改名】 ->【完成】 整个过程的实现。

  • 迁移过程中,源卷不能有写数据的操作,所以叫做“冷”迁移。
  • 亦可通过工具调用复制接口。

场景1:资源池之间的容量平衡,容量满的池 迁移到空闲的池。
场景2: 卷在不同性能的资源池池之间的迁移,从低性能的池向高性能的池迁移。

分布式SSD Cache加速

  • FusionStorage集群内各服务器节点的缓存和带宽都均匀分布到各个服务器节点上,不存在独立存储系统中大量磁盘共享计算设备和存储设备之间有限带宽的问题。
  • FusionStorage支持将服务器部分内存用作读缓存, NVDIMM和SSD用作写缓存,数据缓存均匀分布到各个节点上,所有服务器的缓存总容量远大于采用外置独立存储的方案。即使采用大容量低成本的SATA硬盘,FusionStorage仍然可以发挥很高的IO性能,整体性能提升1~3倍。

FusionStorage大块直通

  • 从下面的性能数据看,对于小块随机IOPS,SSD对HDD存在明显的性能优势。
  • 在大块顺序IO的场景下,虽然SSD卡存在较大带宽优势,但SSD盘受SAS/SATA接口带宽的影响,和HDD相比,优势并不明显。
  • 考虑到SSD盘会同时会给多个硬盘作为Cache使用,当SSD盘同时给超过5个HDD作为Cache时,直接操作HDD反而性能会更高。
  • 大块IO性能会更佳;
  • 释放原来大块IO占用的Cache空间,可以缓存更多的随小块IO, 变相提高了随机小块IO的Cache命中率,提升系统整体性能
  • 动态Cache调整

    • 分布式存储都支持SSD作为Cache, 部分厂商只提供读Cache, 部分厂商提供读写Cache。
    • 对于读写Cache的厂商,基本上都采用读写Cache静态配置的方法,缺省按照70:30的比例配置
      该配置对于读写均衡性场景来说,可以让系统整体运行良好,但是业务千变万化,应用场景也千变万化。有的场景是以读为主(OLAP) 场景,有的场景以写为主,静态配置会导致SSD空间的浪费,无法发挥系统最大的效率。
    • 华为FusionStorage支持根据系统运行场景,自动均衡配置读写Cache的比例,让SSD Cache在最大程度上发挥作用。

    FusionStorage掉电保护

    • 系统运行过程中可能会出现服务器突然掉电的情况, FusionStorage使用保电介质来保存元数据和缓存数据,以防掉电而丢失。

    FusionStorage跨机柜故障容忍

    • 机柜间要求有独立 络和电力供应。
    • 如果机柜整体在同机房,无法抗拒机房整体断电断 ,自然灾害等故障类型。
    • 小于12台服务器不能使用机柜级安全。
    • FusionStorage快速数据重建

      • FusionStorage中的每个硬盘都保存了多个DHT分区(Partition),这些分区的副本按照策略分散在系统中的其他节点。当FusionStorage检测到硬盘或者节点硬件发生故障时,自动在后台启动数据修复。

      FusionStorage数据路由原理

      FusionStorage数据路由采取分层处理方式:

      • VBS通过计算确定数据存放在哪个服务器的哪块硬盘上。

      DHT数据路由过程

      • 系统初始化时, FusionStorage将哈希空间(0~2^32)划分为N等份,每1等份是1个分区(Partition), 这N等份按照硬盘数量进行均分。
        例如:本场景下,系统N默认为3600,假设当前系统有36块硬盘,则每块硬盘承载100个分区。上述“分区-硬盘”的映射关系在系统初始化时会分配好,后续会随着系统中硬盘数量的变化会进行调整。该映射表所需要的空间很小,FusionStorage系统中的节点会在内存中保存该映射关系,用于进行快速路由。
      • FusionStorage会对每个LUN在逻辑上按照1MB大小进行切片,例如1GB的LUN则会被切成1024*1MB分片。当应用侧访问FusionStorage时候,在SCSI命令中会带上LUN ID和LBA ID以及读写的数据内容, OS转发该消息到本节点VBS模块, VBS根据LUN ID和LBA ID组成key, 该key会包含LBA ID对1MB的取整计算信息。通
        过DHT Hash计算出整数(范围在0~2^32内),并落在指定Partition中;根据内存中记录的“分区-硬盘”映射关系确定具体硬盘, VBS将IO操作转发到该硬盘所属的OSD模块。
      • 每个OSD会管理硬盘,系统初始化时, OSD会按照1MB为单位对硬盘进行分片管理,并在硬盘的元数据管理区域记录每个1MB分片的分配信息。 OSD接收到VBS发送的IO操作后,根据key查找该数据在硬盘上的具体分片信息,获取数据后返回给VBS。 从而完成整个数据路由过程。
      • 举例说明:应用需要访问LUN1+LBA1地址起始的4KB长度的数据,首先构造key=LUN1+LBA1/1M, 对该key进行HASH计算得到哈希值,并对N取模,得到partition ,根据内存中记录的“分区-硬盘“映射表可得知数据归属的硬盘。

      组件功能及相互关系

      FusionStorage VBS模块及处理流程

      VBS模块作为FusionStorage系统存储功能的接入侧,负责完成两大类业务:

      • 卷和快照的管理功能
      • IO的接入和处理

      VBM模块负责完成卷和快照的管理功能:创建卷、挂载卷、卸载卷、查询卷、
      删除卷、创建快照、删除快照、基于快照创建卷等

    FusionStorage MDC模块功能

    MDC(Metadata Controller)是一个高可靠集群,通过HA(High Availability)机制保证整个系统的高可用性和高可靠性:

    • 通过ZooKeeper集群,实现元数据(如Topology、 OSD View、 Partition View、VBS View等)的可靠保存
    • 通过Partition分配算法,实现数据多份副本的RAID可靠性
    • 通过与OSD、 VBS间的消息交互,实现对OSD、 VBS节点的状态变化的获取与通知
    • 通过与Agent间的消息交互,实现系统的扩减容、状态查询、维护等
    • 通过心跳检测机制,实现对OSD、 VBS的状态监控

    Zookeeper(简称ZK) 分布式服务框架主要用来解决分布式应用中经常遇到的,如:统名服务、状态同步服务、集群管理、分布式应用配置项的管理等,ZK主要工作包括三项:

    • MDC主备管理: MDC采用两备部署模式;在MDC模块进程启动后,各个MDC进程会向ZK注册选主,先注册的为主MDC;运行过程中,ZK记录MDC主备信息,并通过心跳机制监控MDC主备健康状况,一旦主MDC进程故障,会触发MDC重先选主。
    • 数据存储:在MDC运行过程中,会生成各种控制视图信息,包括目标视图、中间视图、 IO视图信息等,这些信息的保存、更新、查询、删除操作都通过ZK提供的接口实现。
    • 数据同步:数据更新到主ZK, 由主ZK自动同步到两个备ZK,保证主备ZK数据实时同步。ZK发生主备切换,业务不受影响。

    FusionStorage主机模块交互关系

    • 系统启动时, MDC与ZK互动决定主MDC。 主MDC与其它MDC相互监控心跳,主MDC决定某MDC故障后接替者。其它MDC发现主MDC故障又与ZK互动升任主MDC。
    • OSD启动时向MDC查询归属MDC,向归属MDC 告状态,归属MDC把状态变化发送给VBS。 当归属MDC故障,主MDC指定MDC接管,最多两个池归属同MDC。

    FusionStorage写IO流程

    • APP下发写IO请求到OS, OS转发该IO请求到本服务器的VBS模块;VBS根据写IO信息中的LUN和LBA信息,通过数据路由机制确定数据所在的Primary OSD。
    • Primary OSD接收到写IO请求后,同时以同步方式写入到本服务器SSD cache以及数据副本所在其他服务器的secondary OSD, secondary OSD也会同步写入本服务器SSD cache。 Primary OSD接收到两个都写成功后,返回写IO成功给VBS;同时,SSD cache中的数据会异步刷入到硬盘。
    • 声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年4月10日
下一篇 2020年4月10日

相关推荐