目录

1、华为分布式存储FusionStorage产品特点:

2、Server SAN是什么?有何特点?

3、FusionStorage是什么?

4、SmartCache特性

5、FusionStorage应用场景

6、FusionStorage组件及其作用

7、FusionStorage各组件之间的交互流程

8、VBS间是否需要形成集群?

9、什么是ZK?

10、ZK及MDC的数量

11、MDC可以坏多少个?

12、FusionStorage最多允许坏几块盘

13、FusionStorage如何保障数据的可靠性?

14、FusionStorage整体IO流程

15、FusionStorage的数据重建过程

16、FusionStorage存储池有哪些限制?

17、FusionStorage的部署方式有哪些?

18、FC场景中,怎样通过IP SAN的方式使用FusionStorage?

19、FusionStorage各组件之间的心跳问题

20、FusionStorage都有哪些网络平面,有何作用?


1、华为分布式存储FusionStorage产品特点:

  • 高性能
  • 高可靠
  • 高扩展:可线性扩展至4096节点

2、Server SAN是什么?有何特点?

定义:由多个独立服务器自带的存储组成一个存储资源池,同时融合了计算存储资源

特点:

  • 专有设备变通用设备
  • 计算存储线性扩展
  • 简单管理、低TCO

3、FusionStorage是什么?

  • 它是一款由华为自研的分布式块存储软件
  • 将通用X86服务器的SSD和HDD等存储介质通过分布式技术组织成大规模存储资源池
  • 为虚拟化和非虚拟化之间提供标准的SCSI和iSCSI接口
  • 开放的API

4、SmartCache特性

SmartCache是一种采用SSD盘作为介质提供读缓存的特性,与普通缓存资源RAMCache配合实现了对热点数据的读加速,提高整个存储系统的性能。

  • SmartCache在对SSD盘资源进行管理上,分为智能缓存池和SmartCache分区两部分。
  • 开启SmartCache功能前,数据不区分冷热程度,都存放在机械硬盘中,由于机械硬盘需要占用一定的寻道时间,所以读取数据的时间较长,数据的读写性能不高
  • 开启SmartCache功能后,存储系统将热点数据拷贝至SSD盘组成的智能缓存池中,提高了热点数据的读性能。

5、FusionStorage应用场景

  • 另一类是在企业关键IT基础设施中,通过infiniband(无限带宽技术)进行服务器互联以及SSD做Cache或主存等关键技术,将存储系统的性能和可靠性大大提高,同时又保留了分布式存储的高扩展性,从而支持企业关键业务应用,解决这些关键业务的大数据量需求。
  • 一类是在大规模云计算数据中心中,将通用x86存储服务器池化,建立大规模的分布式存储资源池,提供业界标准的SCSI和iSCSI接口,提供开放的API接口,支持各种虚拟化平台(如Hypervisor)以及各种业界主流的应用(比如MySQL)等。

6、FusionStorage组件及其作用

      FusionStorage属于华为的分布式Server SAN产品,由FSM和FSA组成。

  • FSM:FusionStorage管理模块,提供告警、监控、日志、配置等操作维护功能,一般情况下主备部署
  • OSD:对象存储设备服务,执行具体的IO操作,在每个服务器上部署多个OSD进程,一块磁盘默认部署一个OSD进程,在SSD做主存时,为了充分发挥SSD卡的性能,可以在一张SSD卡上部署多个OSD进程进行管理。
  • VBS:虚拟块存储管理组件,负责卷元数据的管理,提供分布式集群接入点服务,使计算资源能够通过VBS访问分布式存储资源,每个节点上默认部署一个VBS进程,形成VBS集群,也可以部署多个VBS来提升集群IO性能(不推荐部署多台)
  • MDC:元数据控制,实现对分布式集群的状态控制,以及控制数据分布式规则、数据重建规则等;MDC默认部署在三个节点的ZK盘上,形成MDC集群
  • FSA:FusionStorage代理进程,部署在各个节点上,实现节点与FSM的通信,其包含MDC、VBS和OSD三个进程,根据不同的配置要求在不同的节点上启动不同的进程组合来完成特定的功能

7、FusionStorage各组件之间的交互流程

  • 在系统启动时,MDC与ZK互动决定主MDC,当主MDC故障后,其他MDC发现主MDC故障又与ZK互动决定谁成为新的主MDC
  • 主MDC与其它MDC相互监控心跳,由主MDC指定其它MDC是否为归属MDC并告知归属MDC接管那个存储池;主MDC决定归属MDC故障后的接替者,一个MDC最多接管两个存储
  • OSD启动时向MDC查询归属MDC,向归属MDC报告状态,归属MDC把变化状态发送给VBS,OSD与归属MDC会维持心跳关系,归属MDC在5S内未收到OSD的心跳消息会认为OSD异常,更新OSD视图并给每台OSD发送视图变更通知,且更新IO视图发给VBS,在5min内未收到OSD心跳消息会将其踢出集群(存储池)
  • VBS启动时查询主MDC,向主MDC注册(主MDC维护了一个活动VBS的表,主MDC同步VBS列表到其他MDC,以便MDC能将OSD的状态变化通知到VBS),向MDC确认自己是否为leader(领导者),VBS从主MDC获取IO视图,主MDC向OSD获取元数据,其它VBS向主VBS获取元数据。

8、VBS间是否需要形成集群?

  • 需要,VBS在提供块存储服务时,需要模拟出块设备(volume),而具体模拟出怎样的块设备,例如容量、WWN号等,以及在接收到SCSI请求时,将IO切片形成key-value,key组成所需要的treeID、branchID、snapID都保存在卷的元数据卷中;当每一个新卷的创建、快照、删除动作都需要对卷的元数据卷进行写操作,对卷的IO是由VBS完成的,如果所有的VBS都可以对卷进行写操作的话,那么就有可能损坏元数据卷,所以需要选择出单独的VBS,即主VBS来避免该问题;一套FusionStorage中只存在一个主VBS,VBS的主备角色由MDC进程确定,所有VBS通过和MDC间的心跳机制保证系统中出现不会出现双主的情况,只有主VBS能够操作元数据,所以备VBS收到的卷和快照管理类命令需要转发到主VBS上处理,对于挂载、卸载等流程,主VBS完成元数据的操作后还需要将命令转到目标VBS实现卷的挂载、卸载等操作。

9、什么是ZK?

  • zookeeper简称ZK,是一个开源的分布式应用协调系统,用来完成同一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等工作。

10、ZK及MDC的数量

  • ZK数量3/5/7,奇数的原因是因为ZK选举leader(领导者)机制,n+1>n,总结点数:2n+1控制集群创建完成后,数量不可更改;
  • MDC数量3~96个,默认MDC数量为3个(创建MDC集群时与ZK数量一致),MDC数量会随着存储池数量的数量上升而自动扩展;MDC数量=ZK数量+存储池数量,MDC会管理存储池,一个MDC最多管理两个。

11、MDC可以坏多少个?

  • MDC可以坏的数量=MDC总数据-1,即便系统最终只有一个MDC仍可保持正常。

12、FusionStorage最多允许坏几块盘

  • 需要考虑安全级别和副本数,理论上最多可以坏(副本数-1)乘以安全级别内硬盘的数量;如果安全级别为服务器级,有3台服务器,每台服务器有4块硬盘,副本数为2,则可以坏(2-1)*4=4,但这个值是短时间内坏的数量(即数据不能及时修复)
  • 如果考虑数据能及时恢复,可以允许已用空间所对应的最小硬盘数;以上面为例,假设每块硬盘大小为1TB,已用空间为1.8TB,在极端情况下,可以坏3*4-2=10块硬盘

13、FusionStorage如何保障数据的可靠性?

  • 副本机制:数据存储时被分片打乱到多个节点上,这些分片数据支持分布在不同的存储节点和不同的机柜上,同时数据存储时采用多副本技术,支持两副本或三副本,数据会自动保存多份,每一个分片的不同副本也会被分散保存到不同的节点上。
  • 快速数据重建:当硬盘发生故障导致数据不一致时,FusionStorage通过内部的自检机制,通过比较不同节点上的副本分片,自动发现数据故障,然后启动数据修复机制,以此保证数据的安全和可靠性。
  • 掉电保护:系统运行过程中可能会出现服务器突然掉电的异常情况,FusionStorage使用保电介质来保存元数据和缓存数据,以防止掉电数据丢失,FusionStorage支持的保电介质为NVDIMM内存条或SSD。

14、FusionStorage整体IO流程

  • OS收到指令后,通过SCSI或iSCSI传递给VBS,然后通过key-value得出结果后,再由OSD通过SCSI传递给disk。

15、FusionStorage的数据重建过程

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

16、FusionStorage存储池有哪些限制?

  • 每个存储池中的硬盘数量不能少于12块
  • 同一个资源池中的存储节点上缓存的类型必须一致
  • 同一个资源池中的存储节点上缓存的数量必须一致
  • 同一个资源池中的硬盘类型必须一致
  • 同一个资源池中的存储节点上硬盘数量之差不能大于2块

17、FusionStorage的部署方式有哪些?

  • 分离部署
    • ​​​​​​高性能应用场景(如数据库应用)推荐采用分离部署
    • 指的是将VBS和OSD分别部署在不同的服务器中
  • 融合部署
    • 指的是将VBS和OSD部署在同一台服务器中
    • 虚拟化应用推荐采用融合部署的方式部署

18、FC场景中,怎样通过IP SAN的方式使用FusionStorage?

  • 首先,要在FusionStorage中开启iSCSI功能,并进行相应的iSCSI端口配置(存储平面IP)
  • 在FusionCompute中以IP SAN的形式将FusionStorage添加为存储资源并关联CNA主机,获取相应的WWN(iqn)号
  • 在FusionStorage中创建启动器添加CNA主机的iqn号
  • 创建主机并关联启动器
  • 创建卷选择iSCSI协议并映射给创建的主机
  • 在FusionCompute中扫描存储设备并添加数据存储

19、FusionStorage各组件之间的心跳问题

  • ZK与MDC的心跳间隔为1S,ZK在10S内未收到心跳信息则认为MDC异常
  • MDC与VBS的心跳间隔为1S
  • MDC与OSD的心跳间隔为1S,MDC在5S内未收到心跳信息则认为OSD异常,将其踢出资源池(集群),并修改OSD view、IO view和partition view进行引流,若5min内收到心跳则自动进行数据重构。

20、FusionStorage都有哪些网络平面,有何作用?

  • 管理平面:用于FSM与FSA之间的通信
  • 业务平面:用于OS与VBS之间的通信(通信平面)
  • 存储平面:用于MDC、VBS和OSD之间的通信
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