一种高性能海量存储系统及存储方法

文档序号:7810436阅读:219来源:国知局
一种高性能海量存储系统及存储方法
【专利摘要】本发明公开了一种高性能海量存储系统及存储方法,属于存储【技术领域】,海量存储系统包括文件服务器和网络磁盘阵列群,网络磁盘阵列群包括多台网络磁盘阵列,所有的网络磁盘阵列按DAS方式通过外设通道挂接在文件服务器上,然后所有的网络磁盘阵列及文件服务器再通过网络通道连接在交换网络上;网络用户连接在交换网络上,网络用户通过交换网络与文件服务器及网络磁盘阵列交互;文件服务器负责监视该海量存储系统中的所有操作,并为网络用户提供数据描述;网络磁盘阵列负责网络用户的数据的存取;外设通道为SCSI总线或FC总线或者是网络通道。本发明的同时具备集中式存储系统和分布式存储系统两者的优点,实现文件集中管理、数据分布存储。
【专利说明】一种高性能海量存储系统及存储方法
[0001]

【技术领域】
[0002] 本发明涉及一种存储【技术领域】,具体地说是一种高性能海量存储系统及存储方 法。

【背景技术】
[0003] 现代信息技术的飞速发展,导致了用户对存储产品和存储服务需求的爆炸性增 长。目前计算机存储系统的性能远远不能满足许多实际应用的需求,因而如何建立高性能 的存储系统成为人们关注的焦点。
[0004] 而传统的海量存储系统的网络请求采用以服务器为中心的迂回传输模式,即所 有网络请求由服务器统一管理,导致数据流在服务器与存储设备之间往返传送和转发,月艮 务器中CPU、内存以及I/O总线存在潜在的瓶颈,极大的影响了系统带宽和服务器的平均 响应速度。而且,无法实现共享存储,系统的可扩展性也受到很大的限制。
[0005] 采用具有新型I/O通道体系结构的存储系统可以极大地提高性能,但一味地依 靠扩展系统的硬件性能终究会有上限。因此,传统存储系统体系结构虽可提供大的存储容 量,但不适合于构造海量存储系统。构造一个高性能的海量存储系统不仅需要极大的存储 容量和高I/O带宽,还必须具有高可扩展性、高可用性、可管理性以及低的价格。因而采用 分布式存储系统结构是实现海量信息存储的选择。将数据分割(比如说块)分别存放在不 同的存储设备上,利用对不同存储设备的并行操作来提高系统的性能。但分布式系统的存 储管理存在很大的难度,统计数据表明,在分布环境下,存储管理大约要消耗存储成本 总额的55%。集中式的存储则能减少管理开销和提高管理质量。可见,如果采用集中式的 存储管理,特别是对于海量存储系统中大量的存储资源的管理,将可以极大地降低存储 管理的开销。
[0006] 因此如何构建出一种高性能的海量存储系统,使其文件集中管理和数据分布存 储的体系结构结合起来,能加快数据传输速度、降低存储管理开销,同时实现命令与数据 分流、扩容与增速同步来大大提高了整个存储系统的性能成为一个重要和急需解决的问 题。


【发明内容】

