首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

一种基于网络磁盘阵列的高性能海量存储系统(2)

一种基于网络磁盘阵列的高性能海量存储系统(2)

命令控制层这一控制层是该海量存储系统的核心层。它分为服务器中的命令解析器和Net-RAID 群中的命令执行器两部分。主要用于解析网络用户的I/O请求, 获得文件所在磁盘阵列的位置信息和文件数据的存储地址组, 实现请求服务。驻留在服务器端的命令解析器由用户请求处理、地址解析、访问控制等模块组成, 它根据记载的用户信息, 对用户请求进行认证, 判定其合法性和请求权限, 依据请求的类型分别处理。对于用户的文件读写请求, 经地址解析后生成相应的存储地址信息。地址解析完成后, 将用户授权通过通道控制层通知Net-RAID群, 将授权字、Net-RAID 群地址和数据存储地址组通过网络通讯层通知客户端。

驻留在Net-RAID群中的命令执行器由I/O调度、命令分解/合并、Buffer管理等模块组成, 按照一定的优化策略, 动态的对来自外设通道和网络通道的I/O命令进行分解、合并和调度, 执行实际的磁盘I/O操作。操作完成后, 依据不同的情况分别经由网络通信层与客户交换文件数据, 或者经由通道控制层给服务器回送执行结果。
 
网络通讯层



此层用以处理多个节点的命令和数据的网络传输。服务器端的网络通讯层接受客户的服务请求, 传送给命令控制层并将命令控制层的分析结果反馈给客户端; 客户端的网络通讯层负责向服务器提交请求并接收服务器返回的结果, 它还负责建立与Net-RAID 群的网络连接;Net-RAID 群的网络通讯层与客户端一起, 完成Net-RAID 群与客户端之间直接传送数据的任务。

由于命令与数据分流, CMDS海量存储系统采用定制的三方协议, 其文件请求服务的工作流程有别于传统的工作模式。图5所示为读文件请求的工作流程, 写文件请求的工作流程与此类似, 此处略。

性能测试与评价

为了获得CMDS海量存储系统的性能参数, 我们构造了一个系统原型, 由文件服务器和两台EIDE磁盘阵列组成, 系统配置如表1所示。每台磁盘阵列配2块磁盘, 分别挂接在两个IDE接口上。网络环境为100M b交换以太网。



    网络用户采用三台PC机, 配置均为:CPU:Celeron 2GHZ,MEM:128MB, 硬盘:ST 340015A。网络用户均采用Windows 2000平台, 传统系统下采用FlashFTP用户程序,CMDS 海量存储系统采用定制的用户端软件。对原型系统的测试结果如下。



表2表示三个用户, 每个用户一个进程, 测试文件大小为124MB时系统的平均数传率比较。图6为多用户系统的集合I/O带宽比较。可见, CMDS海量存储系统的平均数传率和集合I/O带宽均高于传统的存储系统, 而且, 用户数越多, 性能提高越明显。最好情况下, 系统的读写集合I/O带宽分别提高82%和107%。由于CMDS海量存储系统的两个存储结点提供了两个100M b/s的网络传输通道, 系统的集合带宽最高达23.658MB/s, 尽管传统系统12.45MB/s的集合带宽也几乎达到了系统的峰值, 由于受服务器端单网络通道的限制, 不可能超越12.5MB/s, 这充分体现了CMDS海量存储系统扩容与增速同步的思想。

CMDS海量存储系统中, 文件服务器上CPU和内存的开销也明显要低于传统系统, 主要是由于CMDS海量存储系统实行了命令与数据分流, 避免了大量的数据在存储结点和文件服务器之间的往返拷贝, 将高性能的存储设备和网络带宽充分提供给网络用户, 而不被传统文件服务器瓶颈所限制。



从表2可以发现, 两个系统的内存的利用率几乎都在80%以上, 这主要是由于Linux系统的内存管理采用贪婪调度算法, 它尽量将内存分配给系统使用, 不够时再进行调度和再分配。因此, 即使传统系统中内存的利用率一直在97%左右, 在当前的负载情况下, 内存也不会成为系统的瓶颈。传统系统中网络的集合带宽几乎达到峰值, 很明显, 网络通道成为整个系统的瓶颈, 如果提高网络通道的带宽, 文件服务器上的内存就很有可能成为系统的瓶颈。CMDS海量存储系统中由于采用了两个网络通道, 在当前的负载情况下, 应该还有提升的空间, 而且其内存的利用率也还没有达到饱和。

随着体系结构和系统硬件的改变, 系统的瓶颈总是在不断转移。我们曾做过这样的试验, 服务器采用PIII500MHZ的CPU, 64MB内存, SYM53C815的SCSI主从通道, 测试发现传统方式下系统的集合带宽始终无法超过8MB/s。这主要是由于SYM53C815的峰值带宽为15MB/s, 即使SCSI通道的利用率为60%, 系统也不可能超过9MB/s的带宽, 显然, SCSI通道成为系统的瓶颈。

当使用峰值带宽为40MB/s的SYM53C875的SCSI通道后, 系统的集合带宽达到11MB/s。在SCSI通道的利用率为60%的情况下, 可提供24MB/s的带宽, 此时文件服务器端峰值带宽为12.5MB/s的网络通道又成为系统的瓶颈。如果提高网络带宽, 在大量数据请求的情况下, 文件服务器上的内存CPU可能再次成为系统的瓶颈。对于CMDS海量存储系统而言, 由于将文件服务器转移出了数据传输路径, 在同等负载的情况下, 系统的瓶颈将仅限于网络通道, 这也是CMDS海量存储系统体系结构的优势所在。





表3表示三个用户, 每个用户两个进程, 测试文件大小为124MB时系统的平均数传率比较。图7表示同等测试环境下系统的集合I/O带宽。在两个进程和四个进程的情况下,CMDS海量存储系统的集合带宽比传统系统要略差, 主要是由于网络用户和多个存储节点之间直接进行数据交换, 必须要在网络用户端进行数据的整合和分配, 因此存在一定的开销。在网络用户端单进程的情况下, 该影响还不明显, 但多个进程之后, 会导致系统性能的下降。当三个用户六个进程时,传统系统由于受文件服务器上网络通道带宽的限制, 其性能又明显低于CMDS海量存储系统。如果对网络用户端的软件进行优化(比如减少内存拷贝的开销), 则可以降低其影响。
 
总 结

CMDS海量存储系统使文件服务器与存储设备的关系由原来的主从关系转变为相互依存的对等关系, 并且存储设备具有了新的自主功能。其文件集中管理、数据分布存储的体系结构同时具有集中式存储和分布式存储两者的优点, 不仅易于管理, 而且高性能、高可扩展。它还具有存储空间的单一逻辑视图、流水命令响应与并行数据I/O、负载动态迁移和高可用性等特点。

另一方面, CMDS海量存储系统也是一个全新的、不断完善的系统;今后研究的重点包括以下几个方面的内容:首先,设法屏蔽上层各种不同的应用, 实现该系统与现有存储系统的无缝连接;其次, 实现存储空间的在线动态扩容、数据的动态迁移等是今后需要研究的课题;另外, 如何保证在传输过程中的数据安全以及数据的一致性也是一个待解决的问题。
继承事业,薪火相传
返回列表