软件定义存储装置与系统的制作方法

文档序号:12022737阅读:209来源:国知局
软件定义存储装置与系统的制作方法

本实用新型公开一种存储装置,特别是指一个机箱包括多个以一服务器与一存储器形成的存储单元的软件定义存储装置与系统。



背景技术:

信息存储方案从单纯设于计算机装置机箱内部或外接的磁盘、硬盘,并延伸到可经由网络存取的网络硬盘,常见如一种网络附加存储(Network Attached Storage,NAS)的存储方案。除了一般存储档案的需求外,利用网络形成的远距数据存储方案还考虑了安全性。

例如,如果仅采用一个硬盘存储档案,当硬盘损毁时,不容易恢复档案,因此现有技术提出一种采用两个以上的硬盘的备援方案,例如一种容错性的磁盘阵列(Redundant Array of Independent Disks)技术,可以使得如网络附加存储的存储装置具有容错的能力。



技术实现要素:

本实用新型提出一种软件定义存储装置,所述软件定义存储装置包括:至少一个封包交换单元,用以连接一外部网络;以及多个存储单元,各存储单元包括一伺服单元以及一存储器,该伺服单元以至少一网络端口连接该至少一个封包交换单元,该伺服单元以一数据传输端口连接该存储器;其中各伺服单元的每个网络端口对应有一识别地址;其中该多个存储单元的不同伺服单元之间以一网络协议彼此进行通讯,以一存储模式存储一数据。

进一步地,所述封包交换单元为设于该软件定义存储装置内的一网络交换器,用以连接至少一个外部交换器。

进一步地,所述至少一个封包交换单元分别连接一或多个外部交换器,以于该软件定义存储装置中实现网络联机备援。

进一步地,所述至少一个封包交换单元为多个封包交换单元,各存储单元的该伺服单元具有多个网络端口,分别连接各封包交换单元,以于该软件定义存储装置中实现数据存取备援。

本实用新型还提出一种软件定义存储装置,所述软件定义存储装置包括:至少一个封包交换单元,用以连接一外部网络;以及多个存储单元,各存储单元包括一伺服单元以及一存储器,该伺服单元以至少一网络端口连接该至少一个封包交换单元,该伺服单元以一数据传输端口连接该存储器;其中各伺服单元的每个网络端口对应有一识别地址;其中各伺服单元包括一处理单元、一记忆单元、一存储器控制单元、一输入输出单元以及一网络单元,其中该存储器控制单元用以连接该伺服单元对应的该存储器,以及该网络单元连接该至少一个封包交换单元;其中,该多个存储单元的不同伺服单元之间以一网络协议彼此进行通讯,以一存储模式存储一数据。

进一步地,所述封包交换单元为设于该软件定义存储装置内的一网络交换器,用以连接至少一个外部交换器。

进一步地,所述至少一个封包交换单元分别连接一或多个外部交换器,以于该软件定义存储装置中实现网络联机备援。

本实用新型还提出一种软件定义存储系统,所述软件定义存储系统包括:多个软件定义存储装置,该多个软件定义存储装置经由一或多个外部交换器连接,各软件定义存储装置包括:多个封包交换单元,用以连接一外部网络;多个存储单元,各存储单元包括一伺服单元以及一存储器,该伺服单元以多个网络端口分别连接该多个封包交换单元,该伺服单元以一数据传输端口连接该存储器;其中各伺服单元的每个网络端口对应有一识别地址;其中,该多个存储单元的不同伺服单元之间以一网络协议彼此进行通讯,以一存储模式存储一数据;以及,各软件定义存储装置的该多个封包交换单元分别连接一或多个外部交换器,以于该软件定义存储装置中实现网络联机备援。

进一步地,各存储单元的该伺服单元具有多个网络端口,分别连接该多个封包交换单元,以于该软件定义存储装置中实现数据存取备援。

进一步地,各软件定义存储装置中的该多个存储单元的不同伺服单元之间以一网络协议彼此进行通讯。

附图说明

图1A与图1B显示本创作软件定义存储装置的基本实施态样的示意图;

