CN113031857B - 数据写入方法、装置、服务器及存储介质 - Google Patents

数据写入方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN113031857B
CN113031857B CN202110131826.1A CN202110131826A CN113031857B CN 113031857 B CN113031857 B CN 113031857B CN 202110131826 A CN202110131826 A CN 202110131826A CN 113031857 B CN113031857 B CN 113031857B
Authority
CN
China
Prior art keywords
ssd
cache
storage
dirty
scheme
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
CN202110131826.1A
Other languages
English (en)
Other versions
CN113031857A (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.)
Baike Data Technology Shenzhen Co ltd
Original Assignee
Baike Data Technology Shenzhen 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 Baike Data Technology Shenzhen Co ltd filed Critical Baike Data Technology Shenzhen Co ltd
Priority to CN202110131826.1A priority Critical patent/CN113031857B/zh
Publication of CN113031857A publication Critical patent/CN113031857A/zh
Application granted granted Critical
Publication of CN113031857B publication Critical patent/CN113031857B/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/061Improving I/O performance
    • 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/0608Saving storage space on 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering 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]
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Abstract

本发明实施例公开了一种数据写入方法、装置、服务器及存储介质,其中,所述方法包括:接收KVM客户端发送的读写请求;根据参数判断是否满足开启SSD存储条件;在满足开启SSD存储条件时,利用所述SSD实现CephRBD的数据读写。以充分利用SSD存储设备的存储性能优点,为数据库提供良好的读写和访问性能。在CephRBD过程中,减少了对内存的占用,减少了对KVMHypervisor的内存资源挤占。增强了了KVMHypervisor客户端的访问效果。同时,还可根据配置灵活应对各种访问应用场景,提升Ceph数据库的访问效果。

Description

