本申请涉及数据存储,更具体地,涉及一种数据存储方法和装置。
背景技术:
1、ceph系统作为一种统一的分布式存储系统,其是一种当前被广泛使用的能够提供较好的性能、可靠性和可扩展性的系统,目前已得到众多云计算厂商的支持。
2、ceph系统可包括多个服务器,其中,服务器可以是监控器(或监控器节点)或者是对象存储装置(object storage device,osd)(或osd节点)。目前,osd节点一般以包括x86cpu和至少一个数据存储装置(例如,固态驱动器(solid state driver,ssd))的服务器的形式来实现,其中,x86 cpu运行与数据存储装置相应的osd守护进程(demon)以实现对数据的访问。
3、图1示出了诸如ceph系统的分布式存储系统的服务器集群的示例。
4、参照图1,服务器集群包括3个监控器节点和8个osd节点,其中,每个节点由基于x86 cpu的服务器来实现。该集群大约需要两个42u机柜来放置,这会导致较高的空间成本。
5、另外,一个x86 cpu一般可运行多个osd守护进程。然而,为了数据存储的高可靠性,一个osd节点一般仅运行一个osd守护进程。例如,参照图1,一个osd节点仅包括一个ssd,因此其x86 cpu仅运行一个osd守护进程,从而导致硬件的低利用率和较高的硬件成本。同时,由于x86 cpu的功耗较高,因此,利用x86 cpu的服务器集群会导致较高的供电成本。
6、因此,可提供一种降低布置分布式存储系统(诸如,ceph系统)的成本的方案。
技术实现思路
1、本发明的目的在于提供一种数据存储方法和装置,其通过将处理器内嵌在以太网ssd中来实现osd可降低ceph系统的布置成本。
2、根据本公开的实施例的一方面,提供了一种由存储系统的对象存储装置osd的至少一个处理器执行的数据存储方法,所述方法包括:通过所述osd的以太网固态驱动器ssd的以太网接口从外部装置接收数据;以及将所接收到数据存储在所述以太网ssd中。
3、根据本公开的实施例,相较于现有技术中以服务器的形式实现osd,本公开的osd以内嵌有处理器的以太网ssd来实现,可降低ceph系统的布置成本(例如,功耗、空间成本以及硬件成本)。
4、可选地,将所述接收到的数据存储在所述以太网ssd中的步骤包括:处理所述接收到的数据以生成处理后的数据;将所述处理后的数据存储在所述以太网ssd中;以及将与所述接收到的数据相关联的元数据存储在所述osd的所述处理器的内存中。
5、根据本公开的实施例,直接通过以太网ssd的以太网接口接收外部数据,而不是经由服务器的以太网接口接收数据,因此无需服务器的以太网接口,从而可降低硬件成本。此外,由内嵌在以太网ssd中的处理器来处理数据,并由所述处理器的内存存储元数据,因此无需服务器的复杂配置。
6、可选地,将所述处理后的数据存储在所述以太网ssd中的步骤包括:将所述处理后的数据发送到所述以太网ssd的控制器以使得所述以太网ssd通过所述控制器将所述处理后的数据存储到所述以太网ssd的存储单元中。
7、可选地,所述处理器为高级精简指令集计算机(arm)cpu。
8、根据本公开的实施例,由于arm cpu具有较小的功耗和以及较低的价格,并且由于arm cpu的计算能力与osd守护进程匹配,因此,可降低osd的布置成本,并且arm cpu的硬件利用率可以接近100%。
9、可选地,所述外部装置为所述存储系统的其它osd或者监控器。
10、可选地,所述方法还包括:运行与所述osd相应的osd守护进程daemon以通过所述以太网接口执行以下操作中的至少一项:数据复制、数据再平衡、心跳heartbeat检测。
11、根据本公开的实施例,通过执行数据复制、数据再平衡和/或心跳heartbeat检测,可以保证数据存储的可靠性与安全性。
12、根据本公开的实施例的一方面,提供了一种存储系统的对象存储装置(osd),包括:以太网固态驱动器ssd,包括以太网接口;以及处理器,内嵌在所述以太网ssd中,并且被配置为:通过所述以太网接口从外部装置接收数据,并将所接收到数据存储在所述以太网ssd中。
13、可选地,所述处理器被配置为:处理所述接收到的数据以生成处理后的数据;将所述处理后的数据存储在所述以太网ssd中;以及将与所述接收到的数据相关联的元数据存储在所述处理器的内存中。
14、可选地,所述处理器被配置为:将所述处理后的数据发送到所述以太网ssd的控制器以使得所述以太网ssd通过所述控制器将所述处理后的数据存储到所述以太网ssd的存储单元中。
15、可选地,所述处理器为高级精简指令集计算机arm cpu。
16、可选地,所述外部装置为所述存储系统的其它osd或者监控器。
17、可选地,所述处理器还被配置为:运行与所述osd相应的osd守护进程daemon以通过所述以太网接口执行以下操作中的至少一项:数据复制、数据再平衡、心跳heartbeat检测。
18、根据本公开的实施例的一方面,提供了一种具有存储的指令的非暂时性计算机可读存储介质,其中,当所述指令被存储系统的对象存储装置osd的处理器运行时,使得所述处理器执行包括以下步骤的方法:通过所述osd的以太网固态驱动器ssd的以太网接口从外部装置接收数据;以及将所接收到数据存储在所述以太网ssd中。
19、可选地,将所述接收到的数据存储在所述以太网ssd中的步骤包括:处理所述接收到的数据以生成处理后的数据;将所述处理后的数据存储在所述以太网ssd中;以及将与所述接收到的数据相关联的元数据存储在所述osd的所述处理器的内存中。
20、可选地,将所述处理后的数据存储在所述以太网ssd中的步骤包括:将所述处理后的数据发送到所述以太网ssd的控制器以使得所述以太网ssd通过所述控制器将所述处理后的数据存储到所述以太网ssd的存储单元中。
21、可选地,所述处理器为高级精简指令集计算机(arm)cpu。
22、可选地,所述外部装置为所述存储系统的其它osd或者监控器。
23、可选地,,所述方法还包括:运行与所述osd相应的osd守护进程daemon以通过所述以太网接口执行以下操作中的至少一项:数据复制、数据再平衡、心跳heartbeat检测。
1.一种由存储系统的对象存储装置osd的至少一个处理器执行的数据存储方法,所述方法包括:
2.如权利要求1所述的方法,其中,将所述接收到的数据存储在所述以太网ssd中的步骤包括:
3.如权利要求2所述的方法,其中,将所述处理后的数据存储在所述以太网ssd中的步骤包括:
4.如权利要求1所述的方法,其中,所述处理器为高级精简指令集计算机arm cpu。
5.如权利要求1所述的方法,其中,所述外部装置为所述存储系统的其它osd或者监控器。
6.如权利要求1所述的方法,还包括:
7.一种存储系统的对象存储装置osd,包括:
8.如权利要求7所述的osd,其中,所述处理器被配置为:
9.如权利要求8所述的osd,其中,所述处理器被配置为:
10.一种具有存储的指令的非暂时性计算机可读存储介质,其中,当所述指令被存储系统的对象存储装置osd的处理器运行时,使得所述处理器执行包括以下步骤的方法: