基于云存储的多节点混合块缓存数据读写方法及系统技术方案

技术编号:15329012 阅读:98 留言:0更新日期:2017-05-16 12:47
本发明专利技术实施例公开了一种基于云存储的多节点混合块缓存数据读写方法及系统。该方法包括:任一缓存客户端接收虚拟磁盘设备发出的通用块层读写请求,其中虚拟磁盘设备由该缓存客户端的本地缓存磁盘、与该缓存客户端位于同一局域网内的其它缓存客户端和元数据服务器端的源存储磁盘映射得到,所述通用层读写请求中包含读写磁盘起始扇区位置;该缓存客户端采用预定义的缓存策略将所述通用块层读写请求转发到相应物理磁盘设备进行处理。本发明专利技术实施例提供一种适用于多虚拟机实例共享使用多结点网络混合缓存系统,实现虚拟机实例对块级别云存储的读写性能的改进,最终实现云存储I/O性能的总体提升,保证整个云存储系统的稳定、安全运行。

Method and system for reading and writing multi node mixed block cache data based on cloud storage

The embodiment of the invention discloses a multi node mixed block cache data read-write method and system based on cloud storage. The method includes: receiving a client cache any virtual disk device layer universal block read and write requests, the virtual disk device from the source storage disk mapping local cache disk, the cache and the client cache of clients in the same LAN client and other cache metadata server, the general level of reading and writing request contains the read and write disk starting sector position; the client cache cache strategy by predefined the general block read and write requests are forwarded to the corresponding physical disk devices for processing. The embodiment of the invention provides a virtual machine for multi instance multi node network sharing using hybrid cache system, realize the improvement of the block level cloud storage read and write performance of the virtual machine instance, and ultimately enhance the overall performance of the I/O cloud storage, cloud storage system to ensure the stable and safe operation.