数据写入方法、装置、服务器及存储介质
技术领域
本发明涉及分布式数据库技术领域,尤其涉及一种数据写入方法、装置、设备及存储介质。
背景技术
Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。Ceph摒弃了传统的集中式存储元数据寻址的方案,采用CRUSH算法,数据分布均衡,并行度高。并考虑了容灾域的隔离,能够实现各类负载的副本放置规则,例如跨机房、机架感知等。能够支持上千个存储节点的规模,支持 TB到PB级的数据。
在Ceph系统中,目前可以采用KVM虚拟机作为客户端,以实现提供高并发性的访问服务。但是Ceph通过librbd的方式对外提供块存储设备时,为保证块设备的读写性能,默认是设计为开启rbd cache缓存的。Ceph中的rbd cache 缓存介质直接使用内存资源,对块设备的读写性能提升明显。但同时也存在掉电易失等情况。在提供大量的块设备时由于内存资源有限导致分配给每个块的缓存不多,在性能的体验上并不太友好;内存资源的扩展又受到主机硬件配置的限制导致容量扩展不太理想等。并且容易产生与KVM Hypervisor进行内存资源挤占的问题。
发明内容
本发明实施例提供了一种数据写入方法、装置、服务器及存储介质,以解决现有技术中无法针对特定存储池对OSD进行均衡分布item的技术问题。
第一方面,本发明实施例提供了一种数据写入方法,包括:
接收KVM客户端发送的读写请求;
根据参数判断是否满足开启SSD存储条件,所述参数包括:ssd cache size、 ssdcache max dirty、ssd cache target dirty和ssd cache device;
在满足开启SSD存储条件时,利用所述SSD实现CephRBD的数据读写;
所述利用所述SSD实现CephRBD的数据读写,包括:
根据ssd cache max dirty和ssd cache size判断是否为SSD存储和缓存并存方案;
在为并存方案时,根据所述ssd cache max dirty对CephRBD数据实现读写。
第二方面,本发明实施例还提供了一种数据写入装置,包括:
接收模块,用于接收KVM客户端发送的读写请求;
判断模块,用于根据参数判断是否满足开启SSD存储条件;
读写模块,用于在满足开启SSD存储条件时,利用所述SSD实现CephRBD 的数据读写。第三方面,本发明实施例还提供了一种服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述实施例提供的数据写入方法方法。
第四方面,本发明实施例还提供了包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的数据写入方法。
本发明实施例提供的数据写入方法、装置、服务器及存储介质,通过接收 KVM客户端发送的读写请求;根据参数判断是否满足开启SSD存储条件;在满足开启SSD存储条件时,利用所述SSD实现CephRBD的数据读写。可以充分利用 SSD存储设备的存储性能优点,为数据库提供良好的读写和访问性能。在CephRBD 过程中,减少了对内存的占用,减少了对KVMHypervisor的内存资源挤占。增强了了KVM Hypervisor客户端的访问效果。同时,还可根据配置灵活应对各种访问应用场景,提升Ceph数据库的访问效果。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明实施例一提供的数据写入方法的流程示意图;
图2是本发明实施例二提供的数据写入方法的流程示意图;
图3是本发明实施例三提供的数据写入装置的结构示意图;
图4是本发明实施例四提供的服务器的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的数据写入方法的流程图,本实施例可适用于基于CephRBD实现数据写入的情况,该方法可以由数据写入装置来执行,并可集成于Ceph服务器中,具体包括如下步骤:
S110,接收KVM客户端发送的读写请求。
在本实施例中,可以利用虚拟机作为客户端,用于接收用户发送的各种请求。并利用KVM Hypervisor作为虚拟机的管理工具。
示例性的,所述Hypervisor可以为运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件。其实际上为一种在虚拟环境中的“元”操作系统。他们可以访问服务器上包括磁盘和内存在内的所有物理设备。Hypervisors不但协调着这些硬件资源的访问,而且在各个虚拟机之间施加防护。当服务器启动并执行Hypervisor时,它会加载所有虚拟机客户端的操作系统同时会分配给每一台虚拟机适量的内存,CPU,网络和磁盘。利用KVM Hypervisor创建并管理的多个客户端,实现接收用户操作,并将其转换为相应的读写请求。
S120,根据参数判断是否满足开启SSD存储条件。
在Ceph分布式数据库中,RBD可以认为是Ceph里的块设备。相应的,在 KVM客户端中也设有相应的RBD,实现将从客户端接收的数据进行缓存。由于kvm 自身没有相应的存储设备,因此,通常将划分内存的一部分作为所述虚拟机的 rbd。并且可以通过KVMHypervisor对所有虚拟机中的rbd中的数据进行有效管理。
相应的,所述KVM Hypervisor采用Librbd方式实现对虚拟机中的rbd中的数据进行有效管理。Librbd是Ceph的块存储库,其利用Rados提供的API 实现对卷的管理和操作。就目前而言,在Ceph支持的三种接口Posix(CephFS),块存储(Librbd)和对象存储(RadosGW)接口中,块存储是目前最稳定且达到生产环境要求的接口。示例性的,KVM虚拟机上层应用发出读写请求的指令,librbd 接收到读写请求后,根据设备的rbd cache缓存方式,将接收的数据存储到指定的位置。
通常采用内存或者划定内存的一部分作为rbd cache缓存方式。由于内存具有读取速度快,且可被CPU直接进行读写等优点。在对性能要求较高的应用场景,使用内存rbdcache缓存方式可以加快读写数据时长,减少用户访问过程所需的时长,提升用户的体验。
然而,由于KVM本身也需要相应的内存作为支撑,以实现提供对外访问服务的目的。并且内存资源相对成本较高,不可能无限制扩展内存资源支持内存作为rbd cache缓存方式。同时,在业务连续性较高的应用场景下,采用内存作为rbd cache缓存方式会产生较多的脏数据,影响到可用内存量,进而严重影响rbd cache缓存性能。
因此,在本实施例中,可以采用SSD作为rbd cache缓存方式。固态驱动器 (SolidState Disk或Solid State Drive,简称SSD),俗称固态硬盘。固态硬盘是用固态电子存储芯片阵列制成的硬盘。由于其特性,采用闪存作为存储介质,读取速度相对机械硬盘更快。固态硬盘不用磁头,寻道时间几乎为0。持续写入的速度非常惊人,近年来的NVMe固态硬盘可达到2000MB/s左右,甚至4000MB/s以上。固态硬盘的快绝不仅仅体现于持续读写上,随机读写速度快才是固态硬盘的终极奥义,这最直接体现于绝大部分的日常操作中。与之相关的还有极低的存取时间,最常见的7200转机械硬盘的寻道时间一般为12-14毫秒,而固态硬盘可以轻易达到0.1毫秒甚至更低。具有极快的读写速度,适用于作为为rbd cache缓存的存储媒介。
因此,可以单独采用内存、或者单独采用SSD,或者二者共用方式作为rbd cache缓存。但每种情况分别对应不同的业务场景才能发挥最大效果。因此,在本实施例中,可以通过相应的参数来确定是否开启SSD存储条件。以实现通过所述参数确定rbd cache缓存方案的目的。
在本实施例中,所述参数可以包括:
ssd cache size、ssd cache max dirty、ssd cache target dirty和ssd cachedevice。
其中,ssd cache size表示librbd能使用的SSD缓存的大小;ssd cache maxdirty 表示用来控制数据回写的大小,不能超过ssd cache size的值,也表示SSD中允许存在的最大脏数据值;ssd cache target dirty表示数据回写时的阈值,不能超过 ssdcache target dirty的值;ssd cache device表示存储缓存的SSD设备路径。
S130,在满足开启SSD存储条件时,利用所述SSD实现CephRBD的数据读写。
在根据上述参数判断是否将SSD作为rbd cache缓存方案。,在满足条件时,开启所述SSD,从KVM模拟机的rbd block中获取的数据通过KVM Hypervisor 写入到SSD中,留待后续转入硬盘进行持久化。
可选的,所述利用所述SSD实现CephRBD的数据读写,可以包括:根据 ssd cachemax dirty和ssd cache size判断是否为SSD存储和缓存并存方案;在为并存方案时,根据所述ssd cache max dirty对CephRBD数据实现读写。
业务连续性不高,但是对性能要求比较高的业务场景,此时采用SSD Cache 和默认的CephRBD缓存并存的方案,因为业务联系性不高,此方案是读写性能最好的方案。在为用户提供较高性能的访问服务时,考虑到由于部分业务存在联系性,部分数据经常处于不同的读写阶段,存储空间长时间被占用。因此,需要综合考虑可容纳的脏数据容量和ssd提供的缓存容量确定是否为SSD存储和缓存并存方案。
示例性的,所述根据ssd cache max dirty和ssd cache size判断是否为SSD存储和缓存并存方案,可以包括:
在所述ssd cache max dirty与所述ssd cache size的比值大于预设的并存阈值时,确定为SSD存储和缓存并存方案;
在所述ssd cache max dirty与所述ssd cache size的比值小于预设的并存阈值时,确定为SSD存储方案。
业务连续性比较高的业务场景,KVM数据7*24小时持续写入到RBD,此时采用SSDCache来替代默认的CephRBD缓存方案,这样可以提高数据的安全性,同时虽然未使用CephRBD缓存方案,还是能够保证数据写入的性能。例如,可以将ssd cache size设为物理存储空间的90%,将ssd cache max dirty设为ssd cache size的60%,以充分利用ssd的速度优势。
如果内存中存储大量的脏数据,会严重影响内存对外提供服务的能力。因此,在采用SSD存储和缓存并存方案时,需要对脏数据的存储容量进行限制,以避免影响内存对外提供服务的能力。因此,根据ssd cache max dirty与所述ssd cache size的比值判断是否为并存方案。
即相当于在业务连续性不高,但是对性能要求比较高的业务场景,此时采用SSDCache和默认的CephRBD缓存并存的方案,因为业务联系性不高,此方案是读写性能最好的方案。
在为并存方案时,分别向SSD和内存中对CephRBD数据实现读写,并在读写过程中对ssd cache max dirty进行监控,防止脏数据超出ssd cache max dirty。
此外,在本实施例中,由于内存缓存受KVM服务影响,在KVM服务占用较多的内存资源下,单独采用内存缓存作为缓存会影响对外服务能力。因此,在本实施例中,可以监控内存的使用情况,根据KVM服务占用内存情况,对缓存方案进行调整。
示例性的,可以在KVM使用内存与内存的比值大于预设警戒阈值时,根据第一预设方案下调所述ssd cache max dirty与ssd cache size的比值,转入SSD存储方案。所述预设警戒阈值可以根据经验确定,在本实施例中,可以设定为50%。相应的,需要转入单独使用SSD缓存方案。将ssd cache max dirty与ssd cache size 的比值进行下调,转入SSD存储方案。
基于上述思想,也可在单独使用内存缓存方案时,根据KVM使用内存与内存的比值大于预设警戒阈值时,根据第二预设方案下调所述ssd cache max dirty 与ssd cachesize的比值,转入SSD存储和缓存并存方案。
本实施例通过接收KVM客户端发送的读写请求;根据参数判断是否满足开启SSD存储条件;在满足开启SSD存储条件时,利用所述SSD实现CephRBD的数据读写。可以充分利用SSD存储设备的存储性能优点,为数据库提供良好的读写和访问性能。在CephRBD过程中,减少了对内存的占用,减少了对KVM Hypervisor的内存资源挤占。增强了了KVM Hypervisor客户端的访问效果。同时,还可根据配置灵活应对各种访问应用场景,提升Ceph数据库的访问效果。
在本实施例的一个优选实施方式中,所述方法还可增加如下步骤:接收所述参数,所述参数根据业务场景配置。相应的,根据不同的业务场景,也即不同的业务需求可以对所述参数进行重新配置或者调整。示例性的,所述参数可以通过过Cephdaemon命令操作cepdRBD的asok文件来进行参数设置,以实现对不同业务场景的支持。
在本实施例的另一个优选实施方式中,所述方法还可增加如下步骤:在所述SSD设备中存储的脏数据的累计量达到预设的累计阈值时,触发进行缓存清理,实现SSD空间回收。所述累计阈值小于ssd cache max dirty,在大于累计阈值时,及时对脏数据进行缓存清理。避免脏数据影响对外服务的性能。
实施例二
图2为本发明实施例二提供的数据写入方法的流程示意图。本实施例以上述实施例为基础进行优化,在本实施例中,将所述根据参数判断是否满足开启 SSD存储条件具体优化为:根据ssd cache size判断是否满足开启SSD存储条件。
相应的,本实施例所提供的数据写入方法,具体包括:
S210,接收KVM客户端发送的读写请求。
S220,根据ssd cache size判断是否满足开启SSD存储条件。
在某些业务场景中,例如业务连续性比较高的业务场景,KVM数据7*24小时持续写入到RBD时,如果对于业务联系性的要求超过SSD的性能时,需要对 SSD进行关闭;相反,在SSD的性能能够满足业务连续性在所述ssd cache size 表示librbd能使用的SSD缓存的大小,在所述ssd cache size大于预设的最小条件时,开启SSD存储条件。
可选的,所述根据ssd cache size判断是否满足开启SSD存储条件,可以包括:根据所述ssd cache device确定设备路径;根据所述设备路径确定对应的SSD设备,进而确定所述SSD cache size。通常可以采用多个SSD设备,并根据多个SSD设备的总存储容量,确定相应的ssd cache size。
S230,在满足开启SSD存储条件时,利用所述SSD实现CephRBD的数据读写。
本实施例通过将将所述根据参数判断是否满足开启SSD存储条件具体优化为:根据ssd cache size判断是否满足开启SSD存储条件。充分利用ssd cache size参数确定是否开启SSD作为CephRBD。可以根据业务场景的需求,对ssd cache size参数进行灵活调整,以控制SSD是否打开来满足不同业务场景的需求。
实施例三
图3是本发明实施例四提供的数据写入装置的结构示意图,如图3所示,所述装置包括:
接收模块310,用于接收KVM客户端发送的读写请求;
判断模块320,用于根据参数判断是否满足开启SSD存储条件,所述参数包括:ssdcache size、ssd cache max dirty、ssd cache target dirty和ssd cache device;
读写模块330,用于在满足开启SSD存储条件时,利用所述SSD实现CephRBD 的数据读写,所述读写模块包括:
并存判断单元,用于根据ssd cache max dirty和ssd cache size判断是否为SSD存储和缓存并存方案;
并存读写单元,用于在为并存方案时,根据所述ssd cache max dirty对 CephRBD数据实现读写。
本实施例提供的数据写入装置,通过接收KVM客户端发送的读写请求;根据参数判断是否满足开启SSD存储条件;在满足开启SSD存储条件时,利用所述SSD实现CephRBD的数据读写。可以充分利用SSD存储设备的存储性能优点,为数据库提供良好的读写和访问性能。在CephRBD过程中,减少了对内存的占用,减少了对KVM Hypervisor的内存资源挤占。增强了了KVM Hypervisor客户端的访问效果。同时,还可根据配置灵活应对各种访问应用场景,提升Ceph 数据库的访问效果。
在上述各实施例的基础上,所述判断模块,包括:
判断单元,用于根据ssd cache size判断是否满足开启SSD存储条件。
在上述各实施例的基础上,所述并存判断单元,用于:
在所述ssd cache max dirty与所述ssd cache size的比值小于预设的并存阈值时,确定为SSD存储和缓存并存方案。
在上述各实施例的基础上,所述判断单元,用于:
根据所述ssd cache device确定设备路径;
根据所述设备路径确定对应的SSD设备,进而确定所述SSD cache size。
在上述各实施例的基础上,所述装置还包括:
接收模块,用于接收所述参数,所述参数根据业务场景配置。
在上述各实施例的基础上,所述装置还包括:
清理模块,用于在所述SSD设备中存储的脏数据的累计量达到预设的累计阈值时,触发进行缓存清理,实现SSD空间回收。
本发明实施例所提供的数据写入装置可执行本发明任意实施例所提供的数据写入方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4为本发明实施例4提供的一种服务器的结构示意图。图4示出了适于用来实现本发明实施方式的示例性服务器12的框图。图4显示的服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,服务器12以通用计算设备的形式表现。服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA) 总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA) 局域总线以及外围组件互连(PCI)总线。
服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘 (例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM, DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/ 或方法。
服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器 24等)通信,还可与一个或者多个使得用户能与该设备/服务器/服务器12交互的设备通信,和/或与使得该服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出 (I/O)接口22进行。并且,服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网) 通信。如图所示,网络适配器20通过总线18与服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID 系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的数据写入方法。
实施例五
本发明实施例五还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的数据写入方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、 Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN) —连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (7)