图2显示本创作软件定义存储装置的实施例示意图;

图3显示应用本创作软件定义存储装置形成的网络系统的实施例示意图;

图4显示本创作软件定义存储装置的实施例示意图;

图5显示应用软件定义存储装置的存储方法实施例流程图;

图6显示应用软件定义存储装置的存储方法实施例流程图。

具体实施方式

本创作说明书描述一种软件定义存储装置与系统,可以提供一网络存储方案,不仅具有高可用性(high availability),还具有可扩充性。软件定义存储装置为系统的最小单位,可以单独运行,亦可由多个软件定义存储装置组合形成软件定义存储系统。

实施例可参考图1A所示软件定义存储装置的基本实施态样的示意图,根据软件定义存储装置实施例,装置(如在一个机箱中)包括至少一个封包交换单元10以及多个存储单元(第一存储单元101、第二存储单元102),封包交换单元10用以连接一外部网络,每个存储单元(101,102)则包括一组伺服单元(11,12)以及存储器(13,14)。此例显示第一存储单元101包括第一伺服单元11与第一存储器13,第一伺服单元11一端连接封包交换单元10,另一端则连接着第一存储器13,如此形成软件定义存储装置中的一个存储单元;软件定义存储装置中的第二存储单元102则包括第二伺服单元12与第二存储器14。

第一或第二伺服单元(11,12)以至少一网络端口连接封包交换单元10,在再一实施例中,软件定义存储装置可以包括两个或以上的封包交换单元10,第一或第二伺服单元(11,12)即可同时连接这两个或以上的封包交换单元10,平时可以执行联机负载平衡,若有联机失效(包括端口失效,或是线路断线等)则可以达成联机备援的目的。也就是,当其中有一联机失效,另一联机仍可以继续运作,原本的端口将被终止服务或是进入休眠状态,装置的运作不会被联机失效所影响。其中,每个伺服单元(11,12)设定每个网络联机具有一个识别地址,也就是识别存储单元(101,102)的地址,实施时可如IP地址,使得每个网络端口对应有识别地址。所述网络端口例如使用RJ-45规格的端口,但不排除其他传送封包数据的规格。

存储器(13,14)如硬式磁盘驱动器,或固态硬盘(SSD,Solid StateDrive),第一伺服单元11与第二伺服单元12分别以一数据传输端口连接第一存储器13与第二存储器14,两者的联机如使用一种序列先进技术附接(SATA,Serial Advanced Technology Attachment)规格,亦不排除其他存储器的数据接口规格,如SCSI、IDE、PCI-E等。

在此软件定义存储装置的架构下,一个存储单元中一个伺服单元负责一个存储器的运作,多个存储单元(101,102)中的不同伺服单元(11,12)之间以一网络协议彼此进行通讯,如经由此例的封包交换单元10进行信号往来与通讯,可以某个存储模式存储数据。其中网络协议主要规范封包交换单元之间的通讯信息,包括沟通分布式存储、备援机制、负载平衡等运作,以及建立每个数据存储后产生的索引信息,让数据存取时可以从这些索引信息得知数据每个段落的分布。

例如,当执行分布式存储模式时,第一伺服单元11与第二伺服单元12接获指令,对特定数据以一分布式存储算法运算,分别以第一存储器13与第二存储器14实现分布式存储的目的。

图1B进一步以示意图描述软件定义存储装置中各存储单元(101,102)内的伺服单元(11,12)为一种微服务器(micro-server)的架构,每个软件定义存储装置内的多个微服务器形成一个小型的存储丛集,多个软件定义存储装置通过网络连接后可以形成一个具有扩充性的大型的存储丛集。微服务器根据来自各客户端装置所传送的数据,以及所采用的存储模式,使得经运算的数据能够以特定模式存储在各存储器中。

