FusionStorage定义:FusionStorage是为了满足云计算数据中心存储基础设施需求而设计的一种分布式块存储软件,可以将通用X86服务器的本地HDD、SSD等介质通过分布式技术组织成一个大规模存储资源池,对上层的应用和虚机提供工业界标准的SCSI和iSCSI接口,类似一个虚拟的分布式SAN存储。
华为的FusionStorage分布式存储当中存在不少的组件服务,而每个组件之间都有着紧密的联系,下面简单介绍一下有关分布式存储的组件服务。
FSM(FusionStorage Manager):
FSM作为FusionStorage的管理模块,它负责提供系统内的告警、监控、日志、配置等操作维护功能。FusionStorage Manager必须在主备管理节点进行部署;
FSA(FusionStorage Agent):
FSA作为分布式存储中的一个代理模块,主要是充当代理进程的角色关系,部署在各个节点上,实现各个节点上与FSM(FusionStorage Manager)进行通信。FSA包含MDC、VBS和OSD三种不同的进程。根据系统不同配置要求,分别在不同的节点上启用不同的进程组合来完成特定的功能;
MDC(Metadata Controller):
MDC是FusionStorage的元数据控制组件/模块,该组件是业务控制进程,实现对分布式集群的状态控制以及对于控制数据的分布式规则、数据重建规则等。 MDC部署在3个、5个或者7个节点上,形成MDC集群(与华为的FusionCompute集群有相似之处);
ZK(Zookeeper):
Zookeeper是一个分布式协调的框架,可以理解是一个文件系统+通知机制;
文件系统: /zk/data 服务器的某块盘所创建zookeeper的文件系统,所以称zk盘;
通知机制:在服务器上进行登记(Zookeeper服务作为登记表),附带告知提醒功能;
Zookeeper有个重要的特性,整个集群中采用过半存活的机制:
3台服务器。最多坏1台。3/2=1.5 向上取整 2,所以至少2台存活。
4台服务器。最多坏1台。4/2=2,至少2台以上存活。(如果4台,坏2台,4/2=2,存活数量现在=2,不满足过半。)
5台服务器。最多坏2台。5/2=2.5 向上取整 3,所以至少3台存活。
6台服务器。最多坏2台。6/2=3,至少3台以上存活。(如果6台,坏3台,6/2=3,存活数量现在=3,不满足过半。)
通过上述环境,可以看出,zookeeper集群在配置的时候,一般采用单数形式 3节点起步,3,5,7,9这样来配置;
VBS(Virtual Block Service):
VBS是FusionStorage的虚拟块存储管理服务组件,同时也是业务IO进程,主要负责卷和元数据的管理,提供分布式集群的接入点服务,使计算资源能够通过VBS进入访问分布式存储资源。可以在每个服务器上部署一个VBS进程,从而形成VBS集群;
OSD(Object Storage Device):
OSD是FusionStorage的对象存储设备,是业务IO进程,执行具体的I/O操作。其功能是处理VBS下发的IO消息,进行数据冗余保护并持久化到存储介质中。可以在每个服务器上部署多个OSD进程,一块磁盘对应部署一个OSD进程;
最后展示对于FusionStorage分布式存储的架构总结。
图为FusionStorage分布式存储架构的“全家福”