CN109343801B - 数据存储方法、设备及计算机可读存储介质 - Google Patents

数据存储方法、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN109343801B
CN109343801B CN201811238872.6A CN201811238872A CN109343801B CN 109343801 B CN109343801 B CN 109343801B CN 201811238872 A CN201811238872 A CN 201811238872A CN 109343801 B CN109343801 B CN 109343801B
Authority
CN
China
Prior art keywords
data storage
ceph
ceph cluster
cluster
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811238872.6A
Other languages
English (en)
Other versions
CN109343801A (zh
Inventor
杨耿丹
饶俊明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201811238872.6A priority Critical patent/CN109343801B/zh
Publication of CN109343801A publication Critical patent/CN109343801A/zh
Application granted granted Critical
Publication of CN109343801B publication Critical patent/CN109343801B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据存储方法。该数据存储方法包括:在接收到客户端发起的数据存储请求时,确定所述客户端的操作系统类型,并按预设规则在预先构建的各分布式存储Ceph集群中筛选得到推荐Ceph集群;根据所述操作系统类型得到对应的存储驱动类型,并根据所述存储驱动类型确定对应的数据存储策略;依据所述数据存储策略和所述推荐Ceph集群执行数据存储操作。本发明还公开了一种数据存储设备及计算机可读存储介质。本发明能够解决低版本操作系统与存储软件兼容难的问题。

Description

数据存储方法、设备及计算机可读存储介质
技术领域
本发明涉及文件系统存储技术领域,尤其涉及一种数据存储方法、设备及计算机可读存储介质。
背景技术
随着信息社会的迅猛发展,企业对大容量存储的需求越来越大,而商业存储十分昂贵,远不能满足企业对存储的需求。目前通常是直接使用Ceph分布式存储系统其中的Cephfs(Ceph file system,分布式存储文件系统)存储数据,以解决企业PB(petabyte,拍字节)级容量需求。然而,对于较低版本的操作系统,Cephfs客户端软件已经不提供升级,将影响其后续使用。因此,现有技术中存在低版本操作系统与存储软件兼容难的问题。
发明内容
本发明的主要目的在于提供一种数据存储方法、设备及计算机可读存储介质,旨在解决低版本操作系统与存储软件兼容难的问题。
为实现上述目的,本发明提供一种数据存储方法,所述数据存储方法包括:
在接收到客户端发起的数据存储请求时,确定所述客户端的操作系统类型,并按预设规则在预先构建的各分布式存储Ceph集群中筛选得到推荐Ceph集群;
根据所述操作系统类型得到对应的存储驱动类型,并根据所述存储驱动类型确定对应的数据存储策略;
依据所述数据存储策略和所述推荐Ceph集群执行数据存储操作。
可选地,当所述存储驱动类型为分布式存储文件系统Cephfs存储驱动时,所述依据所述数据存储策略和所述推荐Ceph集群执行数据存储操作的步骤,包括:
对所述推荐Ceph集群进行划卷并配置容量,得到卷的信息,并随机生成用户名和密钥文件;
将所述卷的信息、所述用户名和所述密钥文件发送至所述客户端,以使得所述客户端基于所述用户名和密钥文件登录后,将数据挂载至与所述卷的信息对应的文件目录中。
可选地,当所述存储驱动类型为网络文件系统nfs存储驱动时,所述依据所述数据存储策略和所述推荐Ceph集群执行数据存储操作的步骤,还包括:
对所述推荐Ceph集群进行划卷并配置容量,得到卷的信息,将所述卷的信息通过预设的ganesha集群转换成nfs协议格式的卷的信息;
将转换后的卷的信息发送至所述客户端,以使得所述客户端将数据挂载至与所述转换后的卷的信息对应的文件目录中。
可选地,所述按预设规则在预先构建的各分布式存储Ceph集群中筛选得到推荐Ceph集群的步骤包括:
根据所述数据存储请求确定待存储数据量;
获取预先构建的各Ceph集群的剩余容量,筛选出所述剩余容量大于所述待存储数据量的Ceph集群,记为待选Ceph集群;
获取各待选Ceph集群的服务器参数,根据所述服务器参数得到各待选Ceph集群的得分,并将所述得分中最大值对应的待选Ceph集群确定为推荐Ceph集群。
可选地,所述获取各待选Ceph集群的服务器参数,根据所述服务器参数得到各待选Ceph集群的得分的步骤,包括:
获取各待选Ceph集群的服务器参数,所述服务器参数包括对象存储设备服务器的集群空间使用率和磁盘繁忙率、元数据服务器的CPU使用率及监控服务器的CPU使用率;
根据所述对象存储设备服务器的集群空间使用率和磁盘繁忙率、元数据服务器的CPU使用率及监控服务器的CPU使用率及各自对应的预设权重系数计算加权和,并将所述加权和作为所述待选Ceph集群的得分。
可选地,所述数据存储方法还包括:
获取各Ceph集群中各磁盘的磁盘空间使用率,及各Ceph集群中的监控服务器的监控数据;
根据所述各Ceph集群中各磁盘的磁盘空间使用率、所述监控数据检测是否存在满足预设条件的Ceph集群;
若存在,则调整满足所述预设条件的Ceph集群中对应磁盘的权重,以使得所述Ceph集群根据调整后的磁盘的权重确定存储数据的磁盘分布。
可选地,所述数据存储方法还包括:
每隔预设周期获取各Ceph集群的已使用空间和原始存储空间,根据所述已使用空间和原始存储空间计算对应的总空间使用率;
判断所述总空间使用率是否超过预设阈值;
若是,则生成对应的提示信息,并发送至对应的管理端,以提示管理人员进行扩容处理。
可选地,所述在接收到客户端发起的数据存储请求时,确定所述客户端的操作系统类型,并按预设规则在预先构建的各分布式存储Ceph集群中筛选得到推荐Ceph集群的步骤之前,还包括:
获取各服务器的互联网协议IP地址,根据所述IP地址确定对应的物理位置;
根据所述物理位置对各服务器进行划分,以构建各Ceph集群。
此外,为实现上述目的,本发明还提供一种数据存储设备,所述数据存储设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据存储程序,所述数据存储程序被所述处理器执行时实现如上所述的数据存储方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据存储程序,所述数据存储程序被处理器执行时实现如上所述的数据存储方法的步骤。
本发明提供一种数据存储方法、设备及计算机可读存储介质,在接收到客户端发起的数据存储请求时,获取客户端的操作系统类型,同时按预设规则在预先构建的各分布式存储Ceph集群中筛选得到推荐Ceph集群;根据操作系统类型得到对应的存储驱动类型,根据所述存储驱动类型确定对应的数据存储策略,依据该数据储存策略和推荐Ceph集群执行数据存储操作。本发明通过平台设备对Ceph集群进行统一的管理,还提供多种存储驱动方式,根据不同的操作系统类型确定不同的存储驱动类型,进而确定对应的数据存储策略,同时计算出推荐Ceph集群,基于数据存储策略和推荐Ceph集群执行数据存储操作,即使低版本操作系统,也能在平台设备中进行统一管理实现兼容,从而解决低版本操作系统的兼容问题,此外,基于预设算法确定推荐Ceph集群,可提高Ceph集群选择的合理性和准确性。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的终端结构示意图;
图2为本发明数据存储方法第一实施例的流程示意图;
图3为本发明数据存储方法第二实施例的流程示意图;
图4为本发明数据存储方法第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端是数据存储设备,该设备可以为服务器、PC(PersonalComputer,个人计算机)等。
如图1所示,该终端可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如Wi-Fi接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据存储程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据存储程序,并执行以下操作:
在接收到客户端发起的数据存储请求时,确定所述客户端的操作系统类型,并按预设规则在预先构建的各分布式存储Ceph集群中筛选得到推荐Ceph集群;
根据所述操作系统类型得到对应的存储驱动类型,并根据所述存储驱动类型确定对应的数据存储策略;
依据所述数据存储策略和所述推荐Ceph集群执行数据存储操作。
进一步地,当所述存储驱动类型为分布式存储文件系统Cephfs存储驱动时,处理器1001可以调用存储器1005中存储的数据存储程序,还执行以下操作:
对所述推荐Ceph集群进行划卷并配置容量,得到卷的信息,并随机生成用户名和密钥文件;
将所述卷的信息、所述用户名和所述密钥文件发送至所述客户端,以使得所述客户端基于所述用户名和密钥文件登录后,将数据挂载至与所述卷的信息对应的文件目录中。
进一步地,当所述存储驱动类型为网络文件系统nfs存储驱动时,处理器1001可以调用存储器1005中存储的数据存储程序,还执行以下操作:
对所述推荐Ceph集群进行划卷并配置容量,得到卷的信息,将所述卷的信息通过预设的ganesha集群转换成nfs协议格式的卷的信息;
将转换后的卷的信息发送至所述客户端,以使得所述客户端将数据挂载至与所述转换后的卷的信息对应的文件目录中。
进一步地,处理器1001可以调用存储器1005中存储的数据存储程序,还执行以下操作:
根据所述数据存储请求确定待存储数据量;
获取预先构建的各Ceph集群的剩余容量,筛选出所述剩余容量大于所述待存储数据量的Ceph集群,记为待选Ceph集群;
获取各待选Ceph集群的服务器参数,根据所述服务器参数得到各待选Ceph集群的得分,并将所述得分中最大值对应的待选Ceph集群确定为推荐Ceph集群。
进一步地,处理器1001可以调用存储器1005中存储的数据存储程序,还执行以下操作:
获取各待选Ceph集群的服务器参数,所述服务器参数包括对象存储设备服务器的集群空间使用率和磁盘繁忙率、元数据服务器的CPU使用率及监控服务器的CPU使用率;
根据所述对象存储设备服务器的集群空间使用率和磁盘繁忙率、元数据服务器的CPU使用率及监控服务器的CPU使用率及各自对应的预设权重系数计算加权和,并将所述加权和作为所述待选Ceph集群的得分。
进一步地,处理器1001可以调用存储器1005中存储的数据存储程序,还执行以下操作:
获取各Ceph集群中各磁盘的磁盘空间使用率,及各Ceph集群中的监控服务器的监控数据;
根据所述各Ceph集群中各磁盘的磁盘空间使用率、所述监控数据检测是否存在满足预设条件的Ceph集群;
若存在,则调整满足所述预设条件的Ceph集群中对应磁盘的权重,以使得所述Ceph集群根据调整后的磁盘的权重确定存储数据的磁盘分布。
进一步地,处理器1001可以调用存储器1005中存储的数据存储程序,还执行以下操作:
每隔预设周期获取各Ceph集群的已使用空间和原始存储空间,根据所述已使用空间和原始存储空间计算对应的总空间使用率;
判断所述总空间使用率是否超过预设阈值;
若是,则生成对应的提示信息,并发送至对应的管理端,以提示管理人员进行扩容处理。
进一步地,处理器1001可以调用存储器1005中存储的数据存储程序,还执行以下操作:
获取各服务器的互联网协议IP地址,根据所述IP地址确定对应的物理位置;
根据所述物理位置对各服务器进行划分,以构建各Ceph集群。
基于上述硬件结构,提出本发明数据存储方法实施例。
本发明提供一种数据存储方法。
参照图2,图2为本发明数据存储方法第一实施例的流程示意图。
在本实施例中,该数据存储方法包括:
步骤S10,在接收到客户端发起的数据存储请求时,确定所述客户端的操作系统类型,并按预设规则在预先构建的各分布式存储Ceph集群中筛选得到推荐Ceph集群;
在本实施例中,在上述步骤S10之前,该数据存储方法还包括:
获取各服务器的互联网协议IP地址,根据所述IP地址确定对应的物理位置;
根据所述物理位置对各服务器进行划分,以构建各Ceph集群。
目前,通常是直接使用Ceph分布式存储系统中的Cephfs(Ceph file system,分布式存储文件系统)存储数据,以解决企业PB(petabyte,拍字节)级容量需求。然而,对于较低版本的操作系统,Cephfs客户端软件已经不提供升级,将影响其后续使用。因此,直接使用Cephfs这种方式,存在低版本操作系统与存储软件兼容难的问题。因此,本发明通过数据存储设备来管理多套分布在不同TOR(Top of Rack,一种数据中心的布线方式)下的分布式存储Ceph集群,可实现对Ceph集群的同一管理;此外,本发明根据不同的操作系统类型确定不同的存储驱动类型,进而执行对应的数据存储策略,同时计算出推荐Ceph集群,基于数据存储策略和推荐Ceph集群执行数据存储操作,可解决上述缺陷。
在本实施例中,首先需构建分布式存储Ceph集群,具体的,可先获取各服务器的IP地址(Internet Protocol Address,互联网协议地址),根据IP地址和预设的映射关系表确定各服务器对应的物理位置,该映射关系表中包括IP地址与物理位置之间的映射关系。然后基于物理位置对各服务器进行划分,将物理位置属于同一机房的服务器划分为一个Ceph集群,从而可构建出多个Ceph集群。
由于现有技术中,直接使用Cephfs方式存在低版本操作系统与存储软件兼容难的问题,因此在接收到客户端发起的数据存储请求时,首先获取客户端的操作系统类型,以便于后续根据该操作系统类型确定对应的存储驱动策略,选择合适的方式进行数据存储。同时,在接收到数据存储请求时,按预设规则在预先构建的各分布式存储Ceph集群中筛选得到推荐Ceph集群。
所述“按预设规则在预先构建的各分布式存储Ceph集群中筛选得到推荐Ceph集群”的步骤包括:
步骤a1,根据所述数据存储请求确定待存储数据量;
步骤a2,获取预先构建的各Ceph集群的剩余容量,筛选出所述剩余容量大于所述待存储数据量的Ceph集群,记为待选Ceph集群;
步骤a3,获取各待选Ceph集群的服务器参数,根据所述服务器参数得到各待选Ceph集群的得分,并将所述得分中最大值对应的待选Ceph集群确定为推荐Ceph集群。
在接收到数据存储请求时,先根据该数据存储请求确定待存储数据量,待存储数据量即为客户所需存储的数据的大小;然后获取预先构建的各Ceph集群的剩余容量,筛选出剩余容量大于待存储数据量的Ceph集群,记为待选Ceph集群;进而获取各待选Ceph集群的服务器参数,根据服务器参数通过预设的计算方法计算得到各待选Ceph集群的得分,然后将最大得分所对应的待选Ceph集群确定为推荐Ceph集群。
进一步地,为了便于后续维护不同操作系统类型的数据,可选将步骤a2替换成以下步骤:
获取预先构建的各Ceph集群的剩余容量,并在所述存储驱动类型对应的Ceph集群中筛选出所述剩余容量大于所述待存储数据量的Ceph集群,记为待选Ceph集群。
需要说明,这种情况下,待选Ceph集群就是当前的存储驱动类型对应的集群,后续得到的推荐Ceph集群也是当前的存储驱动类型对应的集群,这样子不同操作系统类型的数据就可以存储到不同的集群中,便于维护不同操作系统类型的数据。
其中,所述“获取各待选Ceph集群的服务器参数,根据所述服务器参数得到各待选Ceph集群的得分”的步骤包括:
获取各待选Ceph集群的服务器参数,所述服务器参数包括对象存储设备服务器的集群空间使用率和磁盘繁忙率、元数据服务器的中央处理器CPU使用率及监控服务器的CPU使用率;
根据所述对象存储设备服务器的集群空间使用率和磁盘繁忙率、元数据服务器的CPU使用率及监控服务器的CPU使用率及各自对应的预设权重系数计算加权和,并将所述加权和作为所述待选Ceph集群的得分。
具体的,待选Ceph集群的得分的计算方法如下:
先获取待选Ceph集群的服务器参数,该服务器参数包括对象存储设备服务器(osdserver,object storage device server)的集群空间使用率和磁盘繁忙率、元数据服务器(metadata server)的CPU(Central Processing Unit,中央处理器)使用率及监控服务器(monitor server)的CPU使用率,其中,对象存储设备服务器的集群空间使用率的获取方式为:先获取Ceph集群中各对象存储设备服务器中各磁盘的已使用空间和原始存储空间,进而对各对象存储设备服务器中各磁盘的已使用空间进行加和以得到该Ceph集群中对象存储设备服务器的集群已使用空间,对各对象存储设备服务器中各磁盘的原始存储空间进行加和以得到该Ceph集群中对象存储设备服务器的集群原始存储空间,对象存储设备服务器的集群空间使用率=对象存储设备服务器的集群已使用空间/对象存储设备服务器的集群原始存储空间。对象存储设备服务器的磁盘繁忙率获取方式为:先获取Ceph集群中各对象存储设备服务器中各磁盘的IOPS(Input/Output Operations Per Second,每秒进行读写操作的次数)值,进行加和得到该Ceph集群中对象存储设备服务器的IOPS值;然后获取预设时间段(如1周)内该Ceph集群中各对象存储设备服务器中各磁盘的实际IOPS值,得到该Ceph集群中对象存储设备服务器的实际平均IOPS值;对象存储设备服务器的磁盘繁忙率=对象存储设备服务器的实际平均IOPS值/对象存储设备服务器的IOPS值。元数据服务器的CPU使用率的获取,是先按上述方式,计算得到各元数据服务器的磁盘繁忙率,然后获取磁盘繁忙率最大值所对应的元数据服务器的CPU使用率。监控服务器的CPU使用率,是先按上述方式,计算得到各监控服务器的磁盘繁忙率,然后获取磁盘繁忙率最大值所对应的监控据服务器的CPU使用率。
然后根据对象存储设备服务器的集群空间使用率和磁盘繁忙率、元数据服务器的CPU使用率及监控服务器的CPU使用率及各自分别对应的预设权重系数计算加权和,该加权和即为该待选Ceph集群的得分。
在具体实施例中,待选Ceph集群的得分的计算方法还可以为:根据各项服务器参数所在的大小的区间确定各项服务器参数的分数,然后根据各项服务器参数的分数及各项服务器参数分别对应的预设权重系数计算加权和,该加权和即为待选Ceph集群的得分。
在计算出各待选Ceph集群的得分之后,将最大得分所对应的待选Ceph集群确定为推荐Ceph集群。基于上述算法确定推荐Ceph集群,可提高Ceph集群选择的合理性和准确性。
此外,还可以通过下述方式筛选得到推荐Ceph集群。具体的,在接收到数据存储请求时,先根据该数据存储请求确定待存储数据量,待存储数据量即为客户所需存储的数据的大小;然后获取预先构建的各Ceph集群的剩余容量,筛选出剩余容量大于待存储数据量的Ceph集群,记为待选Ceph集群;然后从待选Ceph集群中选取剩余容量最大的Ceph集群作为推荐Ceph集群。通过多种方式实现Ceph集群筛选,提高了推荐Ceph集群筛选的灵活性。
步骤S20,根据所述操作系统类型得到对应的存储驱动类型,并根据所述存储驱动类型确定对应的数据存储策略;
步骤S30,依据所述数据存储策略和所述推荐Ceph集群执行数据存储操作。
根据操作系统类型得到对应的存储驱动类型,本发明提供cephfs与nfs(networkfile system,网络文件系统)两种存储驱动,若操作系统的版本较低,例如Linux6的操作系统,则可以使用基于ganesha将Cephfs转换成nfs这种存储驱动方式,该种方式可解决低版本操作系统的兼容问题;若操作系统的版本较高,例如Linux7的操作系统,由于nfs存储驱动存在性能较差的问题,此时则采用Cephfs这种存储驱动方式。
在得到对应的存储驱动类型之后,根据所述存储驱动类型确定对应的数据存储策略,依据该数据储存策略和推荐Ceph集群执行数据存储操作。
具体的,当所述存储驱动类型为分布式存储文件系统Cephfs存储驱动时,步骤S30包括:
步骤b1,对所述推荐Ceph集群进行划卷并配置容量,得到卷的信息,并随机生成对应的用户名和密钥文件;
步骤b2,将所述卷的信息、所述用户名和所述密钥文件发送至所述客户端,以使得所述客户端基于所述用户名和密钥文件登录后,将数据挂载至与所述卷的信息对应的文件目录中。
当所述存储驱动类型为Cephfs(Ceph file system,分布式存储文件系统)存储驱动时,则对该推荐Ceph集群进行划卷并配置容量,得到卷的信息,并随机生成用户名和密钥文件;然后将卷的信息、用户名和密钥文件发送至所述客户端,以使得所述客户端基于该用户名和密钥文件进行登录,登录成功后将数据挂载至与卷的信息对应的文件目录中。具体的数据挂载过程与现有的挂载方式一致,此处不作赘述。
当所述存储驱动类型为网络文件系统nfs存储驱动时,步骤S30包括:
步骤b3,对所述推荐Ceph集群进行划卷并配置容量,得到卷的信息,将所述卷的信息通过预设的ganesha集群转换成nfs协议格式的卷的信息;
步骤b4,将转换后的卷的信息发送至所述客户端,以使得所述客户端将数据挂载至与所述转换后的卷的信息对应的文件目录中。
当所述存储驱动类型为nfs(network file system,网络文件系统)存储驱动时,对推荐Ceph集群进行划卷并配置容量,得到卷的信息,将卷的信息通过预设的ganesha集群转换成nfs协议格式的卷的信息;
然后将转换后的卷的信息发送至客户端,以使得所述客户端将数据挂载至与转换后的卷的信息对应的文件目录中。具体的数据挂载过程与现有的挂载方式一致,此处不作赘述。
本发明实施例提供一种数据存储方法,在接收到客户端发起的数据存储请求时,获取客户端的操作系统类型,同时按预设规则在预先构建的各分布式存储Ceph集群中筛选得到推荐Ceph集群;根据操作系统类型得到对应的存储驱动类型,根据所述存储驱动类型确定对应的数据存储策略,依据该数据储存策略和推荐Ceph集群执行数据存储操作。本发明通过平台设备对Ceph集群进行统一的管理,还提供多种存储驱动方式,根据不同的操作系统类型确定不同的存储驱动类型,进而确定对应的数据存储策略,同时计算出推荐Ceph集群,基于数据存储策略和推荐Ceph集群执行数据存储操作,即使低版本操作系统,也能在平台设备中进行统一管理实现兼容,从而解决低版本操作系统的兼容问题,此外,基于预设算法确定推荐Ceph集群,可提高Ceph集群选择的合理性和准确性。
由于目前的Ceph集群在使用过程中会出现磁盘数据分布不均的问题,当某个磁盘超过Ceph集群配置的阈值时,整个Ceph集群状态将会变成只读,针对此问题,提出了本发明数据存储方法的第二实施例。具体的,参照图3,图3为本发明数据存储方法第二实施例的流程示意图。
基于图2所示的第一实施例,该数据存储方法还包括:
步骤S40,获取各Ceph集群中各磁盘的磁盘空间使用率,及各Ceph集群中的监控服务器的监控数据;
步骤S50,根据所述各Ceph集群中各磁盘的磁盘空间使用率、所述监控数据检测是否存在满足预设条件的Ceph集群;
步骤S60,若存在,则调整满足所述预设条件的Ceph集群中对应磁盘的权重,以使得所述Ceph集群根据调整后的磁盘的权重确定存储数据的磁盘分布。
在本实施例中,可每隔一预设时间定时获取各Ceph集群中各磁盘的磁盘空间使用率,及各Ceph集群中的监控服务器的监控数据,然后根据各Ceph集群中各磁盘的磁盘空间使用率、监控数据检测是否存在满足预设条件的Ceph集群,即检测是否存在数据分布不均的Ceph集群。具体的,预设条件包括:1)Ceph集群中磁盘空间使用率中的最大值超过预设配置阈值(如85%);2)Ceph集群中磁盘空间使用率中的最大值与最小值之间的差值超过预设差值(如8%);和/或3)监控数据中的当前集群的misplaced_objects(错位对象)状态不为0(0表示集群目前没有错位的对象,集群处于正常的状态)。
当检测到存在满足上述预设条件的Ceph集群时,则调整满足上述预设条件的Ceph集群中对应磁盘的权重,以使得Ceph集群后续根据调整后的各磁盘的权重计算数据对象的分布,从而确定存储数据的磁盘分布。具体的,调整方式可以为:在满足预设条件的Ceph集群中,对于磁盘空间使用率超过预设配置阈值的磁盘,则根据预设规则调整超过预设配置阈值的磁盘的权重值,具体的,可根据超过预设配置阈值的磁盘的当前权重值w1和磁盘空间使用率U1进行计算,调整后的磁盘的权重值可以为W1*{1-0.02*[1+(U1-0.85)*100/4],实现权重的减少;对于磁盘空间使用率最低的预设块(根据实际需要设置,例如5块)磁盘,分别增加其本身权重值的预设常数值,例如1/50,假设增加前磁盘的权重值为w2,则增加后磁盘的权重值为w2*(1+1/50)。需要说明的是,调整方式中所涉及的具体调整数值和调整后磁盘的权重值计算方式仅用于举例,为其中一种调整后磁盘权重的计算举例,并不用于限定本发明方案。此外,调整方式也可以依据实际情况进行具体设置,并不限于上述例中的一种。
本实施例中通过对Ceph集群做容量管理,可优化Ceph集群中数据分布不均的问题,让集群管理的磁盘数据尽量分布均衡,从而可提高Ceph集群的可用性。
进一步的,参照图4,图4为本发明数据存储方法第三实施例的流程示意图。
基于图2所示的第一实施例,该数据存储方法还包括:
步骤S70,每隔预设周期获取各Ceph集群的已使用空间和原始存储空间,根据所述已使用空间和原始存储空间计算对应的总空间使用率;
步骤S80,判断所述总空间使用率是否超过预设阈值;
步骤S90,若是,则生成对应的提示信息,并发送至对应的管理端,以提示管理人员进行扩容处理。
在本实施例中,为保证整个数据存储系统维持一定的可用存储空间,以满足客户日益增长的数据存储需要,避免无可用存储空间供客户存储的情况的发生,可每隔预设周期(如1天,1周)获取各Ceph集群的已使用空间和原始存储空间,根据所述已使用空间和原始存储空间计算对应的总空间使用率。其中,原始存储空间即为未存储前,原始的可用于存储的空间,为Ceph集群中各服务器的磁盘存储空间之和。具体的,可对各Ceph集群的已使用空间进行加和,得到整个数据存储系统的总已使用空间,并对各Ceph集群的原始存储空间进行加和,得到整个数据存储系统的总原始存储空间,该总空间使用率=总已使用空间/总原始存储空间。
然后,判断该总空间使用率是否超过预设阈值,该预设阈值可设为70%,当然也可以依实际情况进行设定。若总空间使用率已超过预设阈值,此时,则生成对应的提示信息,并发明至对应的管理端,以提示管理人员进行扩容处理。
本发明还提供一种数据存储设备,该数据存储设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据存储程序,所述数据存储程序被所述处理器执行时实现如以上任一项实施例所述的数据存储方法的步骤。
本发明数据存储设备的具体实施例与上述数据存储方法各实施例基本相同,在此不作赘述。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有数据存储程序,所述数据存储程序被处理器执行时实现如以上任一项实施例所述的数据存储方法的步骤。
本发明计算机可读存储介质的具体实施例与上述数据存储方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种数据存储方法,其特征在于,所述数据存储方法包括:
在接收到客户端发起的数据存储请求时,确定所述客户端的操作系统类型,并按预设规则在预先构建的各分布式存储Ceph集群中筛选得到推荐Ceph集群;
根据所述操作系统类型得到对应的存储驱动类型,并根据所述存储驱动类型确定对应的数据存储策略;
依据所述数据存储策略和所述推荐Ceph集群执行数据存储操作;
其中,所述数据存储方法还包括:
获取各Ceph集群中各磁盘的磁盘空间使用率,及各Ceph集群中的监控服务器的监控数据;
根据所述各Ceph集群中各磁盘的磁盘空间使用率、所述监控数据检测是否存在满足预设条件的Ceph集群,其中,所述预设条件包括:Ceph集群中各所述磁盘空间使用率中的最大值超过预设配置阈值,各所述磁盘空间使用率中的最大值与最小值之间的差值超过预设差值,和/或者,所述监控数据中的当前集群的misplaced_objects状态不为0;
若存在,则调整满足所述预设条件的Ceph集群中对应磁盘的权重,以使得所述Ceph集群根据调整后的磁盘的权重确定存储数据的磁盘分布。
2.如权利要求1所述的数据存储方法,其特征在于,当所述存储驱动类型为分布式存储文件系统Cephfs存储驱动时,所述依据所述数据存储策略和所述推荐Ceph集群执行数据存储操作的步骤,包括:
对所述推荐Ceph集群进行划卷并配置容量,得到卷的信息,并随机生成用户名和密钥文件;
将所述卷的信息、所述用户名和所述密钥文件发送至所述客户端,以使得所述客户端基于所述用户名和密钥文件登录后,将数据挂载至与所述卷的信息对应的文件目录中。
3.如权利要求1所述的数据存储方法,其特征在于,当所述存储驱动类型为网络文件系统nfs存储驱动时,所述依据所述数据存储策略和所述推荐Ceph集群执行数据存储操作的步骤,还包括:
对所述推荐Ceph集群进行划卷并配置容量,得到卷的信息,将所述卷的信息通过预设的ganesha集群转换成nfs协议格式的卷的信息;
将转换后的卷的信息发送至所述客户端,以使得所述客户端将数据挂载至与所述转换后的卷的信息对应的文件目录中。
4.如权利要求1所述的数据存储方法,其特征在于,所述按预设规则在预先构建的各分布式存储Ceph集群中筛选得到推荐Ceph集群的步骤包括:
根据所述数据存储请求确定待存储数据量;
获取预先构建的各Ceph集群的剩余容量,筛选出所述剩余容量大于所述待存储数据量的Ceph集群,记为待选Ceph集群;
获取各待选Ceph集群的服务器参数,根据所述服务器参数得到各待选Ceph集群的得分,并将所述得分中最大值对应的待选Ceph集群确定为推荐Ceph集群。
5.如权利要求4所述的数据存储方法,其特征在于,所述获取各待选Ceph集群的服务器参数,根据所述服务器参数得到各待选Ceph集群的得分的步骤,包括:
获取各待选Ceph集群的服务器参数,所述服务器参数包括对象存储设备服务器的集群空间使用率和磁盘繁忙率、元数据服务器的CPU使用率及监控服务器的CPU使用率;
根据所述对象存储设备服务器的集群空间使用率和磁盘繁忙率、元数据服务器的CPU使用率及监控服务器的CPU使用率及各自对应的预设权重系数计算加权和,并将所述加权和作为所述待选Ceph集群的得分。
6.如权利要求1-5中任一项所述的数据存储方法,其特征在于,所述数据存储方法还包括:
每隔预设周期获取各Ceph集群的已使用空间和原始存储空间,根据所述已使用空间和原始存储空间计算对应的总空间使用率;
判断所述总空间使用率是否超过预设阈值;
若是,则生成对应的提示信息,并发送至对应的管理端,以提示管理人员进行扩容处理。
7.如权利要求1-5中任一项所述的数据存储方法,其特征在于,所述在接收到客户端发起的数据存储请求时,确定所述客户端的操作系统类型,并按预设规则在预先构建的各分布式存储Ceph集群中筛选得到推荐Ceph集群的步骤之前,还包括:
获取各服务器的互联网协议IP地址,根据所述IP地址确定对应的物理位置;
根据所述物理位置对各服务器进行划分,以构建各Ceph集群。
8.一种数据存储设备,其特征在于,所述数据存储设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据存储程序,所述数据存储程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据存储方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据存储程序,所述数据存储程序被处理器执行时实现如权利要求1至7中任一项所述的数据存储方法的步骤。
CN201811238872.6A 2018-10-23 2018-10-23 数据存储方法、设备及计算机可读存储介质 Active CN109343801B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811238872.6A CN109343801B (zh) 2018-10-23 2018-10-23 数据存储方法、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811238872.6A CN109343801B (zh) 2018-10-23 2018-10-23 数据存储方法、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109343801A CN109343801A (zh) 2019-02-15
CN109343801B true CN109343801B (zh) 2021-11-09

Family

ID=65311359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811238872.6A Active CN109343801B (zh) 2018-10-23 2018-10-23 数据存储方法、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109343801B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489237A (zh) * 2019-08-20 2019-11-22 深圳市丰润达科技有限公司 串口数据接收处理方法、装置及计算机可读存储介质
CN110636122A (zh) * 2019-09-11 2019-12-31 中移(杭州)信息技术有限公司 分布式存储方法、服务器、系统、电子设备以及存储介质
CN111212111B (zh) * 2019-12-17 2022-05-13 腾讯科技(深圳)有限公司 对象存储服务管理方法及电子设备
CN111274488B (zh) * 2020-02-20 2021-03-19 深圳前海微众银行股份有限公司 推荐方法、装置、设备、系统、待执行终端及存储介质
CN111461620B (zh) * 2020-04-09 2023-08-01 海口慧海医药有限公司 一种基于区块链物流数据分布式存储方法及装置
CN111562884B (zh) * 2020-04-28 2023-10-27 北京奇艺世纪科技有限公司 一种数据存储方法、装置及电子设备
CN113760840B (zh) * 2020-06-01 2024-05-07 中移(苏州)软件技术有限公司 一种数据处理方法、系统、设备及计算机存储介质
CN113970998B (zh) * 2020-07-24 2024-08-09 中移(苏州)软件技术有限公司 一种信息处理方法、装置、终端及存储介质
CN111913919B (zh) * 2020-08-12 2024-08-06 湖北南邦创电科技有限公司 一种文件存储管理方法及存储介质
CN112445577B (zh) * 2020-11-30 2023-11-24 广州文远知行科技有限公司 容器添加方法、装置、终端设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541475A (zh) * 2012-03-12 2012-07-04 成都市华为赛门铁克科技有限公司 数据存储方法和数据存储装置
CN102841759A (zh) * 2012-05-10 2012-12-26 天津兆民云计算科技有限公司 一种针对超大规模虚拟机集群的存储系统
CN104092758A (zh) * 2014-07-14 2014-10-08 南京斯坦德云科技股份有限公司 一种分布式高速云存储服务器集群系统及读取方法
CN105549912A (zh) * 2015-12-21 2016-05-04 浪潮电子信息产业股份有限公司 同时包含多种类操作系统的服务器集群的存储方法
CN107070972A (zh) * 2016-12-30 2017-08-18 中国银联股份有限公司 一种分布式文件处理方法及装置
CN108171473A (zh) * 2017-12-26 2018-06-15 北京九章云极科技有限公司 一种数据分析处理系统及数据分析处理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9178935B2 (en) * 2009-03-05 2015-11-03 Paypal, Inc. Distributed steam processing
CN103338135B (zh) * 2013-07-05 2016-03-02 山东大学 一种集群存储容量的实时监控方法
US9405569B2 (en) * 2014-03-17 2016-08-02 Ca, Inc. Determining virtual machine utilization of distributed computed system infrastructure
US20160349993A1 (en) * 2015-05-29 2016-12-01 Cisco Technology, Inc. Data-driven ceph performance optimizations
WO2017082939A1 (en) * 2015-11-09 2017-05-18 Hewlett Packard Enterprise Development Lp Data center capacity management

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541475A (zh) * 2012-03-12 2012-07-04 成都市华为赛门铁克科技有限公司 数据存储方法和数据存储装置
CN102841759A (zh) * 2012-05-10 2012-12-26 天津兆民云计算科技有限公司 一种针对超大规模虚拟机集群的存储系统
CN104092758A (zh) * 2014-07-14 2014-10-08 南京斯坦德云科技股份有限公司 一种分布式高速云存储服务器集群系统及读取方法
CN105549912A (zh) * 2015-12-21 2016-05-04 浪潮电子信息产业股份有限公司 同时包含多种类操作系统的服务器集群的存储方法
CN107070972A (zh) * 2016-12-30 2017-08-18 中国银联股份有限公司 一种分布式文件处理方法及装置
CN108171473A (zh) * 2017-12-26 2018-06-15 北京九章云极科技有限公司 一种数据分析处理系统及数据分析处理方法

Also Published As

Publication number Publication date
CN109343801A (zh) 2019-02-15

Similar Documents

Publication Publication Date Title
CN109343801B (zh) 数据存储方法、设备及计算机可读存储介质
US11394625B2 (en) Service level agreement based storage access
US20180018293A1 (en) Method, controller, and system for service flow control in object-based storage system
US20170293538A1 (en) Using Diversity to Provide Redundancy of Virtual Machines
CN111459749B (zh) 基于Prometheus的私有云监控方法、装置、计算机设备及存储介质
JP4984169B2 (ja) 負荷分散プログラム、負荷分散方法、負荷分散装置およびそれを含むシステム
CN110149409B (zh) 云主机元数据服务管理方法、系统、设备及存储介质
CN110471749B (zh) 任务处理方法、装置、计算机可读存储介质和计算机设备
JP2005502121A (ja) 記憶ポリシに基づいてデータを記憶する技法
US20060235859A1 (en) Prescriptive architecutre recommendations
CN109669835B (zh) MySQL数据库监控方法、装置、设备及可读存储介质
WO2019237591A1 (zh) 文件格式转换方法、装置、计算机设备及存储介质
CN109428926B (zh) 一种调度任务节点的方法和装置
JP5203919B2 (ja) サーバシステム
CN112333289A (zh) 反向代理访问方法、装置、电子设备及存储介质
US11444998B2 (en) Bit rate reduction processing method for data file, and server
CN110347546B (zh) 监控任务动态调整方法、装置、介质及电子设备
CN113177179B (zh) 数据请求连接管理方法、装置、设备及存储介质
CN111367761A (zh) 一种通用服务器的信息管理方法、系统及相关组件
CN111444074A (zh) 一种数据监控方法、装置、电子设备及可读存储介质
US20170149893A1 (en) Metadata server, network device and automatic resource management method
US20170034258A1 (en) Methods for centralized management api service across disparate storage platforms and devices thereof
CN113609168B (zh) 数据导出方法、装置、终端以及可读存储介质
CN110266525B (zh) Cdn服务器数量配置方法、设备及计算机可读存储介质
US10942779B1 (en) Method and system for compliance map engine

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant