CN111190548A - 一种基于SPDK的ceph分布式存储性能提升方法、装置及设备 - Google Patents

一种基于SPDK的ceph分布式存储性能提升方法、装置及设备 Download PDF

Info

Publication number
CN111190548A
CN111190548A CN201911396938.9A CN201911396938A CN111190548A CN 111190548 A CN111190548 A CN 111190548A CN 201911396938 A CN201911396938 A CN 201911396938A CN 111190548 A CN111190548 A CN 111190548A
Authority
CN
China
Prior art keywords
nvme pcie
pcie card
storage device
spdk
nvme
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.)
Granted
Application number
CN201911396938.9A
Other languages
English (en)
Other versions
CN111190548B (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.)
INNOVATION TECHNOLOGY Co Ltd
Original Assignee
INNOVATION TECHNOLOGY 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 INNOVATION TECHNOLOGY Co Ltd filed Critical INNOVATION TECHNOLOGY Co Ltd
Priority to CN201911396938.9A priority Critical patent/CN111190548B/zh
Publication of CN111190548A publication Critical patent/CN111190548A/zh
Application granted granted Critical
Publication of CN111190548B publication Critical patent/CN111190548B/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/366Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
    • 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
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及存储技术领域,具体涉及一种基于SPDK的ceph分布式存储性能提升方法、装置及设备。方法包括:加载UIO驱动,获取系统的硬件配备信息,将硬件绑定到UIO驱动,将OSD的bluestore块设备路径设置为指向NVMe PCIe卡,将OSD的bluestore块设备的数据库和日志路径设置为空,并且其大小为0;创建OSD,在OSD的BLOCK、DB、WAL按照SPDK的方式配置。本发明通过在CEPH环境上安装SPDK,通过SPDK驱动来管理存储设备中的NVMe SSD盘,借助SPDK的特点,对CEPH中的OSD的存储设备进行配置,使之规避原有内核驱动的性能不足,从而达到性能提升的目的。

Description

一种基于SPDK的ceph分布式存储性能提升方法、装置及设备
技术领域
本发明涉及存储技术领域,具体涉及一种基于SPDK的ceph分布式存储性能提升方法、装置及设备。
背景技术
在CEPH分布式存储系统中,特别是在块存储服务性能上,还有很大的提升空间。在CEPH的使用和分析过程中发现,一方面是CEPH的实现在网络连接、多线程、锁粒度等方面还有进一步的优化的空间,另一方面是伴随着现在网络、存储设备性能的提升,在高IO负载的情况下,系统软件、存储软件本身在IO消耗中占的比例越来越高。
在机械硬盘时代,linux内核的IO处理方式是采用中断的方式将数据从内核层复制回用户层,再交给用户程序处理。随着nvme固态硬盘的出现,采用这种方式就会导致大量的硬盘空闲,浪费硬盘性能,数据处理效率低,无法发挥固态存储介质出色的功效。
发明内容
针对现有技术中的问题,本发明目提供了一种基于SPDK的ceph分布式存储性能提升方法、装置及设备。
一方面,本发明提供了一种基于SPDK的ceph分布式存储性能提升方法,应用于存储设备,所述存储设备包括NVMe PCIe卡,所述方法包括:所述存储设备加载UIO驱动;所述存储设备获取系统的硬件配备信息;所述存储设备将硬件绑定到UIO驱动;所述存储设备将OSD的bluestore块设备路径设置为指向NVMe PCIe卡;所述存储设备将OSD的bluestore块设备的数据库和日志路径设置为空,并且其大小为0;创建OSD,在OSD的BLOCK、DB、WAL按照SPDK的方式配置。
可选地,所述存储设备获取系统的硬件配置,包括:所述存储设备获取系统的硬件配备,所述硬件配置包括NVMe PCIe卡的序列号;所述存储设备获取所有的NVMe PCIe卡,通过遍历获取所有的NVMe PCIe卡的设备序列号,从而获取每个NVMe PCIe卡的设备号。
可选地,所述存储设备将硬件绑定到UIO驱动,包括:所述存储设备将NVMe PCIe卡的原驱动解绑;所述存储设备将解绑原驱动的NVMe PCIe卡绑定到UIO驱动。
可选地,所述存储设备将NVMe PCIe卡的原驱动解绑,包括:所述存储设备获取绑定前NVMe PCIe卡的驱动名称,获取生产商设备号,将生产商设备号设置为NVMe PCIe卡的remove_id,将NVMe PCIe卡序列号设置为绑定前NVMe PCIe卡的驱动的unbind值。
可选地,所述存储设备将解绑原驱动的NVMe PCIe卡绑定到UIO驱动,包括:所述存储设备将生产商设备号设置为待绑定NVMe PCIe卡的new_id,将设备序列号设置为待绑定NVMe PCIe卡的bind值,从而将NVMe PCIe卡绑定到新的UIO驱动。
另一方面,本发明提供了一种基于SPDK的ceph分布式存储性能提升装置,运行于存储设备,所述存储设备包括NVMe PCIe卡,所述装置包括:加载模块、获取模块、绑定模块、第一设置模块、第二设置模块和创建模块。加载模块,用于加载UIO驱动;获取模块,用于获取系统的硬件配备信息;绑定模块,用于将硬件绑定到UIO驱动;第一设置模块,用于将OSD的bluestore块设备路径设置为指向NVMe PCIe卡;第二设置模块,用于将OSD的bluestore块设备的数据库和日志路径设置为空,并且其大小为0;创建模块,用于创建OSD,在OSD的BLOCK、DB、WAL按照SPDK的方式配置。
可选地,所述获取模块包括第一获取单元和第二获取单元。第一获取单元:用于获取系统的硬件配备,所述硬件配置包括NVMe PCIe卡的序列号;第二获取单元:用于获取所有的NVMe PCIe卡,通过遍历获取所有的NVMe PCIe卡的设备序列号,从而获取每个NVMePCIe卡的设备号。
可选地,所述绑定模块包括第一绑定单元和第二绑定单元。第一绑定单元:用于将NVMe PCIe卡的原驱动解绑;第二绑定单元:用于将解绑原驱动的NVMe PCIe卡绑定到UIO驱动。
第三方面,本发明提供了一种存储设备,所述存储设备包括多个NVMe PCIe卡、处理器和存储器,所述多个NVMe PCIe卡中每个NVMe PCIe卡均通过总线电连接于所述处理器,所述处理器和所述存储器通过总线电连接;所述存储器中存储有程序代码;所述处理器,用于通过所述总线从所述存储器中读取并运行所述程序代码,执行上述的方法。
本发明具有以下有益效果:
本发明通过在CEPH环境上安装SPDK,通过SPDK驱动来管理存储设备中的NVMe SSD盘,借助SPDK的特点,对CEPH中的OSD的存储设备进行配置,使之规避原有内核驱动的性能不足,从而达到性能提升的目的。
SPDK提供了一组用于编写高性能、可伸缩、用户态存储应用程序的工具和库。SPDK的技术特点是用户态、轮询、异步、无锁NVMe驱动。这提供了从用户空间应用程序直接访问SSD的零拷贝、高度并行的访问。
本发明在IO密集、中断很多的情况下,通过轮询的方式(PMD),可以提高数据处理的效率;代码不会运行在内核中,避免内核上下文切换和中断,从而节省大量的处理开销,允许更多的时钟周期被用来做实际的数据存储。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中所述的基于SPDK的ceph分布式存储性能提升方法流程示意图;
图2是本发明实施例中本申请与未采用SPDK的NVMe PCIe卡测试数据对比显示图(4K随机写);
图3是本发明实施例中本申请与未采用SPDK的NVMe PCIe卡测试数据对比显示图(4K随机读);
图4是本发明实施例中所述的基于SPDK的ceph分布式存储性能提升装置结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,本申请实施例提供了一种基于SPDK的ceph分布式存储性能提升方法,应用于存储设备,所述存储设备包括NVMe PCIe卡,所述方法可以包括步骤S10、步骤S20、步骤S30、步骤S40、步骤S50和步骤S60。
步骤S10:所述存储设备加载UIO驱动。
步骤S20:所述存储设备获取系统的硬件配备信息。
步骤S30:所述存储设备将硬件绑定到UIO驱动。
步骤S40:所述存储设备将OSD的bluestore块设备路径设置为指向NVMe PCIe卡。在步骤S20中获取的NVMe PCIe卡信息为:0000:06:00.0,对OSD的配置进行如下设置:bluestore block path=spdk:0000:06:00.0,从而将OSD的bluestore块设备路径设置为:spdk:0000:06:00.0。
步骤S50:所述存储设备将OSD的bluestore块设备的数据库和日志路径设置为空,并且其大小为0。
大多数情况下,我们只用一个设备来配置OSD的BLOCK(数据块)、DB(数据库)、WAL(日志),因此需要如下设置以确保所有的IO都经过SPDK驱动处理:
bluestore_block_db_path=""
bluestore_block_db_size=0
bluestore_block_wal_path=""
bluestore_block_wal_size=0
这样设置意味着OSD的DB、WAL没有其它,如果不这样设置的话,当前OSD的DB、WAL的IO将通过内核驱动下发,由于这2块的数据读写比较频繁,对性能影响较大。
步骤S60:所述存储设备创建OSD,在OSD的BLOCK、DB、WAL按照SPDK的方式配置。
本步骤可以通过以下命令来进行实现:ceph-volume lvm create–bluestorespdk:0000:06:00.0。
所述步骤S10中,所述加载UIO驱动可以通过命令modprobeuio_pci_generic加载。
可选地,步骤S20可以包括子步骤S201和子步骤S202。
子步骤S201:所述存储设备获取系统的硬件配备,所述硬件配置包括NVMe PCIe卡的序列号。
通过命令lspci-mm-n–D,再加上NVMe PCIe卡的pci信息,可以找到NVMe PCIe卡的序列号,这里要使用的NVMe PCIe卡的设备序列号为0000:06:00.0。
子步骤S202:所述存储设备获取所有的NVMe PCIe卡,通过遍历获取所有的NVMePCIe卡的设备序列号,从而获取每个NVMe PCIe卡的设备号。
通过lsblk获取所有的NVMe PCIe卡,然后通过遍历获取所有的NVMe PCIe卡的设备序列号,以获取NVMe PCIe卡的设备号,这里获取的NVMe PCIe的设备号为nvme0n1。
可选地,步骤S30可以包括子步骤S301和子步骤S302。
子步骤S301:所述存储设备将NVMe PCIe卡的原驱动解绑。
子步骤S301可以包括:所述存储设备获取绑定前NVMe PCIe卡的驱动名称,获取生产商设备号,将生产商设备号设置为NVMe PCIe卡的remove_id,将NVMePCIe卡序列号设置为绑定前NVMe PCIe卡的驱动的unbind值。
首先通过readlink获取绑定前NVMe PCIe卡的驱动名称nvme,然后通过“lspci-n–s 0000:06:00.0”命令获取生产商设备号“8086 0a54”,将生产商设备号设置为NVMe PCIe卡的remove_id,将NVMe PCIe卡序列号设置为绑定前NVMe PCIe卡的unbind值,从而将NVMePCIe卡从原来的nvme驱动中解绑定。
子步骤S302:所述存储设备将解绑原驱动的NVMe PCIe卡绑定到UIO驱动。
子步骤S302可以包括:所述存储设备将生产商设备号设置为待绑定NVMe PCIe卡的new_id,将设备序列号设置为待绑定NVMe PCIe卡的bind值,从而将NVMe PCIe卡绑定到新的UIO驱动。
将生产商设备号设置为待绑定NVMe PCIe卡的new_id,将NVMe PCIe卡序列号设置为uio_pci_generic设备的bind值,从而将NVMe PCIe卡绑定到新的uio_pci_generic。
如图2和图3所示,CEPH集群创建完成后,创建副本的存储池,并在存储池上创建RBD块设备,用FIO工具进行CEPH块设备性能测试,与未采用SPDK的NVMe PCIe卡测试数据对比显示。从图2和图3中可以得出,采用了SPDK后的CEPH集群比之前的CEPH集群有20%-28%的性能提升,证明采用了SPDK后,NVMe在小IO随机读写上是有提升的。FIO是一个IO工具,用于基准和硬件压力测试。
如图4所示,本发明实施例中提供了一种基于SPDK的ceph分布式存储性能提升装置,运行于存储设备,所述存储设备包括NVMe PCIe卡,所述装置包括加载模块1、获取模块2、绑定模块3、第一设置模块4、第二设置模块5和创建模块6。
加载模块1,用于加载UIO驱动;
获取模块2,用于获取系统的硬件配备信息;
绑定模块3,用于将硬件绑定到UIO驱动;
第一设置模块4,用于将OSD的bluestore块设备路径设置为指向NVMe PCIe卡;
第二设置模块5,用于将OSD的bluestore块设备的数据库和日志路径设置为空,并且其大小为0;
创建模块6,用于创建OSD,在OSD的BLOCK、DB、WAL按照SPDK的方式配置。
可选地,所述获取模块2可以包括第一获取单元21和第二获取单元22。
第一获取单元21:用于获取系统的硬件配备,所述硬件配置包括NVMe PCIe卡的序列号。
第二获取单元22:用于获取所有的NVMe PCIe卡,通过遍历获取所有的NVMe PCIe卡的设备序列号,从而获取每个NVMe PCIe卡的设备号。
可选地,所述绑定模块3可以包括第一绑定单元31和第二绑定单元32。
第一绑定单元31:用于将NVMe PCIe卡的原驱动解绑。所述存储设备获取绑定前NVMe PCIe卡的驱动名称,获取生产商设备号,将生产商设备号设置为NVMe PCIe卡的remove_id,将NVMe PCIe卡序列号设置为绑定前NVMe PCIe卡的驱动的unbind值。
第二绑定单元32:用于将解绑原驱动的NVMe PCIe卡绑定到UIO驱动。所述存储设备将生产商设备号设置为待绑定NVMe PCIe卡的new_id,将设备序列号设置为待绑定NVMePCIe卡的bind值,从而将NVMe PCIe卡绑定到新的UIO驱动。
以上各单元可以是由软件代码实现,此时,上述的各模块或单元可存储于存储器内。以上各单元同样可以由硬件例如集成电路芯片实现。
本发明实施例提供的基于SPDK的ceph分布式存储性能提升装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
第三方面,本实施例提供了一种存储设备,所述存储设备包括多个NVMe PCIe卡、处理器和存储器,所述多个NVMe PCIe卡中每个NVMe PCIe卡均通过总线电连接于所述处理器,所述处理器和所述存储器通过总线电连接;所述存储器中存储有程序代码;所述处理器,用于通过所述总线从所述存储器中读取并运行所述程序代码,执行上述的方法。
存储设备还包括存储控制器,存储器、存储控制器、处理器、外设接口、NVMe PCIe卡各元件之间直接或间接地电连接,以实现数据的传输或交互。例如,这些元件之间可以通过一条或多条通讯总线或信号总线实现电连接。基于SPDK的ceph分布式存储性能提升方法分别包括至少一个可以以软件或固件(firmware)的形式存储于存储器中的软件功能模块,例如所述基于SPDK的ceph分布式存储性能提升装置包括的软件功能模块或计算机程序。
存储器可以存储各种软件程序以及模块,如本申请实施例提供的报文发送方法及装置对应的程序指令/模块。处理器通过运行存储在存储器中的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本申请实施例中的报文发送方法。
存储器可以包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器可以是一种集成电路芯片,具有信号处理能力。上述处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (9)

1.一种基于SPDK的ceph分布式存储性能提升方法,其特征在于,应用于存储设备,所述存储设备包括NVMe PCIe卡,所述方法包括:
所述存储设备加载UIO驱动;
所述存储设备获取系统的硬件配备信息;
所述存储设备将硬件绑定到UIO驱动;
所述存储设备将OSD的bluestore块设备路径设置为指向NVMe PCIe卡;
所述存储设备将OSD的bluestore块设备的数据库和日志路径设置为空,并且其大小为0;
所述存储设备创建OSD,在OSD的BLOCK、DB、WAL按照SPDK的方式配置。
2.根据权利要求1所述的基于SPDK的ceph分布式存储性能提升方法,其特征在于,所述存储设备获取系统的硬件配置,包括:
所述存储设备获取系统的硬件配备,所述硬件配置包括NVMe PCIe卡的序列号;
所述存储设备获取所有的NVMe PCIe卡,通过遍历获取所有的NVMe PCIe卡的设备序列号,从而获取每个NVMe PCIe卡的设备号。
3.根据权利要求2所述的基于SPDK的ceph分布式存储性能提升方法,其特征在于,所述存储设备将硬件绑定到UIO驱动,包括:
所述存储设备将NVMe PCIe卡的原驱动解绑;
所述存储设备将解绑原驱动的NVMe PCIe卡绑定到UIO驱动。
4.根据权利要求3所述的基于SPDK的ceph分布式存储性能提升方法,其特征在于,所述存储设备将NVMe PCIe卡的原驱动解绑,包括:
所述存储设备获取绑定前NVMe PCIe卡的驱动名称,获取生产商设备号,将生产商设备号设置为NVMe PCIe卡的remove_id,将NVMe PCIe卡序列号设置为绑定前NVMe PCIe卡的驱动的unbind值。
5.根据权利要求3所述的基于SPDK的ceph分布式存储性能提升方法,其特征在于,所述存储设备将解绑原驱动的NVMe PCIe卡绑定到UIO驱动,包括:
所述存储设备将生产商设备号设置为待绑定NVMe PCIe卡的new_id,将设备序列号设置为待绑定NVMe PCIe卡的bind值,从而将NVMe PCIe卡绑定到新的UIO驱动。
6.一种基于SPDK的ceph分布式存储性能提升装置,其特征在于,运行于存储设备,所述存储设备包括NVMe PCIe卡,所述装置包括:
加载模块,用于加载UIO驱动;
获取模块,用于获取系统的硬件配备信息;
绑定模块,用于将硬件绑定到UIO驱动;
第一设置模块,用于将OSD的bluestore块设备路径设置为指向NVMe PCIe卡;
第二设置模块,用于将OSD的bluestore块设备的数据库和日志路径设置为空,并且其大小为0;
创建模块,用于创建OSD,在OSD的BLOCK、DB、WAL按照SPDK的方式配置。
7.根据权利要求6所述的基于SPDK的ceph分布式存储性能提升装置,其特征在于,所述获取模块包括:
第一获取单元:用于获取系统的硬件配备,所述硬件配置包括NVMe PCIe卡的序列号;
第二获取单元:用于获取所有的NVMe PCIe卡,通过遍历获取所有的NVMe PCIe卡的设备序列号,从而获取每个NVMe PCIe卡的设备号。
8.根据权利要求7所述的基于SPDK的ceph分布式存储性能提升装置,其特征在于,所述绑定模块包括:
第一绑定单元:用于将NVMe PCIe卡的原驱动解绑;
第二绑定单元:用于将解绑原驱动的NVMe PCIe卡绑定到UIO驱动。
9.一种存储设备,其特征在于:所述存储设备包括多个NVMe PCIe卡、处理器和存储器,所述多个NVMe PCIe卡中每个NVMe PCIe卡均通过总线电连接于所述处理器,所述处理器和所述存储器通过总线电连接;所述存储器中存储有程序代码;所述处理器,用于通过所述总线从所述存储器中读取并运行所述程序代码,执行如权利要求1-5任一权项所述的方法。
CN201911396938.9A 2019-12-30 2019-12-30 一种基于SPDK的ceph分布式存储性能提升方法、装置及设备 Active CN111190548B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911396938.9A CN111190548B (zh) 2019-12-30 2019-12-30 一种基于SPDK的ceph分布式存储性能提升方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911396938.9A CN111190548B (zh) 2019-12-30 2019-12-30 一种基于SPDK的ceph分布式存储性能提升方法、装置及设备

Publications (2)

Publication Number Publication Date
CN111190548A true CN111190548A (zh) 2020-05-22
CN111190548B CN111190548B (zh) 2023-09-22

Family

ID=70705918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911396938.9A Active CN111190548B (zh) 2019-12-30 2019-12-30 一种基于SPDK的ceph分布式存储性能提升方法、装置及设备

Country Status (1)

Country Link
CN (1) CN111190548B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113688099A (zh) * 2021-08-09 2021-11-23 浪潮云信息技术股份公司 基于spdk的数据库存储引擎加速方法及系统
CN117149073A (zh) * 2023-08-30 2023-12-01 中科驭数(北京)科技有限公司 存储方案的配置方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160378364A1 (en) * 2015-06-23 2016-12-29 Western Digital Technologies, Inc. Data management for object based storage
US20170024166A1 (en) * 2015-07-21 2017-01-26 Samsung Electronics Co., Ltd. Area and performance optimized namespace sharing method in virtualized pcie based ssd controller
CN107291399A (zh) * 2017-06-30 2017-10-24 郑州云海信息技术有限公司 一种基于spdk的后端存储方法、装置及系统
CN107526544A (zh) * 2017-08-16 2017-12-29 国家电网公司 一种分布式存储Ceph集群硬件选型设计方法
CN108255410A (zh) * 2016-12-28 2018-07-06 华为技术有限公司 一种处理磁盘漫游的方法、装置和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160378364A1 (en) * 2015-06-23 2016-12-29 Western Digital Technologies, Inc. Data management for object based storage
US20170024166A1 (en) * 2015-07-21 2017-01-26 Samsung Electronics Co., Ltd. Area and performance optimized namespace sharing method in virtualized pcie based ssd controller
CN108255410A (zh) * 2016-12-28 2018-07-06 华为技术有限公司 一种处理磁盘漫游的方法、装置和设备
CN107291399A (zh) * 2017-06-30 2017-10-24 郑州云海信息技术有限公司 一种基于spdk的后端存储方法、装置及系统
CN107526544A (zh) * 2017-08-16 2017-12-29 国家电网公司 一种分布式存储Ceph集群硬件选型设计方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113688099A (zh) * 2021-08-09 2021-11-23 浪潮云信息技术股份公司 基于spdk的数据库存储引擎加速方法及系统
CN113688099B (zh) * 2021-08-09 2023-10-13 上海沄熹科技有限公司 基于spdk的数据库存储引擎加速方法及系统
CN117149073A (zh) * 2023-08-30 2023-12-01 中科驭数(北京)科技有限公司 存储方案的配置方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111190548B (zh) 2023-09-22

Similar Documents

Publication Publication Date Title
US9990319B2 (en) Placement of input / output adapter cards in a server
US20150143054A1 (en) Managing Faulty Memory Pages In A Computing System
US9515951B2 (en) Computing system architecture that facilitates forming of customized virtual disks
US20130166672A1 (en) Physically Remote Shared Computer Memory
US20090077284A1 (en) System and Method for Enhancing External Storage
CN111190548B (zh) 一种基于SPDK的ceph分布式存储性能提升方法、装置及设备
CN113407414A (zh) 程序运行监测方法、装置、终端及存储介质
US9672047B1 (en) Systems and methods for accessing a bootable partition on a serial peripheral interface device
US9176676B2 (en) Efficiency of virtual machines that use de-duplication as primary data storage
US10482049B2 (en) Configuring NVMe devices for redundancy and scaling
US20150058926A1 (en) Shared Page Access Control Among Cloud Objects In A Distributed Cloud Environment
US20200401404A1 (en) Host processor configured with instruction set comprising resilient data move instructions
US10628309B1 (en) Loading a serial presence detect table according to jumper settings
US8539461B2 (en) Method for identifying memory of virtual machine and computer system thereof
CN112905381B (zh) 用于获取调用栈中栈帧信息的方法、装置、设备和介质
US9329856B2 (en) Managing a code load
US8918582B2 (en) Simulating EEPROM in virtual distributed switches
EP3504627B1 (en) Read operation redirect
US10606606B1 (en) Multi-platform firmware support
CN110968645B (zh) 分布式系统的数据读写方法、系统、设备和存储介质
US20150339166A1 (en) Memory management for virtual machines
US10452445B2 (en) Dynamically configurable storage clusters
CN107850883B (zh) 一种系统处理方法以及数控系统
WO2017058157A1 (en) Application management data
CN117707641A (zh) 一种线程级动态库的链接方法、装置、操作系统及设备

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