[0007] 本发明的技术任务是提供一种同时具备集中式存储系统和分布式存储系统两者 的优点,实现文件集中管理、数据分布存储的一种高性能海量存储系统及存储方法。
[0008] 本发明的技术任务是按以下方式实现的, 一种高性能海量存储系统,海量存储系统包括文件服务器和网络磁盘阵列群,网络磁 盘阵列群包括多台网络磁盘阵列,所有的网络磁盘阵列按DAS方式通过外设通道挂接在文 件服务器上,然后所有的网络磁盘阵列及文件服务器再通过网络通道连接在交换网络上; 网络用户连接在交换网络上,网络用户通过交换网络与文件服务器及网络磁盘阵列交互; 文件服务器负责监视该海量存储系统中的所有操作,并为网络用户提供数据描述;网络磁 盘阵列负责网络用户的数据的存取;外设通道为SCSI总线或FC总线或者是网络通道。
[0009] 海量存储系统中的软件结构分为三个层次:通道控制层、命令控制层和网络通讯 层; (1) 、通道控制层:负责文件服务器与网络磁盘阵列群间的命令和控制信息的传递;分 为驻留文件服务器的通道控制器和驻留在网络磁盘阵列群的通道控制器;文件服务器中的 通道控制器用于建立文件服务器与网络磁盘阵列群的命令通道,网络磁盘阵列群中的通道 控制器,负责接收来自文件服务器的命令和消息; (2) 、命令控制层:用于解析网络用户的I/O请求,获得数据所在网络磁盘阵列的网络 地址,实现请求服务;分为文件服务器中的命令解析器和网络磁盘阵列群中的命令执行 器;驻留在文件服务器的命令解析器用于网络用户请求进行认证及处理;驻留在网络磁盘 阵列群中的命令执行器用于对网络用户请求进行分解、合并或调度、执行; (3) 、网络通讯层:用于处理多个网络存储阵列的存储节点的命令和数据的网络传输; 分为文件服务器的网络通讯层、网络用户的网络通讯层、网络磁盘阵列群的网络通讯层。 [0010] 通道控制层:文件服务器中的通道控制器用于建立文件服务器与网络磁盘阵列群 的命令通道,文件服务器中的通道控制器只执行其中涉及控制文件系统结构和文件属性的 I/O任务;文件服务器的通道控制器直接利用文件服务器现有的SCSI通道驱动程序;网 络磁盘阵列群中的通道控制器,负责接收来自文件服务器主从外设通道的所有I/O命令 和消息,将执行结果回送给文件服务器。
[0011] 命令控制层:驻留在文件服务器的命令解析器包括用户请求处理、地址解析、访问 控制模块,它根据记载的网络用户信息,对网络用户请求进行认证,判定其合法性和请 求权限,依据请求的类型分别处理,对于网络用户的文件读写请求,经地址解析后生成 相应的网络磁盘阵列的网络地址信息,地址解析完成后,将用户授权通过通道控制层通知 网络磁盘阵列群,将授权字、网络磁盘阵列的网络地址信息通过网络通讯层通知网络用 户;驻留在网络磁盘阵列群中的命令执行器包括I/O调度、命令分解/合并、Buffer管理模 块,动态的对来自外设通道和网络通道的I/O命令进行分解、合并和调度,执行实际的磁 盘I/O操作,操作完成后,经由网络通讯层与网络用户交换文件数据,或者经由通道控制 层给文件服务器回送执行结果。
[0012] 网络通讯层:文件服务器的网络通讯层接受网络用户的服务请求,传送给命令 控制层并将命令控制层的分析结果反馈给网络用户;网络用户的网络通讯层负责向文件服 务器提交请求并接收文件服务器返回的结果,网络用户的网络通讯层还负责建立与网络磁 盘阵列群的网络连接;网络磁盘阵列群的网络通讯层与网络用户的网络通讯层一起,完 成网络磁盘阵列群与网络用户之间直接传送数据的任务。
[0013] 一种高性能海量存储方法,使用海量存储系统进行对数据的存储,文件组织方式 分为两种: (1)、独立的文件组织方式:网络磁盘阵列作为独立的存储单元,每台网络磁盘阵列在 文件服务器上具有单独的目录节点,每个目录节点上能够建立不同的文件系统,存储不同 类型的文件(如视听、文本等),并各自处理网络用户数据的存取和网络传输;当网络用户 对不同的目录节点发出请求时,多个请求能够在多个网络磁盘阵列上并行服务; (2 )、分布式的文件组织方式:多个网络磁盘阵列的存储节点上的存储空间被虚拟成 一个存储空间的单一逻辑视图,数据分块存放在多个存储节点上;面对网络用户多个小数 据量的请求时,能够由多个存储节点并行地独立完成;面对网络用户一个大数据量的请求 时,数据分布在多个存储节点上,多个存储节点并行操作。
[0014] 一种高性能海量存储方法,文件组织方式为独立的文件组织方式,数据存储的步 骤为: (1) 、当一个网络用户试图存取数据时,它通过数据表示向文件服务器发出请求,文 件服务器启动它的存取控制机制判断该网络用户是否有存储这一数据的权限,然后再检 查是否有其他用户锁定这一数据;如果网络用户不能存取数据,文件服务器就会向网络 用户发出拒绝或错误信息; (2) 、如果网络用户拥有存取权限且并没有被文件锁定拒绝,文件服务器就通过数据结 构判断数据的网络地址,数据的网络地址即数据所在网络磁盘阵列的存储节点在海量存储 系统中的位置(因为数据位置不仅仅是逻辑块地址,还包括附加的网络地址或存储节点的 名称)和存储位置,然后将其传送到网络用户,网络用户接收到数据的网络地址后重新组 织数据结构,然后通过网络通道直接与该数据所在的网络磁盘阵列交互并存取数据。
[0015] 此时既可以采用基于NFS或CIFS的文件I/O进行交互,也可以采用基于SCSI协 议或FC协议的块I/O进行交互。独立的文件组织管理器体现的就是一种集中管理的思想, 以便于降低管理开销提高管理质量。
[0016] 一种高性能海量存储方法,文件组织方式为分布式的文件组织方式,海量存储系 统中的数据分布存储在多个网络磁盘阵列的存储节点上,所有使用该海量存储系统的网 络用户都使用同一个文件组织系统映像数据的网络地址;该文件组织系统通过使用数据结 构来实现这种映像,其数据结构将所有存储节点的网络地址作为数据寻址运算法则的一 部分;使用RAID算法在存储系统中处理文件组织和数据冗余;采用分块技术将目录数据、 文件数据和数据结构跨越存放在多个网络磁盘阵列的存储节点上。
[0017] 一种高性能海量存储方法,网络用户的I/O请求采用块I/O ;来自网络用户的块1/ 0在海量存储系统上的数据流向:来自网络用户的块I/O请求本身包含了请求数据在目标 网络磁盘阵列上的数据结构,数据结构内包含数据的网络地址,当文件服务器通过TCP/IP 协议栈接收到网络用户的块I/O请求后,将该I/O请求转交给卷管理器,然后通过网络磁 盘阵列的设备驱动程序访问相应的数据。
[0018] 本发明的一种高性能海量存储系统及存储方法具有以下优点: 1、 通过建立网络磁盘阵列与网络用户间的直接联系,使得网络磁盘阵列的命令与数 据分流,免除了数据流在文件服务器与网络磁盘阵列之间的存储转发,克服了原有系统 的文件服务器瓶颈; 2、 如果在文件服务器上接入多台网络磁盘阵列,则每接入一台便扩展了一个网络通 道,多个网络通道可以并行传输以提高系统的I/O带宽,实现了容量和速度同步扩展。充 分体现了多通道、并行处理的原则,它不仅在很大程度上解除了 I/O操作对文件服务器性 能的束缚,也极大地提高了存储系统的整体性能,同时,它的集中数据管理方式能节约大 量的管理费用; 3、 随着存储节点的增加,不仅系统的存储容量得到了扩大,而且有助于提高系统的性 能;具体来讲,多个小数据量的请求,可以由多个存储节点并行地独立完成,从而提高系统 的吞吐量;一个大数据量的请求,数据分布在多个存储节点上,多个存储节点并行操作, 可以提高单个请求的数传率;灵活的使用方式可以满足不同的使用环境,既可以满足事务 处理等多个小数据量的突发请求,也可以满足大数据量的连续请求; 4、 文件组织方式为分布式的文件组织方式,由于文件数据分块冗余存放在多个存储节 点上,使得存储系统中的某一个存储节点发生错误时仍然可以继续操作;同时,通过增加 存储节点的数量,可以在系统结构上增加物理数据通道的并行度来提高系统的性能; 5、 块I/O相对于文件I/O避免了用户空间和系统空间的切换,避免了所有的I/O请求 及其数据穿越网络文件系统、虚拟文件系统以及本地磁盘文件系统的开销,同时还避免了 磁盘文件系统将文件I/O转换成块I/O时查询索引结点的开销;因此,海量存储系统采用 块级1/0,直接通过数据的物理地址信息来访问网络磁盘阵列,使数据检索与访问的速度 优于采用文件I/O时的速度; 6、 实现的海量存储系统同时具备集中式存储系统和分布式存储系统两者的优点,不仅 加快了数据传输速度、降低了存储管理开销,同时也实现了命令与数据分流、扩容与增速 同步的目标,从而大大提1?的整个存储系统的性能。

