基于NAS的私有存储网络节点的嵌入式设计与实现

刘绍刚 刘明安
摘 要: 采取嵌入式方式设计基于NAS的私有存储网络节点模块,以适应逐年上涨的数据量和提高存储系统的存储能力。所设计的模块是客户端/服务器端结构,客户端向服务器端发送沟通命令,服务器端通过签署ISCSI协议,将存储装置共享在网络节点上进行数据存储。客户端位于存储装置上,服务器端由ARMx4DK?Xscale嵌入式处理器在Linux操作系统上开发而成,进行电源管理和NAS数据管制。在Linux操作系统上进一步设计了服务器端的电源管理电路结构,并利用私有云建立NAS集群,实现模块功能。实验结果证明,所设计模块的数据吞吐量大、能耗低。
关键词: NAS; 私有存储网络; 数据存储; 存储装置共享
中图分类号: TN915?34; TP333 文献标识码: A 文章编号: 1004?373X(2017)10?0079?03
Abstract: A private storage network node module based on the network attached storage (NAS) was designed with the embedded mode so as to fit year?by?year increase of data storage quantity and improve the storage capacity of storage system. The designed module is client/server structure. The client sends communication command to the server. According to the signed ISCSI protocol, the server side puts its storage device for sharing on the network nodes to do data storage. The client is located in a storage device. The server side is generated by development of ARMx4DK embedded processor on the Linux operating system to achieve power management and NAS data control. The power management circuit of the server side is designed on Linux operating system. NAS cluster is established on the basis of private cloud, so as to realize the module function. The experimental results show that the designed module has large data throughput and low energy consumption.
Keywords: NAS; private storage network; data storage; storing device sharing
据预测,在未来的十年内,网络用户将产生高于50万亿GB的数据量,每年的数据量总额都在不断上涨,这要求存储系统应具备更大的存储空间和更好的数据保卫等级,同时不会耗费过大的能耗。好的网络存储节点模块能够极大提高系统存储能力,节点安置类型以服务器、Java和嵌入式为主,以嵌入式的网络节点功能最强,故进行嵌入式设计。
1 基于NAS的私有存储网络节点的嵌入式设计
NAS(Network Attached Storage)为一种网络附属存储服务器,在数据存储中实现了服务器与存储硬件的完全分割,能够对数据进行彻底地集中管制。通过网络将存储系统的网络节点移植到NAS上搭建私有存储网络节点模块,进行模块嵌入式设计和功能实现。
1.1 私有存储网络节点模块设计
存储系统需要在签署网络协议之后才能共享在网络上实现数据存储,网络协议有很多,包括TCP/IP,ISCSI,SCSI等[1],私有存储网络节点模块也同样应该签署网络协议。在NAS上,ISCSI因为拥有杰出的共通性和性价比而在众多网络协议中脱颖而出,为此,私有存储网络节点模块选择使用ISCSI协议。
私有存储网络节点模块为客户端/服务器端,模块的主要结构如图1所示。客户端设计在大容量的存储装置上,服务器端设计在嵌入式开发板上,嵌入式开发板以嵌入式处理器为主[2]。客户端向服务器端发送沟通命令,服务器端进行沟通命令权限验证,签署ISCSI协议,将存储装置共享在网络节点上。
存储设备和服务器端均与嵌入式开发板相接,接口使用串行ATA。串行ATA是一种计算机总线接口,专门进行计算机主板同大容量存储设备的数据传输[3]。存储设备存储的是客户端数据,接受嵌入式处理器中的NAS数据管制,嵌入式处理器还负责私有存储网络节点模块电源的管理任務,从而减少NAS对电能的消耗。
1.2 模块嵌入式设计
嵌入式处理器的优点有能耗低、体积小、功能实用,主流的嵌入式处理器包括X64,ARM,MIPS等。在嵌入式处理器的型号选择上,服务器端能够在两种体系结构下进行嵌入式开发,分别是X64和ARM[4],可以此为依据选择嵌入式处理器型号和嵌入式操作系统类型。X64的能耗高于ARM,功能也多于ARM,但X64存在一个巨大弊端,就是自身的CPU占用率很高,进行大容量数据存储时效率差,数据存储规模也相应减少,只能在低端的服务器中配套使用[5]。所以,私有存储网络节点模块选择ARM嵌入式处理器进行服务器端中电源管理和NAS数据管制的功能开发。
ARM嵌入式处理器有很多内核型号,Xscale是其中一款价格便宜并具有多方功能的处理器内核,模块选择了ARMx4DK?Xscale嵌入式处理器,它的运行功率范围为[0.15 mW,1.5 W],频率最大值為1.3 GHz,配置兼容16/32位的网页浏览和数据控制指令集群,经常在移动电话中发现其身影。图2是ARMx4DK?Xscale嵌入式处理器的结构,它的各项功能都比较完善,可支持NAS进行集成管理和网络协议验证;配置了一个周边元件扩展接口、两个USB集成接口和一个串行ATA接口,在千兆光纤网络的高速传输中依旧可以进行速度高达2.8 Gb/s的数据通信[6];由于私有存储网络节点模块的存储装置为6 400 转、500 Gb,电压经常不稳。因此ARMx4DK?Xscale内部没有配置电源模块,而是采用外接电源供电。
嵌入式操作系统的类型关系到私有存储网络节点模块的功能拓展难度,要求内核结构简单、可任意修订、驱动效率高并能与电源管理设计密切配合。在主流的嵌入式操作系统中,Linux最符合要求。Linux嵌入式操作系统的结构完整,开发成本低、支持多结构、多类型的网络运作、内核小、运行稳定。
私有存储网络节点模块在Linux中设计服务器端的电源管理电路,结构如图3所示,拥有充电单元、电源选择单元和电压转换单元三个基本单元,三个基本单元协同运作,模块需要应用的3.3 V,1.5 V和3.0 V电压在电源管理电路中能够进行正确转换。额外加入的电源保护单元可减少电压转换的功率耗损,节约电能。
2 基于NAS的私有存储网络节点模块的实现
私有存储网络节点模块的NAS数据管制离不开私有云,NAS集群是实现模块功能的重要手段,私有云作为NAS集群的技术主体,兼具网络数据访问同存储两项功能,利用服务器工具Samba为Linux开启的ISCSI协议支持,提取NAS配置说明,采用自由软件统计网络数据流量,完成私有存储网络节点模块高吞吐量的数据存储[7]。
图4是基于NAS的私有存储网络节点模块功能实现图,NAS集群等同于复制出n个私有存储网络节点模块,模块之间配合工作,共同向外提供网络节点存储服务。Samba中包含结构信息块,作用是在网络中共享存储装置的同时提取配置说明,对外进行服务器数据流向管制,对内检测网络节点运行状态,排除节点错误状态。配置说明进行的操作必须在数据未经网络节点存储之前实现,嵌入式形式的NAS集群正可提高配置说明的操作效率,可看出嵌入式与NAS的功能是相辅相成的。
自由软件采用Gluster File System[8],解决网络节点存储的冗余备份、单点存储等问题,NAS集群中的功能拓展、数据与网络节点定位等管制形式在Gluster File System的操纵下实现了数据挂载,私有云可以随时访问节点上存储的数据。
第四代扩展文件系统[9]实时存储数据卷宗,无需进行编码直接存储真实数据。对真实数据加密和共享,交由存储装置进行NAS数据管制。服务器端通过第四代扩展文件系统联系网络上共享的存储装置,就算是存储装置接口损坏或功能残缺,仍旧能够实现数据临时存储与访问。
3 实 验
3.1 数据吞吐量验证
数据吞吐量指网络节点每秒传输的数据量。数据吞吐量能够验证出网络节点的存储能力,采用小型电子检测设备,建立图形显示程序和负载控制程序。前者对操作系统的实验过程进行控制、对实验数据进行采集与显示,后者处理实验数据、反馈实验结果。数据吞吐量实验结果如图5~图7所示。
3.2 能耗验证
能耗实验使用平均能耗数据,图8是小型电子检测设备显示出的能耗结果对比图,在存储状态、空闲状态,Java节点、服务器节点和基于NAS的嵌入式节点的平均能耗依次为150 W,78 W,16 W和20 W,13 W,8 W,满载状态下的平均能耗是178 W,115 W和20 W。进行嵌入式设计的基于NAS的私有存储网络节点模块的能耗低,在数据存储领域中是一个绝佳的系统模块配置。
4 结 论
根据NAS和嵌入式的特点,本文采取嵌入式方式,设计并实现了基于NAS的私有存储网络节点模块,重点设计了模块的主要结构、嵌入式处理器结构以及电源管理电路结构,并n次复制模块结构实现了NAS集群。实验对比了本文基于NAS的嵌入式节点、服务器节点和Java节点的数据吞吐量与能耗,验证出本文所设计的模块具有数据吞吐量大且能耗低的存储特质。
参考文献
[1] 李卓.基于节点影响力的移动机会网络网关选择算法[J].科学技术与工程,2014,14(19):95?99.
[2] 林楠,史苇杭,王源源.大规模嵌入式节点网络的节能优化仿真[J].计算机仿真,2014,31(4):335?338.
[3] 杨志友.基于UML的嵌入式视频监控系统设计与实现[J].现代电子技术,2016,39(1):40?44.
[4] 胡冠山,肖海荣.基于μCLinux的嵌入式智能节点的设计与实现[J].传感器世界,2016,22(3):28?32.
[5] 张双双,王延年.节点分布不均匀的无线传感网络低功耗算法[J].西安工程大学学报,2015,29(6):720?723.
[6] 李强懿,马冬前,张聚伟,等.基于感知概率的无线传感器网络节点部署算法[J].计算机测量与控制,2014,22(2):643?645.
[7] 金海.线性静态传感网络生命周期极大似然延展算法[J].科技通报,2015,31(10):85?87.
[8] 徐立艳.基于ARM和LabVIEW的网络数据采集测试系统设计[J].现代电子技术,2016,39(5):24?27.
[9] 杨涛.基于低耗能嵌入式网关节点的设计与实现[J].电脑知识与技术,2015,11(3):82?84.