1.一种数据写入方法,其特征在于,包括:
接收 KVM 客户端发送的读写请求;
根据参数判断是否满足开启 SSD 存储条件,所述参数包括:ssd cache size、ssdcache max dirty、ssd cache target dirty 和 ssd cache device;
在满足开启 SSD 存储条件时,利用所述 SSD 实现 CephRBD 的数据读写;
所述利用所述 SSD 实现 CephRBD 的数据读写,包括:
根据 ssd cache max dirty 和 ssd cache size 判断是否为 SSD 存储和缓存并存方案;
在为并存方案时,根据所述 ssd cache max dirty 对 CephRBD 数据实现读写;
所述根据参数判断是否满足开启 SSD 存储条件包括:
根据 ssd cache size 判断是否满足开启 SSD 存储条件;
根据 ssd cache max dirty 和 ssd cache size 判断是否为 SSD 存储和缓存并存方案,包括:
在所述 ssd cache max dirty 与所述 ssd cache size 的比值大于预设的并存阈值时,确定为 SSD 存储和缓存并存方案;
在所述 ssd cache max dirty 与所述 ssd cache size 的比值小于预设的并存阈值时,确定为 SSD 存储方案;
所述根据 ssd cache max dirty 和 ssd cache size 判断是否为 SSD 存储和缓存并存方案还包括:
在 KVM 使用内存与内存的比值大于预设警戒阈值时,下调所述 ssd cache maxdirty 与 ssd cache size 的比值,转入 SSD 存储方案。
2.根据权利要求 1 所述的方法,其特征在于,所述根据 ssd cache size判断是否满足开启 SSD 存储条件,包括:
根据所述 ssd cache device 确定设备路径;
根据所述设备路径确定对应的 SSD 设备,进而确定所述 SSD cache size。
3.根据权利要求 1 所述的方法,其特征在于,所述方法还包括:
接收所述参数,所述参数根据业务场景配置。
4.根据权利要求 1 所述的方法,其特征在于,所述方法还包括:
在所述 SSD 设备中存储的脏数据的累计量达到预设的累计阈值时,触发进行缓存清理,实现 SSD 空间回收。
5.一种数据写入装置,其特征在于,包括:
接收模块,用于接收 KVM 客户端发送的读写请求;
判断模块,用于根据参数判断是否满足开启 SSD 存储条件,所述参数包括:ssd cachesize、ssd cache max dirty、ssd cache target dirty 和 ssd cache device;
读写模块,用于在满足开启 SSD 存储条件时,利用所述 SSD 实现 CephRBD的数据读写,所述读写模块包括:
并存判断单元,用于根据 ssd cache max dirty 和 ssd cache size 判断是否为SSD 存储和缓存并存方案;
并存读写单元,用于在为并存方案时,根据所述 ssd cache max dirty 对CephRBD 数据实现读写;
所述判断模块,包括:
判断单元,用于根据 ssd cache size 判断是否满足开启 SSD 存储条件;
所述并存判断单元,用于:
在所述 ssd cache max dirty 与所述 ssd cache size 的比值小于预设的并存阈值时,确定为 SSD 存储和缓存并存方案;
所述判断单元,用于:
根据所述 ssd cache device 确定设备路径;
根据所述设备路径确定对应的 SSD 设备,进而确定所述 SSD cache size。
6.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多
个处理器实现如权利要求 1-4 中任一所述的数据写入方法。
7.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计
算机处理器执行时用于执行如权利要求 1-4 任一所述的数据写入方法。
CN202110131826.1A 2021-01-30 2021-01-30 数据写入方法、装置、服务器及存储介质 Active CN113031857B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110131826.1A CN113031857B (zh) 2021-01-30 2021-01-30 数据写入方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110131826.1A CN113031857B (zh) 2021-01-30 2021-01-30 数据写入方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN113031857A CN113031857A (zh) 2021-06-25
CN113031857B true CN113031857B (zh) 2022-05-10

Family

ID=76459482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110131826.1A Active CN113031857B (zh) 2021-01-30 2021-01-30 数据写入方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN113031857B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157425B (zh) * 2021-05-20 2024-05-03 深圳马六甲网络科技有限公司 业务访问的处理方法、装置、设备及存储介质
CN113485649B (zh) * 2021-07-23 2023-03-24 天翼云科技有限公司 数据存储方法、系统、装置、介质与电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9442670B2 (en) * 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
CN104657461A (zh) * 2015-02-10 2015-05-27 北京航空航天大学 基于内存与ssd协作式的文件系统元数据搜索缓存方法
CN105574104B (zh) * 2015-12-11 2019-04-05 上海爱数信息技术股份有限公司 一种基于ObjectStore的LogStructure存储系统及其数据写入方法
CN105847365A (zh) * 2016-03-28 2016-08-10 乐视控股(北京)有限公司 内容缓存方法及系统
CN109799954B (zh) * 2018-12-19 2022-02-22 深圳创新科技术有限公司 实现ceph集群缓存的方法和osd
CN109710587A (zh) * 2018-12-29 2019-05-03 优刻得科技股份有限公司 基于Ceph的数据分层方法、系统、设备和介质
CN111488125B (zh) * 2020-04-10 2021-09-07 西安交通大学 一种基于Ceph集群的Cache Tier缓存优化方法
CN111966283A (zh) * 2020-07-06 2020-11-20 云知声智能科技股份有限公司 一种基于企业级超算场景的客户端多级缓存方法及系统
CN112148219A (zh) * 2020-09-16 2020-12-29 北京优炫软件股份有限公司 一种ceph类型的分布式存储集群设计方法及装置

Also Published As

Publication number Publication date
CN113031857A (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
US9760497B2 (en) Hierarchy memory management
US10282136B1 (en) Storage system and control method thereof
EP3188449B1 (en) Method and system for sharing storage resource
US7093035B2 (en) Computer system, control apparatus, storage system and computer device
US9201677B2 (en) Managing data input/output operations
US8782335B2 (en) Latency reduction associated with a response to a request in a storage system
JP7280508B2 (ja) 情報処理装置、情報処理方法および仮想マシン接続管理プログラム
US20140095769A1 (en) Flash memory dual in-line memory module management
CN105637470B (zh) 用于脏数据管理的方法和计算设备
US20210271650A1 (en) Method and apparatus for performing deduplication management with aid of command-related filter
EP2645246A1 (en) Method and apparatus of memory management by storage system
CN113031857B (zh) 数据写入方法、装置、服务器及存储介质
US10198180B2 (en) Method and apparatus for managing storage device
US9755986B1 (en) Techniques for tightly-integrating an enterprise storage array into a distributed virtualized computing environment
CN107408073B (zh) 使用存储器压缩来减少存储器提交开销
CN112346647A (zh) 数据存储方法、装置、设备和介质
WO2022050998A1 (en) Pooled memory controller for thin-provisioning disaggregated memory
US20110154357A1 (en) Storage Management In A Data Processing System
CN106354428B (zh) 一种多物理层分区计算机体系结构的存储共享系统
US20150242121A1 (en) Per-memory group swap device
US9317306B2 (en) Computer device and memory management method thereof
US20220382672A1 (en) Paging in thin-provisioned disaggregated memory
US9122617B2 (en) Pseudo cache memory in a multi-core processor (MCP)
CN114518962A (zh) 内存的管理方法及装置
JP2011070464A (ja) 計算機システム及び計算機システムの性能管理方法

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