微服务器中运作一内嵌式操作系统,相关硬件如图1B所示,在第一存储单元101中的第一伺服单元11中包括有处理单元111、记忆单元112、存储器控制单元113、输入输出单元114以及网络单元115等主要的硬件电路组件,第一伺服单元11连接至少一个存储器,如第一存储器13。其中,以一处理器实现演算数据存储的处理单元111,在微服务器中,如一ARM(Advanced RISC Machine)架构的处理器;记忆单元112则可为微服务器中的系统内存;存储器控制单元113则是连接所属第一伺服单元11对应的第一存储器13,用以控制第一存储器13的运作,可如一SATA控制器;输入输出单元114则可为处理进出微服务器数据的I/O电路,而网络单元115可为执行特定网络协议与处理网络封包的电路(PHY),可具备一或多个网络端口,可以连接至少一个封包交换单元10。

相似地,第二伺服单元12主要包括处理单元121、记忆单元122、存储器控制单元123、输入输出单元124以及网络单元125等主要的硬件电路组件,细节不在此赘述。

根据图1A与图1B的软件定义存储装置的架构实施例,其中微服务器可以将客户端装置传送的数据以特定存储模式将数据存储在目的存储器中,除了执行一般存储程序外,微服务器中运作的程序可以处理各种文件系统(file system)的文件格式(file format),支持各种存储器可以运行的文件系统,并可运行各种服务,如网页服务器、文件服务器、数据库、虚拟主机等。

图2显示本创作软件定义存储装置的另一实施例示意图。

此例显示为软件定义存储装置20,装置可以实现在同一个机箱内,其中设有两个封包交换单元,封包交换单元可为一个封包交换电路,亦能如同装置内的网络交换器,用以连接至少一个外部交换器。图中显示为第一封包交换单元21与第二封包交换单元22,两个封包交换单元彼此可经由外部交换器(此例未示)联机,使得软件定义存储装置20内的多个存储单元中的多个伺服单元可以一网络协议进行通讯,使得软件定义存储装置20实现某个存储算法,此例示意显示有四组存储单元,分别为第一伺服单元201与第一存储器211、第二伺服单元202与第二存储器212、第三伺服单元203与第三存储器213,以及第四伺服单元204与第四存储器214。每个伺服单元分别控制所联机存储器的存取运作,其中运行存储算法,可以根据需求执行单一数据存储、分布式存储等,并可利用使得软件定义存储装置20执行数据备份(多存储一份数据),或是实现具有容错能力(如采用一同位硬盘)的数据存取备援等存储方案等。

第一伺服单元201、第二伺服单元202、第三伺服单元203与第四伺服单元204中的每一个至少包括多个(此例为两个)网络端口,以分别连接第一封包交换单元21与第二封包交换单元22,一般情况可以执行多线路流量负载平衡(Load Balancing),可以解决网络联机拥塞的问题;另可提供网络联机备援,也就是网络线路上的故障转移(failover)能力,当有任一网络联机失效(如其中的一个封包交换单元失效),另一网络联机将可取代,并等待失效联机恢复运作,期间并不会影响软件定义存储装置20的运作。

当有多个软件定义存储装置通过网络或是特定方式联机时,可以实现一个存储装置的软件定义存储系统,实施例示意图可参考图3所示的软件定义存储系统的网络架构示意图。

图中显示多种组合样态的软件定义存储装置(301,302,303,304)经由网络30联机,各端装置或系统应通过一或多个外部交换器联机网络30,在此不再赘述。其中软件定义存储装置301与软件定义存储装置302如同说明书图1A或图1B所示的软件定义存储装置的基本实施态样;软件定义存储装置303如同图2显示在一个装置内设有多个封包交换单元的实施态样;软件定义存储装置304则是为多个软件定义存储装置所实现的丛集式软件定义存储装置,可以定义为一软件定义存储系统。图中显示各端的软件定义存储装置仅为示意图,其中联机并非实际实现的样态。

根据实施例,软件定义存储系统中可以经由网络30联机多端的软件定义存储装置或存储系统形成一个大型的网络存储方案,各端的软件定义存储装置中的存储单元如上述实施例所述,具有一个伺服单元与一个存储器,各端软件定义存储装置中的各存储单元中的伺服单元可以经由网络30相互以一网络协议通讯,产生更多变化的数据存储方案,提供更安全与高可用性的数据存取备援服务。

