FusionStorage深入剖析
什么是Server San
先了解一下 Server San:是由多个独立服务器自带的存储组成一个存储资源池,同时融合了计算和存储资源 。FusionStorage就是华为的Server San 软件。
Server San 的特点:
1、与硬件解耦,专有设备变通用设备。
2、计算与存储线性扩展 。
为什么需要server san:
1、在传统存储上,组成为控制框+硬盘框的结构完成存储服务,那么,存储的设备则必须要一个厂商的的,否则无法提供存储服务。这种专有单一厂商设备,对用户来说是弊大于利的。而华为FusionStorage分布式存储软件是软件定义存储,只需在通用的物理服务器上部署相应软件,就可以提供储存服务,与厂商无关。
2、对于传统存储来说,瓶颈很大程度上是在控制框上,双控模式下。多套硬盘框使用一套控制框,这大大限制了传统存储的扩容。对于Server San来说,扩容是线性扩展,计算与储存能力一同扩容,理论上节点越多,性能越好。
分布式存储软件系统
分布式存储软件系统的特点:
一、高性能:
分布式哈希数据路由,数据分散存放,实现全局负载均衡,不存在集中的数据热 点,大容量分布式缓存;
二、高可靠:
采用集群管理方式,不存在单点故障,灵活配置多数据副本,不同数据副本存放 在不同的机架、服务器和硬盘上,单个物理设备故障不影响业务的使用,系统检测到设备故障后可 以自动重建数据副本;
三、高扩展:
没有集中式机头,支持平滑扩容,容量几乎不受限制;
四、易管理:
存储软件直接部署在服务器上,没有单独的存储专用硬件设备,通过 Web UI的 方式进行软件管理,配置简单。
华为存储分布式软件-FusionStorage
组件架构:
1、FSM:fusionstorage manager:提供配置,告警,监控等工作,是提供web界面的维护组件。
2、FSA:fusionstorage agent:进程代理,运行在各节点上,实现与FSM通信。FSA 包含MDC、VBS和OSD 三种不同的进程。根据系统不同配置要求,分别在不同的节点上启用不 同的进程组合来完成特定的功能
3、MDC:元数据控制组件,:实现对分布式集群的状态控制,以及控制数据 分布式规则、数据重建规则等。 MDC默认部署在3个节点的 ZK(Zookeeper)盘上,形成 MDC 集群 。
4、VBS:(Virtual Block System)虚拟块存储管理组件,提供存储资源接入服务,默认每个节点部署一个vbs,也可以部署多个vbs提高io性能。
5、OSD(Object Storage Device):对象存储设备服务,执行具体的I/O操作。在每个服务器上 部署多个OSD进程,一块磁盘默认对应部署一个OSD进程。在SSD卡作主存时,为了充分发挥 SSD卡的性能,可以在1 张SSD卡上部署多个OSD 进程进行管理,例如2.4TB 的SSD卡可以部 署6个OSD进程,每个OSD进程负责管理400GB
VBS组件内部模块介绍:
vbs-scsi:负责将io引入
vbs-vbp:将系统通用的块格式转化为fusionstorage内部的key-volue格式。
vbs-client:进行哈希计算得出数据的partion信息
vbs-vbm:负责卷快照管理工作
OSD组件内部模块介绍:
osd-rsm:内部的复制协议,负责副本双写。
osd-snap:负责卷和快照io功能,对磁盘快照管理。
osd-cache:负责缓存机制功能
osd-aio;实现io下发到osd-smio模块
osd-smio:负责io写入。
fusionstorage视图信息
fusionstorage视图信息: mdc进行管理,保存在zk盘中。
1、osd view:保存着 osd的状态信息
2、io view:负责记录 osd与partion之间的信息
3、partion view:负责记录主osd 与备osd之间的信息
fusionstorage强一致性机制:
fusionstorage系统为了保证系统访问的数据都是最新的数据,采用了强一致性机制,就是当主osd写完成后,不会进行反馈写完成,会等待备osd写完成后,在进行反馈写完成,由osd的rsm模块实现。保证所有副本的数据都是最新的。
fusionstorage数据重建机制:
相比较传统存储的数据重建速度大大提升,因为内部数据都是打散存放的,所有当有硬盘故障时,其故障数据的所在节点都进行数据恢复,采用平行的方式进行数据重建。
fusionstorage的副本机制:
用于数据保护,有两副本和三副本机制,最低两副本。所谓副本机制就是数据写几份用于数据保护,二副本就是将数据写两分,三副本就是写三份。按照副本机制,数据存放在不同硬盘,不同服务器,不同机柜中,更加高效的保护数据。
Fusionstoraged的部署方式:
1、融合部署:
vbs 与 osd 部署在同一个节点上。
优点:vbs与osd部署在一起,可以节省部署成本,资源利用率高
缺点:vbs与osd部署在一起 那么osd也会占用计算节点的资源。所以不太适合数据库等对存储要求较高的场景。
应用场景:小规模的私有云场景,对存储性能较低的场景。
2、分离部署:
vbs与osd分开在不同的节点上。
优点:分开部署,提高存储的性能,计算节点和存储节点都是独立,不会出现资源抢占,计算节点故障不会影响存储节点可靠性高
缺点:存储节点单独部署,不能充分利用资源
应用场景:对存储性能较高的场景:数据库,公有云。
上一篇: 使用GRE建立VPN隧道
下一篇: OSPF 八种状态机