【技术实现步骤摘要】
基于云存储的多节点混合块缓存数据读写方法及系统
本专利技术实施例涉及云存储
,尤其涉及基于云存储的多节点混合块缓存数据读写方法及系统。
技术介绍
云计算是一种利用虚拟化技术,通过互联网向用户提供可动态扩展共享软硬件资源的服务。云计算的动态、弹性等特性使得用户能够按需使用并按使用资源数量付费,用户可以依据当前服务的负载情况,动态调整资源使用量,以减少资源浪费。云存储系统是云计算系统的一个重要组成部分。从技术的角度说,云存储系统实际上就是一个大型的分布式的网络存储系统,它是一种特殊的共享存储。实际使用的云存储系统主要可以分为对象存储和块存储两类。其中块存储(Cinder)主要用于向虚拟机实例提供扩展的磁盘存储空间,并具有持久化的数据存储特性,其后端可通过drivers支持多种存储,如Ceph、NetApp、OceanStor、Nexenta、SolidFire以及Zadara等。现今的云计算系统往往拥有多个大型数据中心,均有各自的块级别云存储子系统,并分布于多地。由于两个数据中心之间的网络带宽限制,当虚拟机实例与云存储子系统处在不同数据中心时,将严重影响存储系统的I/O性能,影响虚拟机实例的稳定运行,最终影响虚拟机实例的稳定高效运行。
技术实现思路
本专利技术实施例提供基于云存储的多节点混合块缓存数据读写方法及系统,以提高缓存数据读写的效率。一方面,本专利技术实施例提供了一种基于云存储的多节点混合块缓存数据读写方法,包括:任一缓存客户端接收虚拟磁盘设备发出的通用块层读写请求,其中虚拟磁盘设备由该缓存客户端的本地缓存磁盘、与该缓存客户端位于同一局域网内的其它缓存客户端和元数据服务器端的源存储磁盘映射得到,所述通用层读写请求中包含读写磁盘起始扇区位置;该缓存客户端采用预定义的缓存策略将所述通用块层读写请求转发到相应物理磁盘设备进行处理。另一方面,本专利技术实施例还提供了基于云存储的多节点混合块缓存数据读写系统,包括元数据服务器端和多个位于同一局域网内的缓存客户端;缓存客户端用于接收虚拟磁盘设备发出的通用块层读写请求,并采用预定义的缓存策略将所述通用块层读写请求转发到相应物理磁盘设备进行处理,所述通用层读写请求中包含读写磁盘起始扇区位置;其中虚拟磁盘设备由该缓存客户端的本地缓存磁盘、与该缓存客户端位于同一局域网内的其它缓存客户端和元数据服务器端的源存储磁盘映射得到,所述通用层读写请求中包含读写磁盘起始扇区位置。本专利技术实施例提供的技术方案,针对网络带宽对分布式云存储产生的数据读写这一瓶颈问题,提出在局域网模式上,采用多节点混合块缓冲数据读写的方法,实现对块级别云存储的读写性能的改进,最终实现云存储I/O性能的总体提升,保证整个云存储系统的稳定、安全运行。附图说明图1为本专利技术实施例一中提供的一种基于云存储的多节点混合块缓存数据读写方法的流程图;图2为本专利技术实施例中提供的基于云存储的多节点混合块缓存数据读写系统的框架图;图3为本专利技术实施例中提供的元数据服务器端的结构图;图4为本专利技术实施例中提供的缓存客户端的结构图;图5为本专利技术实施例中提供的缓存写入策略示意图;图6为本专利技术实施例中提供的测试环境拓扑图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。图1为本专利技术实施例中提供的一种基于云存储的多节点混合块缓存数据读写方法的流程图。本实施例的方法可以由基于云存储的多节点混合块缓存数据读写系统执行。参考图1,该基于云存储的多节点混合块缓存数据读写方法具体可以包括如下:步骤11、任一缓存客户端接收虚拟磁盘设备发出的通用块层读写请求。其中,虚拟磁盘设备由该缓存客户端的本地缓存磁盘、与该缓存客户端位于同一局域网内的其它缓存客户端和元数据服务器端的源存储磁盘映射得到,所述通用层读写请求中包含读写磁盘起始扇区位置。参考图2,该缓存系统可以包括一个元数据服务器端以及多个位于同一局域网内的缓存客户端。元数据服务器端内的源存储磁盘由外部网络通过iSCSI(InternetSmallComputerSystemInterface,小型计算机系统接口)协议连接到局域网内所有缓存客户端,供所有缓存客户端共享使用。各缓存客户端的本地缓存磁盘同样通过iSCSI协议连接到其它缓存客户端,供其它缓存客户端对远端缓存数据进行读写。并且,各缓存客户端使用缓存客户端程序将本地缓存磁盘、多个远端缓存磁盘(即局域网中的其它缓存客户端节点,可以是一个服务器或多个磁盘阵列)以及源存储磁盘映射成为一个带有缓存功能的虚拟磁盘设备。此虚拟磁盘设备与源存储磁盘拥有相同容量,用户使用虚拟磁盘设备替代源存储磁盘。缓存客户端程序将该虚拟磁盘设备的块I/O转发,由相应缓存磁盘或源存储磁盘进行处理,实现缓存功能。参考图3,元数据服务器端主要为各缓存客户端提供所有缓存客户端节点的缓存命中情况查询功能,通过同步请求实现与各缓存客户端的元数据同步。而缓存客户端则负责实现实际的缓存功能通过预定义的缓存策略及与元数据服务器端通信实现缓存功能。元数据服务器端负责集中处理各缓存客户端的元数据并提供缓存命中查询服务。元数据服务器端的实现主要包括三个步骤:第一、初始化配置。元数据服务器端在初始化时记录各缓存客户端的缓存块大小、缓存块数量、缓存写入策略等缓存参数,以及各缓存客户端节点编号、IP地址等配置信息。第二、元数据同步。存储各缓存客户端节点中与缓存命中查询相关的部分元数据(包括各缓存块的状态信息、缓存块对应的源存储磁盘起始扇区信息等),元数据服务器端通过接收各缓存客户端的元数据同步请求,进行服务器端的元数据更新操作。第三,缓存命中查询。元数据服务器向各缓存客户端提供缓存命中查询服务,接收缓存客户端的查询请求(包括缓存块的起始扇区信息等)并返回查询结果(缓存块所在的客户端编号、状态信息等)。缓存的元数据服务器端与客户端的元数据同步以及缓存命中查询均通过UDP(UserDatagramProtocol,用户数据报协议)通信协议实现。参考图4,缓存客户端负责实际缓存功能,根据预设的缓存策略进行缓存操作。缓存客户端的实现主要包括三部分:第一,初始化配置。与元数据服务器相同,缓存客户端首先在初始化时记录缓存块大小、缓存块数量、缓存写入策略等缓存参数,以及各缓存客户端节点编号和对应远端缓存磁盘设备信息。第二,元数据同步。各缓存客户端将各自的本地缓存元数据信息放入内核内存中,并将缓存命中查询相关的部分元数据同步至元数据服务器端。缓存客户端在本地缓存元数据发生变更后,立即向元数据服务器端发送元数据同步信息。各缓存客户端同时接收并处理元数据服务器端对本地缓存元数据的修改请求。第三,缓存实现。为实现缓存功能,各缓存客户端利用LinuxDeviceMapper机制,将本地缓存磁盘、多个远端缓存磁盘及源存储磁盘映射为一个带缓存功能的虚拟磁盘设备。对于此虚拟磁盘设备的块I/O,缓存客户端查询本地及远端缓存元数据,并根据预定义的缓存策略,将虚拟磁盘设备发出的通用块层bio(块设备的io请求)转发到相应物理磁盘设备进行处理。针对缓存功能的实现还包括以下五个要点:(本文档来自技高网...
基于云存储的多节点混合块缓存数据读写方法及系统

【技术保护点】
基于云存储的多节点混合块缓存数据读写方法,其特征在于,包括:任一缓存客户端接收虚拟磁盘设备发出的通用块层读写请求,其中虚拟磁盘设备由该缓存客户端的本地缓存磁盘、与该缓存客户端位于同一局域网内的其它缓存客户端和元数据服务器端的源存储磁盘映射得到,所述通用层读写请求中包含读写磁盘起始扇区位置;该缓存客户端采用预定义的缓存策略将所述通用块层读写请求转发到相应物理磁盘设备进行处理。

【技术特征摘要】
1.基于云存储的多节点混合块缓存数据读写方法,其特征在于,包括:任一缓存客户端接收虚拟磁盘设备发出的通用块层读写请求,其中虚拟磁盘设备由该缓存客户端的本地缓存磁盘、与该缓存客户端位于同一局域网内的其它缓存客户端和元数据服务器端的源存储磁盘映射得到,所述通用层读写请求中包含读写磁盘起始扇区位置;该缓存客户端采用预定义的缓存策略将所述通用块层读写请求转发到相应物理磁盘设备进行处理。2.根据权利要求1所述的方法,其特征在于,该缓存客户端采用预定义的缓存策略将所述通用块层读写请求转发到相应物理磁盘设备进行处理,包括:该缓存客户端依据读写磁盘起始扇区位置、预设的缓存块掩码以及缓存相联度,确定目标缓存块;该缓存客户端通过本地缓存磁盘的元数据或元数据服务器端对目标缓存块进行缓存命中查询,确定所述通用块层读写请求的相应物理磁盘;该缓存客户端将所述通用块层读写请求转发到相应物理磁盘设备进行处理。3.根据权利要求2所述的方法,其特征在于,该缓存客户端依据读写磁盘起始扇区位置、预设的缓存块掩码以及缓存相联度,确定目标缓存块,包括:该缓存客户端依据读写磁盘起始扇区位置和预设的缓存块掩码,得到读写请求数据对应数据块在源存储磁盘中的起始扇区位置;该缓存客户端依据所述数据块在源存储磁盘中的起始扇区位置,计算所述数据块对应缓存组号;该缓存客户端依据所述数据块对应缓存组号以及缓存相联度,确定所述缓存组的起始缓存块编号;该缓存客户端依据所述起始缓存块编号和所述缓存相联度确定目标缓存块。4.根据权利要求2所述的方法,其特征在于,该缓存客户端通过元数据服务器端对目标缓存块进行缓存命中查询,确定所述通用块层读写请求的相应物理磁盘,包括:...

【专利技术属性】
技术研发人员:邓篪
申请(专利权)人:柏域信息科技上海有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1