在使用者端,如图显示的客户端装置305,其中执行一存储演算程序,存储演算程序记载一软件定义存储系统的一配置文件,这个配置文件就记载了整个系统的配置,也就是软件定义存储系统整体所涵盖的各式软件定义存储装置或是各端由多个存储装置组成的系统,特别是,每个软件定义存储装置中的存储单元的伺服单元都是联机到网络30的服务器(或执行于特定装置内的伺服程序),配置文件还记载了其中网络端口都设有网络可识别的网络地址。因此,当使用者于客户端装置305处执行存储演算程序时,将可以选择所需的存储方案,执行存储演算程序时,即依照存储方案设定存储模式,并根据存储模式演算出一或多个存储目的地,并能据此将数据分拆为多个分段,再将分拆后的数据传送到软件定义存储装置(301,302,303,304),并可由其中各伺服单元传送到演算得到的存储单元中。

值得一提的是,软件定义存储系统具有可扩充性,当有一端软件定义存储装置或是存储系统中的存储单元有任何异动,如加入或移除一组存储单元,客户端装置305中的配置文件都应该要更新。

举例来说,当在客户端装置305中设定存储方案为单一数据存储,存储演算程序即根据目前配置文件演算决定一处存储地址,或是加入一备份地址,存储演算程序即依据此配置文件传送相关数据至存储目的地,其中识别各伺服单元位置的识别地址如IP地址,之后由系统中某一伺服单元接收后,解析数据的关联信息,如数据随附的封包信息,能根据解析得到的存储模式执行一存储算法。当存储模式为分布式存储,经客户端装置305执行的存储演算程序运算后,可以得出多组存储目的地的信息,如识别地址,之后某个目的地的伺服单元即运算存储演算,将数据依照分布式计算后依据设定拆分为多份,通过多个伺服单元之间的网络协议沟通,分别将拆分后数据传送到各目的地存储单元。

图4接着显示软件定义存储装置之间通过外部交换器联机而形成存储系统的实施例示意图。

图中显示有两个软件定义存储装置,分别为第一软件定义存储装置43与第二软件定义存储装置44,每个软件定义存储装置中的封包交换单元都至少包括两个网络联机端口,对外分别连接到两个外部交换器,如图示的第一外部交换器41与第二外部交换器42,因此,配合各软件定义存储装置内部已经实现的网络联机备援机制,整个软件定义存储系统提供了更为安全与更完整的联机备援措施,使得系统具有高可用性。

此例中,第一软件定义存储装置43内部包括有第一封包交换单元431与第二封包交换单元432,可以提供内部的网络联机备援,有第一封包交换单元431与第二封包交换单元432还分别联机到联机外部网络的第一外部交换器41与第二外部交换器42,当有某一交换器失效,仍可以另一交换器联机外部网络。

第一软件定义存储装置43设有四组分别运作的存储单元,彼此之间不会被干扰,亦不会因为其中的一个存储单元有问题而被影响。第一伺服单元4311经由特定数据联机连接第一存储器4313,第二伺服单元4312连接第二存储器4314,第三伺服单元4321连接第三存储器4323,以及第四伺服单元4322连接第四存储器4324。

第二软件定义存储装置44同样设有第一封包交换单元441与第二封包交换单元442,以及四组存储单元,包括第一伺服单元4411与连接的第一存储器4413、第二伺服单元4412与连接的第二存储器4414、第三伺服单元4421与连接的第三存储器4423,以及第四伺服单元4422与所联接的第四存储器4424。第一伺服单元4411、第二伺服单元4412、第三伺服单元4421与第四伺服单元4422除了提供数据存储备援服务外,亦因为各伺服单元分别都连接了第一封包交换单元441与第二封包交换单元442,还具备网络联机备援的功能。

所述第一软件定义存储装置43与第二软件定义存储装置44因为外部交换器可以相互联系,形成一个存储系统,其中伺服单元(4311,4312,4321,4322,4411,4412,4421,4422)随时经由网络相互通讯,协同合作后提供客户各种存储方案,还实现数据存取备援。

