1. FusionStorage
华为FusionStorage Block分布式存储软件为核心的分布式存储系统解决方案,该解决方案专门为云计算环境和企业关键应用而设计,融合了分布式哈希数据路由、分布式缓存、全局负载均衡、及多重数据保护等诸多存储技术
FusionStorage Block是华为分布式存储系统解决方案的核心部件,在通用x86服务器上部署该软件把所有服务器为资源池提供容量的硬盘组织成一个虚拟存储资源池,基于资源池提供创建/删除应用卷(Volume)、创建/删除快照等接口,为上层软件提供卷设备功能。
2. 功能模块
存储接口层:通过SCSI/iSCSI驱动接口向操作系统、数据库提供卷设备。
存储服务层:提供各种存储高级特性,如快照、链接克隆、精简配置、分布式cache、容灾备份等。
存储引擎层:FusionStorage Block存储基本功能,包括管理状态控制、分布式数据路由、强一致性复制技术、集群故障自愈与并行数据重建子系统等。
存储管理层:实现FusionStorage Block软件的安装部署、自动化配置、在线升级、告警、监控和日志等OM功能,同时对用户提供Portal界面。
3. 逻辑架构图
4. cache读写流程
采用多级cache机制提升存储IO性能
4.1. 写
write-back模式,先写缓存,批量写入磁盘,设置刷盘水位和刷盘周期,满足其一条件就执行刷盘操作
写顺序:内存cache -> SSD写cache -> HDD
4.2. 读
分层机制:
- 第一层,内存cache:LRU缓存数据
- 第二层,SSD cache:热点读机制,达到热点阈值,缓存到ssd中,同时淘汰冷数据;支持预读机制,统计读数据的相关性,读取某块数据时自动将相关性高的块读出并缓存到SSD中
读的顺序:内存cache -> SSD读cache -> SSD写cache -> HDD
5. 系统读写流程
5.1. 读
- APP下发读IO请求到OS,OS转发该IO请求到本服务器的VBS模块;VBS根据读IO信息中的LUN和LBA信息,通过数据路由机制确定数据所在的Primary OSD;如果此时Primary OSD故障,VBS会选择secondary OSD读取所需数据;
- Primary OSD接收到读IO请求后,按照Cache机制中的“Read cache机制”获取到读IO所需数据,并返回读IO成功给VBS;
5.2. 写
- 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中的数据会异步刷入到硬盘;
- VBS返回写IO成功;
注:如果是3副本场景,primary OSD会同时同步写IO操作到secondary OSD和third OSD;
6. 特性
6.1. SCSI / iSCSI 块接口
FusionStorage Block通过VBS以SCSI或iSCSI方式(注:iSCSI仅用于对接VMware vSphere场景)提供块接口。
- SCSI方式可为安装VBS的本机提供存储访问,物理部署、FusionSphere或KVM等采用SCSI方式。
- iSCSI方式可为安装VBS以外的虚拟机或主机提供存储访问,VMWare、MS SQL Server集群采用iSCSI模式。
6.2. 精简配置
精简配置功能,为应用提供比实际物理存储更多的虚拟存储资源。相比直接分配物理存储资源,可以显著提高存储空间利用率。
采用DHT路由技术,系统无需使用专门的集中元数据来记录卷的精简分配情况,和传统SAN相比,不会带来性能下降。
6.3. 快照
快照机制,将用户的卷数据在某个时间点的状态保存下来,后续可以作为导出数据、恢复数据之用。
FusionStorage Block快照数据在存储时采用ROW(Redirect-On-Write)机制,快照不会引起原卷性能下降。
6.4. 链接克隆
链接克隆机制,支持基于一个卷快照创建出多个克隆卷,各个克隆卷刚创建出来时的数据内容与卷快照中的数据内容一致,后续对于克隆卷的修改不会影响到原始的快照和其他克隆卷。
6.5. 弹性扩展
分布式架构,支持无性能损耗的弹性扩展
6.6. 高可靠
采用集群管理方式,从架构上保证了系统不会出现单点故障,一个节点或者一块硬盘故障自动从集群内隔离出来,不影响整个系统业务的使用。
使用ZK为MDC提供选主,manager采用主备模式,数据采用多副本模式。
6.7. 多资源池
TOBEADD