【专利附图】

【附图说明】
[0019] 下面结合附图对本发明进一步说明。
[0020] 附图1为一种高性能海量存储系统的结构框图; 附图2为一种高性能海量存储方法的文件组织结构框图; 附图3为一种高性能海量存储系统的软件结构构架框图; 附图4为文件I/O与块I/O在目标网络磁盘阵列上的数据流框图。

【具体实施方式】
[0021] 参照说明书附图和具体实施例对本发明的一种高性能海量存储系统及存储方法 作以下详细地说明。
[0022] 实施例1 : 如图1、图3所示,本发明的一种高性能海量存储系统,海量存储系统包括文件服务器 和网络磁盘阵列群,网络磁盘阵列群包括多台网络磁盘阵列,所有的网络磁盘阵列按DAS 方式通过外设通道挂接在文件服务器上,然后所有的网络磁盘阵列及文件服务器再通过网 络通道连接在交换网络上;网络用户连接在交换网络上,网络用户通过交换网络与文件服 务器及网络磁盘阵列交互;文件服务器负责监视该海量存储系统中的所有操作,并为网络 用户提供数据描述;网络磁盘阵列负责网络用户的数据的存取;外设通道为SCSI总线或FC 总线或者是网络通道。
[0023] 海量存储系统中的软件结构分为三个层次:通道控制层、命令控制层和网络通讯 层; (1)、通道控制层:负责文件服务器与网络磁盘阵列群间的命令和控制信息的传递;分 为驻留文件服务器的通道控制器和驻留在网络磁盘阵列群的通道控制器;文件服务器中的 通道控制器用于建立文件服务器与网络磁盘阵列群的命令通道,网络磁盘阵列群中的通道 控制器,负责接收来自文件服务器的命令和消息; (2) 、命令控制层:用于解析网络用户的I/O请求,获得数据所在网络磁盘阵列的网络 地址,实现请求服务;分为文件服务器中的命令解析器和网络磁盘阵列群中的命令执行 器;驻留在文件服务器的命令解析器用于网络用户请求进行认证及处理;驻留在网络磁盘 阵列群中的命令执行器用于对网络用户请求进行分解、合并或调度、执行; (3) 、网络通讯层:用于处理多个网络存储阵列的存储节点的命令和数据的网络传输; 分为文件服务器的网络通讯层、网络用户的网络通讯层、网络磁盘阵列群的网络通讯层。
[0024] 实施例2 : 本发明的一种高性能海量存储系统,海量存储系统包括文件服务器和网络磁盘阵列 群,网络磁盘阵列群包括多台网络磁盘阵列,所有的网络磁盘阵列按DAS方式通过外设通 道挂接在文件服务器上,然后所有的网络磁盘阵列及文件服务器再通过网络通道连接在交 换网络上;网络用户连接在交换网络上,网络用户通过交换网络与文件服务器及网络磁盘 阵列交互;文件服务器负责监视该海量存储系统中的所有操作,并为网络用户提供数据描 述;网络磁盘阵列负责网络用户的数据的存取;外设通道为SCSI总线或FC总线或者是网 络通道。
[0025] 海量存储系统中的软件结构分为三个层次:通道控制层、命令控制层和网络通讯 层; (1) 、通道控制层:负责文件服务器与网络磁盘阵列群间的命令和控制信息的传递;分 为驻留文件服务器的通道控制器和驻留在网络磁盘阵列群的通道控制器;文件服务器中的 通道控制器用于建立文件服务器与网络磁盘阵列群的命令通道,网络磁盘阵列群中的通道 控制器,负责接收来自文件服务器的命令和消息; (2) 、命令控制层:用于解析网络用户的I/O请求,获得数据所在网络磁盘阵列的网络 地址,实现请求服务;分为文件服务器中的命令解析器和网络磁盘阵列群中的命令执行 器;驻留在文件服务器的命令解析器用于网络用户请求进行认证及处理;驻留在网络磁盘 阵列群中的命令执行器用于对网络用户请求进行分解、合并或调度、执行; (3) 、网络通讯层:用于处理多个网络存储阵列的存储节点的命令和数据的网络传输; 分为文件服务器的网络通讯层、网络用户的网络通讯层、网络磁盘阵列群的网络通讯层。
[0026] 通道控制层:文件服务器中的通道控制器用于建立文件服务器与网络磁盘阵列群 的命令通道,文件服务器中的通道控制器只执行其中涉及控制文件系统结构和文件属性的 I/O任务;文件服务器的通道控制器直接利用文件服务器现有的SCSI通道驱动程序;网 络磁盘阵列群中的通道控制器,负责接收来自文件服务器主从外设通道的所有I/O命令 和消息,将执行结果回送给文件服务器。
[0027] 命令控制层:驻留在文件服务器的命令解析器包括用户请求处理、地址解析、访问 控制模块,它根据记载的网络用户信息,对网络用户请求进行认证,判定其合法性和请 求权限,依据请求的类型分别处理,对于网络用户的文件读写请求,经地址解析后生成 相应的网络磁盘阵列的网络地址信息,地址解析完成后,将用户授权通过通道控制层通知 网络磁盘阵列群,将授权字、网络磁盘阵列的网络地址信息通过网络通讯层通知网络用 户;驻留在网络磁盘阵列群中的命令执行器包括I/O调度、命令分解/合并、Buffer管理模 块,动态的对来自外设通道和网络通道的I/O命令进行分解、合并和调度,执行实际的磁 盘I/O操作,操作完成后,经由网络通讯层与网络用户交换文件数据,或者经由通道控制 层给文件服务器回送执行结果。
[0028] 网络通讯层:文件服务器的网络通讯层接受网络用户的服务请求,传送给命令 控制层并将命令控制层的分析结果反馈给网络用户;网络用户的网络通讯层负责向文件服 务器提交请求并接收文件服务器返回的结果,网络用户的网络通讯层还负责建立与网络磁 盘阵列群的网络连接;网络磁盘阵列群的网络通讯层与网络用户的网络通讯层一起,完 成网络磁盘阵列群与网络用户之间直接传送数据的任务。
[0029] 实施例3 : 如图2所示,本发明的一种高性能海量存储方法,使用海量存储系统进行对数据的存 储,文件组织方式分为两种: (1) 、独立的文件组织方式:网络磁盘阵列作为独立的存储单元,每台网络磁盘阵列在 文件服务器上具有单独的目录节点,每个目录节点上能够建立不同的文件系统,存储不同 类型的文件(如视听、文本等),并各自处理网络用户数据的存取和网络传输;当网络用户 对不同的目录节点发出请求时,多个请求能够在多个网络磁盘阵列上并行服务; (2) 、分布式的文件组织方式:多个网络磁盘阵列的存储节点上的存储空间被虚拟成 一个存储空间的单一逻辑视图,数据分块存放在多个存储节点上;面对网络用户多个小数 据量的请求时,能够由多个存储节点并行地独立完成;面对网络用户一个大数据量的请求 时,数据分布在多个存储节点上,多个存储节点并行操作。
[0030] 随着存储节点的增加,不仅系统的存储容量得到了扩大,而且有助于提高系统的 性能;具体来讲,多个小数据量的请求,可以由多个存储节点并行地独立完成,从而提高 系统的吞吐量。一个大数据量的请求,数据分布在多个存储节点上,多个存储节点并行操 作,可以提高单个请求的数传率。灵活的使用方式可以满足不同的使用环境,既可以满足 事务处理等多个小数据量的突发请求,也可以满足大数据量的连续请求。
[0031] 实施例4: 本发明的一种高性能海量存储方法,使用海量存储系统进行对数据的存储,文件组织 方式分为两种: (1) 、独立的文件组织方式:网络磁盘阵列作为独立的存储单元,每台网络磁盘阵列在 文件服务器上具有单独的目录节点,每个目录节点上能够建立不同的文件系统,存储不同 类型的文件,并各自处理网络用户数据的存取和网络传输;当网络用户对不同的目录节点 发出请求时,多个请求能够在多个网络磁盘阵列上并行服务; (2) 、分布式的文件组织方式:多个网络磁盘阵列的存储节点上的存储空间被虚拟成 一个存储空间的单一逻辑视图,数据分块存放在多个存储节点上;面对网络用户多个小数 据量的请求时,能够由多个存储节点并行地独立完成;面对网络用户一个大数据量的请求 时,数据分布在多个存储节点上,多个存储节点并行操作。
[0032] 文件组织方式为独立的文件组织方式,数据存储的步骤为: (1)、当一个网络用户试图存取数据时,它通过数据表示向文件服务器发出请求,文 件服务器启动它的存取控制机制判断该网络用户是否有存储这一数据的权限,然后再检 查是否有其他用户锁定这一数据;如果网络用户不能存取数据,文件服务器就会向网络 用户发出拒绝或错误信息; (2)、如果网络用户拥有存取权限且并没有被文件锁定拒绝,文件服务器就通过数据结 构判断数据的网络地址,数据的网络地址即数据所在网络磁盘阵列的存储节点在海量存储 系统中的位置(因为数据位置不仅仅是逻辑块地址,还包括附加的网络地址或存储节点的 名称)和存储位置,然后将其传送到网络用户,网络用户接收到数据的网络地址后重新组 织数据结构,然后通过网络通道直接与该数据所在的网络磁盘阵列交互并存取数据。
[0033] 此时既可以采用基于NFS或CIFS的文件I/O进行交互,也可以采用基于SCSI协 议或FC协议的块I/O进行交互。独立的文件组织管理器体现的就是一种集中管理的思想, 以便于降低管理开销提高管理质量。
[0034] 文件组织方式为分布式的文件组织方式,海量存储系统中的数据分布存储在多个 网络磁盘阵列的存储节点上,所有使用该海量存储系统的网络用户都使用同一个文件组 织系统映像数据的网络地址;该文件组织系统通过使用数据结构来实现这种映像,其数据 结构将所有存储节点的网络地址作为数据寻址运算法则的一部分;使用RAID算法在存储 系统中处理文件组织和数据冗余;采用分块技术将目录数据、文件数据和数据结构跨越存 放在多个网络磁盘阵列的存储节点上。
[0035] 由于文件数据分块冗余存放在多个存储节点上,使得存储系统中的某一个存储 节点发生错误时仍然可以继续操作。同时,通过增加存储节点的数量,可以在系统结构上 增加物理数据通道的并行度来提高系统的性能。
[0036] 实施例5 : 本发明的一种高性能海量存储方法,使用海量存储系统进行对数据的存储,文件组织 方式分为两种: (1)、独立的文件组织方式:网络磁盘阵列作为独立的存储单元,每台网络磁盘阵列在 文件服务器上具有单独的目录节点,每个目录节点上能够建立不同的文件系统,存储不同 类型的文件,并各自处理网络用户数据的存取和网络传输;当网络用户对不同的目录节点 发出请求时,多个请求能够在多个网络磁盘阵列上并行服务; (2 )、分布式的文件组织方式:多个网络磁盘阵列的存储节点上的存储空间被虚拟成 一个存储空间的单一逻辑视图,数据分块存放在多个存储节点上;面对网络用户多个小数 据量的请求时,能够由多个存储节点并行地独立完成;面对网络用户一个大数据量的请求 时,数据分布在多个存储节点上,多个存储节点并行操作。
[0037] 文件组织方式为独立的文件组织方式,数据存储的步骤为: (1) 、当一个网络用户试图存取数据时,它通过数据表示向文件服务器发出请求,文 件服务器启动它的存取控制机制判断该网络用户是否有存储这一数据的权限,然后再检 查是否有其他用户锁定这一数据;如果网络用户不能存取数据,文件服务器就会向网络 用户发出拒绝或错误信息; (2) 、如果网络用户拥有存取权限且并没有被文件锁定拒绝,文件服务器就通过数据结 构判断数据的网络地址,数据的网络地址即数据所在网络磁盘阵列的存储节点在海量存储 系统中的位置和存储位置,然后将其传送到网络用户,网络用户接收到数据的网络地址后 重新组织数据结构,然后通过网络通道直接与该数据所在的网络磁盘阵列交互并存取数 据。
[0038] 文件组织方式为分布式的文件组织方式,海量存储系统中的数据分布存储在多个 网络磁盘阵列的存储节点上,所有使用该海量存储系统的网络用户都使用同一个文件组 织系统映像数据的网络地址;该文件组织系统通过使用数据结构来实现这种映像,其数据 结构将所有存储节点的网络地址作为数据寻址运算法则的一部分;使用RAID算法在存储 系统中处理文件组织和数据冗余;采用分块技术将目录数据、文件数据和数据结构跨越存 放在多个网络磁盘阵列的存储节点上。
[0039] 网络用户的I/O请求采用块I/O ;来自网络用户的块I/O在海量存储系统上的数 据流向:来自网络用户的块I/O请求本身包含了请求数据在目标网络磁盘阵列上的数据结 构,数据结构内包含数据的网络地址,当文件服务器通过TCP/IP协议栈接收到网络用户的 块I/O请求后,将该I/O请求转交给卷管理器,然后通过网络磁盘阵列的设备驱动程序访 问相应的数据。
[0040] 如图4所示,网络用户的I/O请求若采用文件I/O :文件服务器的Linux操作系 统中的虚拟文件系统(VFS)分别管理向网络用户提供文件共享的网络文件系统和控制本 地网络磁盘阵列的数据结构的本地磁盘文件系统;当接收到来自网络用户的文件I/O请求 时,文件服务器将其交给虚拟文件系统,并由虚拟文件系统找到相应的本地磁盘文件系 统,然后由本地磁盘文件系统通过查找索引结点信息将文件I/O请求转换成块1/0,最后通 过卷管理器和块设备驱动程序到目标网络磁盘阵列来访问相应的数据。块I/O相对于文件 I/O避免了用户空间和系统空间的切换,避免了所有的I/O请求及其数据穿越网络文件系 统、虚拟文件系统以及本地磁盘文件系统的开销,同时还避免了磁盘文件系统将文件I/O 转换成块I/O时查询索引结点的开销。因此,海量存储系统采用块级1/0,直接通过数据 的物理地址信息来访问网络磁盘阵列,使数据检索与访问的速度优于采用文件I/O时的速 度。
[0041] 通过上面【具体实施方式】,所述【技术领域】的技术人员可容易的实现本发明。但是应 当理解,本发明并不限于上述的5种【具体实施方式】。在公开的实施方式的基础上,所述技术 领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
【权利要求】
1. 一种高性能海量存储系统,其特征在于海量存储系统包括文件服务器和网络磁盘阵 列群,网络磁盘阵列群包括多台网络磁盘阵列,所有的网络磁盘阵列按DAS方式通过外设 通道挂接在文件服务器上,然后所有的网络磁盘阵列及文件服务器再通过网络通道连接在 交换网络上;网络用户连接在交换网络上,网络用户通过交换网络与文件服务器及网络磁 盘阵列交互;文件服务器负责监视该海量存储系统中的所有操作,并为网络用户提供数据 描述;网络磁盘阵列负责网络用户的数据的存取;外设通道为SCSI总线或FC总线或者是 网络通道。
2. 根据权利要求1所述的一种高性能海量存储系统,其特征在于海量存储系统中的软 件结构分为三个层次:通道控制层、命令控制层和网络通讯层; (1) 、通道控制层:负责文件服务器与网络磁盘阵列群间的命令和控制信息的传递;分 为驻留文件服务器的通道控制器和驻留在网络磁盘阵列群的通道控制器;文件服务器中的 通道控制器用于建立文件服务器与网络磁盘阵列群的命令通道,网络磁盘阵列群中的通道 控制器,负责接收来自文件服务器的命令和消息; (2) 、命令控制层:用于解析网络用户的I/O请求,获得数据所在网络磁盘阵列的网络 地址,实现请求服务;分为文件服务器中的命令解析器和网络磁盘阵列群中的命令执行 器;驻留在文件服务器的命令解析器用于网络用户请求进行认证及处理;驻留在网络磁盘 阵列群中的命令执行器用于对网络用户请求进行分解、合并或调度、执行; (3) 、网络通讯层:用于处理多个网络存储阵列的存储节点的命令和数据的网络传输; 分为文件服务器的网络通讯层、网络用户的网络通讯层、网络磁盘阵列群的网络通讯层。
3. 根据权利要求2所述的一种高性能海量存储系统,其特征在于通道控制层:文件服 务器中的通道控制器用于建立文件服务器与网络磁盘阵列群的命令通道,文件服务器中的 通道控制器只执行其中涉及控制文件系统结构和文件属性的I/O任务;文件服务器的通 道控制器直接利用文件服务器现有的SCSI通道驱动程序;网络磁盘阵列群中的通道控制 器,负责接收来自文件服务器主从外设通道的所有I/O命令和消息,将执行结果回送给 文件服务器。
4. 根据权利要求2所述的一种高性能海量存储系统,其特征在于命令控制层:驻留在 文件服务器的命令解析器包括用户请求处理、地址解析、访问控制模块,它根据记载的网络 用户信息,对网络用户请求进行认证,判定其合法性和请求权限,依据请求的类型分别 处理,对于网络用户的文件读写请求,经地址解析后生成相应的网络磁盘阵列的网络地址 信息,地址解析完成后,将用户授权通过通道控制层通知网络磁盘阵列群,将授权字、网 络磁盘阵列的网络地址信息通过网络通讯层通知网络用户;驻留在网络磁盘阵列群中的命 令执行器包括I/O调度、命令分解/合并、Buffer管理模块,动态的对来自外设通道和网 络通道的I/O命令进行分解、合并和调度,执行实际的磁盘I/O操作,操作完成后,经由网 络通讯层与网络用户交换文件数据,或者经由通道控制层给文件服务器回送执行结果。
5. 根据权利要求2所述的一种高性能海量存储系统,其特征在于网络通讯层:文件服 务器的网络通讯层接受网络用户的服务请求,传送给命令控制层并将命令控制层的分析 结果反馈给网络用户;网络用户的网络通讯层负责向文件服务器提交请求并接收文件服务 器返回的结果,网络用户的网络通讯层还负责建立与网络磁盘阵列群的网络连接;网络磁 盘阵列群的网络通讯层与网络用户的网络通讯层一起,完成网络磁盘阵列群与网络用户 之间直接传送数据的任务。
6. -种高性能海量存储方法,其特征在于使用海量存储系统进行对数据的存储,文件 组织方式分为两种: (1)、独立的文件组织方式:网络磁盘阵列作为独立的存储单元,每台网络磁盘阵列在 文件服务器上具有单独的目录节点,每个目录节点上能够建立不同的文件系统,存储不同 类型的文件,并各自处理网络用户数据的存取和网络传输;当网络用户对不同的目录节点 发出请求时,多个请求能够在多个网络磁盘阵列上并行服务; (2 )、分布式的文件组织方式:多个网络磁盘阵列的存储节点上的存储空间被虚拟成 一个存储空间的单一逻辑视图,数据分块存放在多个存储节点上;面对网络用户多个小数 据量的请求时,能够由多个存储节点并行地独立完成;面对网络用户一个大数据量的请求 时,数据分布在多个存储节点上,多个存储节点并行操作。
7. 根据权利要求6所述的一种高性能海量存储方法,其特征在于文件组织方式为独立 的文件组织方式,数据存储的步骤为: (1) 、当一个网络用户试图存取数据时,它通过数据表示向文件服务器发出请求,文 件服务器启动它的存取控制机制判断该网络用户是否有存储这一数据的权限,然后再检 查是否有其他用户锁定这一数据;如果网络用户不能存取数据,文件服务器就会向网络 用户发出拒绝或错误信息; (2) 、如果网络用户拥有存取权限且并没有被文件锁定拒绝,文件服务器就通过数据结 构判断数据的网络地址,数据的网络地址即数据所在网络磁盘阵列的存储节点在海量存储 系统中的位置和存储位置,然后将其传送到网络用户,网络用户接收到数据的网络地址后 重新组织数据结构,然后通过网络通道直接与该数据所在的网络磁盘阵列交互并存取数 据。
8. 根据权利要求6所述的一种高性能海量存储方法,其特征在于文件组织方式为分布 式的文件组织方式,海量存储系统中的数据分布存储在多个网络磁盘阵列的存储节点上, 所有使用该海量存储系统的网络用户都使用同一个文件组织系统映像数据的网络地址;该 文件组织系统通过使用数据结构来实现这种映像,其数据结构将所有存储节点的网络地 址作为数据寻址运算法则的一部分;使用RAID算法在存储系统中处理文件组织和数据冗 余;采用分块技术将目录数据、文件数据和数据结构跨越存放在多个网络磁盘阵列的存储 节点上。
9. 根据权利要求6所述的一种高性能海量存储方法,其特征在于网络用户的I/O请求 采用块I/O ;来自网络用户的块I/O在海量存储系统上的数据流向:来自网络用户的块I/O 请求本身包含了请求数据在目标网络磁盘阵列上的数据结构,数据结构内包含数据的网络 地址,当文件服务器通过TCP/IP协议栈接收到网络用户的块I/O请求后,将该I/O请求转 交给卷管理器,然后通过网络磁盘阵列的设备驱动程序访问相应的数据。
【文档编号】H04L29/08GK104102742SQ201410371871
【公开日】2014年10月15日 申请日期:2014年7月31日 优先权日:2014年7月31日
【发明者】孙守取 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1