基于IPv6 存储集群网络模块的设计与实现.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于IPv6 存储集群网络模块的设计与实现.pdf》由会员分享,可在线阅读,更多相关《基于IPv6 存储集群网络模块的设计与实现.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6卷第4期2007年8月 江 南 大 学 学 报(自 然 科 学 版)Journal of Jiangnan University(Natural Science Edition)Vol.6No.4Aug.2007文章编号:1671-7147(2007)04-0379-04 收稿日期:2006-09-11;修订日期:2006-11-14.基金项目:国家973项目(2004CB318203);国家自然科学基金项目(60603075).作者简介:曹强(1975-),男,湖北武汉人,副教授,工学博士.主要从事计算机存储系统、嵌入式系统等研究.Email:caoqiang 基于IPv6存储集群网络模
2、块的设计与实现曹 强,罗 怡,谢长生,张常军(华中科技大学 计算机学院 信息存储系统教育部重点实验室,湖北武汉430074)摘 要:将基于对象的分布式文件系统Lustre存储集群网络模块,由仅支持IPv4改进为同时支持IPv4与IPv6双协议栈,并提出了相应的设计原则与实现方法;测试比较了IPv6与IPv4环境下的系统性能.实验表明,移植前后性能基本相同.考虑到设计的前提是适用Linux系统基本的双协议栈架构,因此本方法适用于其他需要支持双协议栈的网络程序.关键词:双IP协议栈;套接字;存储集群中图分类号:TP 319文献标识码:ADesign and Implementation of Ne
3、twork Component in StorageCluster System for IPv6CAO Qiang,LUO Yi,XIE Changsheng,ZHANG Changjun(Key Laboratory of Data Storage System,Ministry of Education,College of Computer Science and Technology,HuazhongUniversity of Science and Technology,Wuhan 430074,China)Abstract:The paper addresses how to e
4、nhance network component from IPv4only to IPv4 andIPv6 dual stacks supported in order to meet the need of Next next generation internet.Theexperiments compare performance respectively for IPv6 and IPv4 environment,whose results arebasically same.The design methods mentioned in the paper are conclude
5、d that there are basicallysame results.The design methods mentioned in this paper are concluded from analyzing LinuxsIP protocol stacks,Therefore,they are also useful for other network applications that want tosupport dual stacks through Linux s Socket API.Key words:dual IP protocol stacks;socket;st
6、orage cluster 随着网络的发展,使用了20余年的传统互联网协议IPv4因其地址空间狭小、地址分配效率不高、安全性没有保障等缺点已显现出来.新一代网际协议IPv6因为具有128位超大地址空间、分级地址模式、服务质量保证、安全性强等诸多优点,可以彻底解决IPv4存在的问题,因而成为下一代互联网的主要标志.网络的发展带来了数据量的爆炸性增长,流媒体直播、视频会议、数据通信业务等诸多应用均离不开网络存储的支持.据Google、网易等大型网站统计,其每年的数据增量在1 PB以上,因此急需海量存储系统来容纳这些数据.目前单个存储设备的容量远未达到海量要求,海量存储系统主要通过存储集群模式来实现
7、,即将许多容量较小相对廉价的存储节点通过分布式文件系统合并为一个海量存储池1.以往的存储集群系统采用能够被系统中所有节点访问的共享存储文件系统,如NAS和SAN,当节点增加到一定数目时,I/O总线将成为系统性能继续增长的瓶颈,因此共享存储方式已不能满足应用对存储的要求2.此时,以Lustre为代表的对象存储文件系统应运而生,它采用元数据与数据相分离的策略,使用基于对象的存储设备(ObjectbasedStorage Devices,OSD),可以很好地克服I/O瓶颈问题,这已成为构建海量存储系统的基础3.到目前为止,所有分布式文件系统都是基于IPv4的,为了推动下一代互联网的发展,有必要开发支
8、持IPv6的分布式文件系统.文中介绍了将仅支持IPv4的基于对象存储的分布式文件系统Lustre,改进为同时支持IPv4与IPv6双协议栈系统的分析步骤和设计原则,并在IPv6与IPv4环境下测试了Lustre的性能.1Lustre文件系统、网络模块及Linux系统网络协议栈结构1.1Lustre文件系统及网络模块Lustre是Linux Cluster的缩写,是由ClusterFile Systems公司、惠普公司(HP)、国际商业机器公司(IBM),以 及 美 国 的3个 国 家 实 验 室(LawrenceLivermoreNationalLaboratory,LLNL;Los Alam
9、os National Laboratory,LANL;Sandia National Laboratory,SNL)合作开发的开源对象存储文件系统.IBM的“深蓝”(Bule Gene)超级计 算 机 和HP的 可 扩 展 文 件 共 享(HPStorageWorks Scalable File Share)系统等都采用了Lustre作为其存储文件系统,因为它比传统的分布式文件系统性能更高、可用性更强、可扩展性更好.Lustre之所以优越的原因之一,是它采用了三方通讯模式.“三方”指客户端(Client)、基于对象的存储服务器(Object Storage Target,OST)和元数据服务
10、器(MetaData Server,MDS),见图1所示.图1中,OST负责管理对象数据的存储;MDS负责管理和维护命名空间、目录结构、用户权限并保证文件系统的数据一致性;Client运行Lustre文件系统,它与OST进行文件数据的交互,包括文件的读写、对象属性的改变等,与MDS进行元数据的交互,包括目录、符号链接、文件inode结构的获取等.这种三方通讯模式可将存储数据与其元数据相分离,即将存储和计算相分离,从而大大降低I/O总线的压力3.图1Lustre三方通讯模型Fig.1The model of lustre communication among threepartsLustre是
11、否能支持IPv6,重点取决于其网络模块.Lustre开 发 者 在 权 衡 了PortalsMPI4,Infiniband,VIA等多种网络通讯接口后,最终将Sandia国家实验室开发的开源项目Portals MPI选为其网络模块.因为Portals是专为大型并行系统设计的,它通过旁路操作系统(OS Bypass)和旁路应用程序(Application Bypass)等技术实现了零拷贝,并 采 用 网 络 抽 象 层(Network AbstractionLayer,NAL)方式实现了对多种网络类型的独立支持,如TCP/IP NAL(即Sock NAL),QSW NAL等,如图1中Portal
12、s层所示.虽然Portals支持多种网络类型,但其中只有TCP/IP NAL涉及到IP协议栈,因此只需改写该网络抽象层即可.分析这部分源码可见,它利用了Linux系统提供的Socket API,因此该网络抽象层也被称为Sock NAL.Linux系统通过系统调用,让用户态程序访问内核服务,系统调用又通过库函数的形式提供给用户,Socket API就是一系列库函数5.但Portals除了用户态程序,还包括内核态程序,内核态程序不能直接调用库函数,只能调用库函数对应的内核函数,因此有必要分析Socket API的内核实现.这样的分析也有助于理解Socket API如何同时支持IPv4和IPv6双协
13、议栈.1.2Linux系统网络协议栈结构Linux内核从版本2.2开始支持IPv6,文中以目前最新版本2.6为例进行分析.Linux网络协议栈代码可分为4大部分:网络设备驱动层、网络核心层、网络协议层和Socket层,其中网络协议层又可分为3个子层6,如图2内核空间部分所示.其中最底层的网络设备驱动层主要实现与硬件设备交083 江 南 大 学 学 报(自 然 科 学 版)第6卷 换数据,与本系统的设计联系不大,因此不作赘述.图2Linux网络协议栈代码结构Fig.2The softw are structure of Linux network protocol2 基于Socket支持双栈的设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于IPv6 存储集群网络模块的设计与实现 基于 IPv6 存储 集群 网络 模块 设计 实现
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内