以上范例显示的第一软件定义存储装置43或第二软件定义存储装置44因为分别设有四组存储单元,因此可以分别以软件控制的方式运作单一数据存储、备份,以及分布式存储等方案,并可提供容错机制。然而,经由外部交换器(41,42)的联机后,还可以多个软件定义存储装置(43,44),经由存储算法的软件方法,提供更多元的数据存储方案。本实施例的存储装置内的封包交换单元、伺服单元与存储器的数量仅为示意描述本创作的系统运作,并不用来限制本创作的范围。

图5显示应用软件定义存储装置(或系统)的存储方法实施例流程图,此流程描述运行于客户端装置的流程,主要是如步骤S501所述,在各客户端装置中执行一存储演算程序,此存储演算程序将可依据使用者设定,以及整体软件定义存储系统的设置执行存储演算。接着如步骤S503,使用者选择欲存储的数据,可于装置内先执行初步作业,如步骤S505,对数据执行哈希演算(hash),将数据转换为特定哈希字符串,由于哈希算法所计算出来的哈希值(Hash Value)具有不可逆的性质,因此可有效的保护数据与关联信息。并如步骤S507,由使用者设定存储模式,再如步骤S509,存储演算程序将根据存储模式演算出一或多个存储目的地,特别可于资料(经哈希演算)封包中记载存储模式与目的地识别地址。之后,如步骤S511,经由网络传送数据封包至目的地相关的软件定义存储装置,可由各端伺服单元经网络协议决定由某一节点运算,如步骤S513,由某个目的地伺服单元执行存储程序。

软件定义存储装置(或系统)提供的存储方案除了一般数据存储外,亦提供经过其中多个伺服单元中运行的存储算法提供分布式存储方案,另可配合客户端装置内执行的存储演算程序设定存储模式与决定存储的目的地位置。客户端的存储演算程序的配置文件记载了相关软件定义存储系统的设定,藉此可以知悉软件定义存储系统下的网络拓朴,包括外部交换器以及所有软件定义存储装置中的封包交换单元与存储单元的识别地址等。进一步,客户端装置中的存储演算程序亦可提供使用者取回数据,也就是在存储数据时,会于系统端形成数据索引,于是取回数据将可依据数据索引还原数据。

在系统端的存储程序可参阅图6所示的存储方法实施例流程图。

如步骤S601,当客户端完成数据传送后,由系统端的某服务器,如软件定义存储装置中的伺服单元,接收数据与关联信息形成的封包,再如步骤S603,运作在伺服单元中的程序先解析数据封包,包括数据与相关信息,如步骤S605,能解析得出存储模式与存储目的地,再如步骤S607,伺服单元将根据存储模式执行存储算法,包括以伺服单元之间的网络协议与其他伺服单元协同作业执行特定存储方案。

接着,如步骤S609,根据解析得出的一或多个存储目的地,将数据以一整体或以分布式存储演算后的分散值存储至一或多个存储单元,并在各伺服单元中形成数据索引,其中记载数据的存储设定,如步骤S611,相关设定包括数据索引所记录的数据位置,也包括记录每一个数据中经分散运算后的数据的存放位置,好让之后存取数据时让伺服单元可以正确的取得相关数据,数据索引的功能就是协助搜寻数据以及还原经分散运算后的数据。

是以,说明书描述为一种软件定义存储装置与系统,可以在软件定义存储装置内实现网络联机备援与数据存取备援,以及在多个软件定义存储装置形成的系统中同样实现数据存取备援。整体实现的架构为:客户端装置(执行存储演算程序)、网络交换器,以及各端软件定义存储装置(由多组存储单元组成),多个软件定义存储装置通过网络交换器链接,各软件定义存储装置内伺服单元将可独立联机网络交换器。因此,本创作提出的软件定义存储装置中的每一个,或是经由网络联机多个软件定义存储装置形成的系统除了具有高可用性、可扩充性外,还可以提供多元的存储方案。

以上所述仅为本创作的较佳可行实施例,凡依本创作申请专利范围所做的均等变化与修改,皆应属本创作的涵盖范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1