• 欢迎光临~

HCIE-FusionBlock分布式块存储

开发技术 开发技术 2022-10-31 次浏览

FusionStorage Block 分布式块存储

华为存储分类

  • 全闪存(OceanStor Dorado)
  • 混合闪存(OceanStor V3 、OceanStor V5)
  • 边缘数据存储(FusionCube)
  • 分布式存储(OceanStor 100D)
  • 数据保护存储(OceanProtect x)

存储组成部件

  • 控制框

    • 控制器
    • 电源模块
    • BBU
    • 硬盘
    • Smart IO模块
  • 硬盘框

    • 硬盘
    • 级联模块
    • 电源

传统SAN

  • 孤立存储资源(一套存储设备只能提供给一个服务器使用,如果提供给多个服务器去使用,需要安装集群软件)
  • 存储设备只能扩展容量(单方面提升),无法线性拓展
  • 受限于控制器,Cache和网络带宽瓶颈

Server SAN

  • 由本地服务器的本地硬盘组合成资源池,同时融合了计算和存储资源
  • 无需采用专门的存储设备,管理简单,降低成本
  • 计算和存储性能双提升,实现线性扩展

FusionStorage 分布式块存储(华为Server SAN产品)

  • 介绍

    • 定义

      • FusionStorage 分布式块存储是一款可大规模横向扩展的存储产品,通过存储系统软件将服务器的本地存储资源组织起来,构建全分布式存储池,通过SCSI和iSCSI接口向上层应用提供块存储服务,满足云资源池及数据库等场景的存储需求。
    • 特定(区别于传统存储)

      • 高扩展性

        • 传统存储设备:扩展存储需增加控制器个数或者更换设备
        • FusionStorage:容量与性能线性增加,性能超越中高端存储
      • 高性价比

        • 传统存储设备:成本随性能提升大幅增加;存储更新换代速度快
        • FusionStorage:支持融合部署,通用X86服务器堆叠扩展,节约成本;网络扁平化,扩容简单;既有设备利旧,保护投资
      • 高可靠性(故障业务无影响)

        • 传统存储设备:硬盘故障需立即更换,实时手动恢复;
        • FusionStorage:提高服务器间,柜间可靠性;硬盘故障无需管理,自动数据重建恢复;
      • 并行快速数据重建

        • 传统存储设备:数据重建满(重建1TB 需要12小时)
        • FusionStorage:数据分部跨服务器,机柜,故障后在全资源池内重建数据(重建1TB数据小于10分钟)
  • 架构和组件

    • 管理节点(FSM)

      • FusionStorage管理模块,提供告警,监控,日志,配置操作维护功能。一般情况下FSM主备节点部署。
    • 存储节点(FSA)

      • FusionStorage Agent 代理进程,部署在各个节点,实现各节点和FSM通信,FSA包含MDC,VBS,OSD等不同的进程。根据系统不同配置要求,分别在不同的节点启用不同的进程组合来完成特定的功能。

      • 组件

        • MDC集群

          • ZK

            • Zookeeper 负责完成分布式框架的工作,如统一命名服务,状态同步服务,集群管理,分布式应用配置项的管理。主要工作包括维持MDC主备关系,提供视图存储,维护自身主备的数据同步。ZK数量相等于MDC数量,一般为至少3个,可为3,5,7,9个
          • MDC

            • MetaData Controller 元数据控制组件,分为控制MDC和归属MDC,控制MDC负责规则管理(但视图存储在ZK空间),归属MDC负责管理存储池并监控状态,数量与ZK数量保持一致,一般为主多备部署。
        • VBS集群

          • Virtual Block Service 提供访问使用存储的入口和卷和快照的管理功能,相当于控制器的角色
        • 资源池

          • OSD

            • Object Storage Service 处理VBS下发的IO消息,执行具体的IO操作,相当于硬盘框的角色,分为主OSD和备OSD。一个物理硬盘对应一个OSD进程,主要负责磁盘管理,IO复制,数据的读写Cache处理
        • CM

          • Cluster Manager集群管理进程,用于管理控制集群的信息,创建控制集群时,会启动CM进程
        • CCDB

          • Cluster Configuration Database ,集群配置数据库,保存集群配置信息,如双活Pair ,远程复制Pair和一致性信息
        • EDS

          • Enterprise Data Service 提供高级特性,如快照,重删,复制,加入存储池的服务器会开启EDS进程
  • 网络平面

    • 管理平面:与用户管理网络对接的平面,用于进行系统管理和维护
    • BMC平面:用于接入管理节点/存储节点Mgmt接口,提供远程硬件设备管理功能
    • 存储平面:内部平面,用于系统内部所有节点之间的业务数据通信
    • 业务平面:与客户应用对接,通过iSCSI/SCSI等标准协议访问存储
    • 复制平面:用于复制节点间进行数据同步复制
    • 仲裁平面:用于与双活仲裁服务器进行通信,只有块服务规划双活功能时才会规划该平面
  • 部署方式

    • 融合部署

      • 将VBS和OSD部署在同一台服务器,虚拟化应用推荐采用融合部署的方式
    • 分离部署

      • 将VBS和OSD分别部署在不同的服务器,高性能数据库应用推荐采用分离部署(VBS和OSD为进程,会损耗服务器的资源)
  • 工作机制

    • 视图信息

      • OSD (View OSD ID 、OSD Status) 为归属MDC使用
      • Partiton View ( Partion ID 、 主备OSD 、主备OSD Status) 为主OSD使用
      • IO View( Partion ID 、OSD主)为VBS使用
    • 组件初始化

      • 系统启动时,MDC与ZK互动决定主MDC。主MDC与其它MDC相互监控心跳,主MDC决定某MDC故障后接替者。其它MDC发现主MDC故障又与ZK互动升任主MDC
      • OSD启动时向MDC查询归属MDC,向归属MDC报告状态,归属MDC把状态变化发送给VBS。当归属MDC故障,主MDC指定一个MDC接管,最多两个池归属同一个MDC
      • VBS启动时查询主MDC,向主MDC注册(主MDC维护了一个活动VBS的列表,主MDC同步VBS列表到其它MDC,以便MDC能将OSD的状态变化通知到VBS),向MDC确认自己是否为leader;VBS从主MDC获取IO View,主VBS向OSD获取元数据,其它VBS向主VBS获取元数据
    • 数据路由

      • 系统初始化

        • 哈希空间N等化形成分区,并建立分区和硬盘的映射关系表
        • OSD按照1MB对为单位对硬盘进行分片管理,并在硬盘的元数据管理区域记录每个1MB分片的分配信息
      • 应用程序下发IO请求

        • APP下发SCSI请求指令,其中包含LUN ID,LBA ID(LBA为寻址方式),及数据内容转交到操作系统,再由操作系统请求VBS
      • VBS处理IO请求

        • VBS接收IO请求后,将LUN ID 和 LBA ID 转化为Key值,对Key值哈希得出结果落入DHT分区上,通过IOview 找到对应的主OSD
      • OSD处理IO请求

        • 主OSD判断IO请求,如果是读请求,直接到硬盘读取数据给予返回,如果是写IO请求,需要通过Partition View找到备OSD完成其他副本数据的写入
    • 读写机制

      • 读机制

        • 读Cache

          • 采用分层机制,第一层为内存Cache,第二层为SSD Cache(热点读机制,即通过设定阈值,把访问频率高的数据缓存到SSD中,而访问频率高的数据则移出SSD)
        • 预读(智能读)

          • 通过统计读数据的相关性,读取某块数据时自动将相关性高的块读出并缓存到SSD中
      • 写机制

        • 写Cache

          • OSD在收到VBS发送的写IO操作时,会将写IO缓存在SSD cache后完成本节点写操作
        • 刷盘策略

          • 周期和水位,OSD会周期将缓存在SSD cache中的写IO数据批量写入到硬盘,写Cache有一个水位值,未到刷盘周期超过设定水位值也会将Cache中数据写入到硬盘中,水位优先级高于周期
          • 大块直通,按缺省配置大于256KB的块直接落盘不写Cache,这个配置可以修改
  • FusionStorage 配置流程

    • 增加管理节点
    • 增加存储节点
    • 配置存储网络
    • 安装存储节点
    • 创建控制集群
    • 创建存储池
  • 业务SCSI和iSCSI配置流程

    • 业务SCSI

      • 增加计算节点
      • 创建VBS
      • 创建卷
      • 创建VBS与卷的关联
    • 业务iSCSI

      • 配置iSCSI服务
      • 创建主机
      • 添加启动器(IQN)
      • 创建卷
      • 创建卷与主机的关联
程序员灯塔
转载请注明原文链接:HCIE-FusionBlock分布式块存储
喜欢 (0)