用EP9315构建基于嵌入式Linux的NAS体系平台
发布日期:2011-05-14
互联网以及别的与网络干系的种种应用飞速生长,网络上的信息资源呈爆炸型增长趋势。通过网络举行传输的信息量不绝膨胀,大量信息须要举行处理惩罚处罚,并通过网络传输,这对信息存储体系提出了空前的恳求。比年来,网络正成为紧张的信息承载和处理惩罚处罚模式,通过网络的互连来实现差别用户间数据和文件以及干系资源的共享成为了当今主流。
当前,网络存储技能紧张有三种:办事器从属存储(SAS, Server Attached Storage)、存储地区网络(SAN, Storage Area Network)、网络从属存储(NAS, Network Attached Storage)。传统的存储体系诸如SAS都是存储配置通过诸如IDE/SCSI等I/O总线与办事器相连,当客户连接数增多时,I/O总线将会成为一个埋伏的瓶颈,并且会影响到办事器本身的结果,告急环境下以致会导致体系的瓦解。因此,退出于办事器的网络存储技能垂垂成为比年来国际上比较热门的一个研究方向。数据存储从以办事器为中间的存储要领变革到以网络为和中间的网络内核存储架构。NAS则成为存储网络化的告急存储模式之一。
NAS体系是一个具有笃志结果的网络存储体系,实现与网络配置直连续接,使客户机与存储器之间直接发送数据。本文提出采取具有低资源上风的ARM片上处理惩罚处罚体系EP9315和稳固网络性能的嵌入式Linux利用体系,实现低资源、即插即用、办理和设置大抵的网络存储体系。
NAS体系概述
NAS是一种将以太网技能和即插即用技能连合起来的存储方案。它把存储配置和网络接口集成在一起,直接通过网络存取数据,使其成为专用的网络文件存储及文件备份配置。NAS配置有本身的IP地点,可以放在恣意的网络环境当中,通过物理链路和网络连接,如许NAS配置无需应用办事器的干涉干涉,用户直接在网络上存取数据,使应用办事器大大低沉I/O负荷,减小了CPU的开销。
由于NAS紧张是实现存储结果,目标单一,使得我们可以筹划好的方案用于优化存储,只管即便克制I/O瓶颈,从而得到更高的存储屈从、更低的存储资源。NAS配置一样通常支持多谋略机平台,差别利用体系平台上的用户通过网络支持协议可以调用同一文档,此中SMB格局是用于Windows和Linux之间的文件共享。
体系硬件筹划
本体系采取Cirrus Logic公司的ARM9系列的32位微处理惩罚处罚器EP9315作为主控制器,Micrel公司的KS8721BL作为以太网PHY接口芯片。
1. EP9315紧张特性先容
EP9315内嵌运行于200MHz的ARM920T微处理惩罚处罚器内核,内核变乱电压1.8V,输入/输出电压3.3V;内部集成了一个高性能的1/10/100Mbps以太网MAC,通过与支持MII接口的外置PHY接口大抵连接,体系即可实现高性能、低开销的互联网访问结果。EP9315的IDE接口可以支持与两个ATAPI财产标准兼容配置的连接,支持主模式和从模式,其内部的DMA控制器支持Multiword DMA和Ultra DMA模式的数据传输。
EP9315别的的特性还包括:带通用存储器接口(SDRAM、SRAM、ROM和闪存)、Raster/LCD接口、12位A/D转换器的触摸屏接口、键盘接口、UART接口、3通道USB2.0全速主口、12通道DMA控制器等。其丰富的外围接口大大低沉了体系开辟用度。
2. 硬件电路
NAS体系内核器件筹划框图如图1所示。此中紧张部分结果形貌如下:
a.SDRAM存储器为体系步调的运行空间,体系及用户数据、堆栈均位于SDRAM存储器中;
b.闪存用于存放用户应用步调、嵌入式Linux利用体系及其其他在体系失电后须要生存的用户数据等;
c.EIDE接话柄现IDE硬盘的接入;
d.1/10/100Mbps以太网物理层接口为体系提供以太网接入的物理通道,本体系通过该接口接上以太网PHY接口芯片KS8721,来实现高速的以太网接入,大大简化了体系的硬件电路筹划。
NAS体系的软件筹划
作为NAS配置最告急是存储,要实现这个结果,NAS配置须要具备几种结果:软件办理调和结果、网络结果、数据读取结果和配置驱动结果,以是其软件模块可以根据这几个结果来分别。整个别系中必须有一个内核利用体系,作为对硬件的办理、软件的调和实行,并对外部调用提供API。在内核利用体系之上是外部硬件配置的驱动模块,使硬件能正常地变乱,为体系的正常运行提供底子条件。由于NAS是网络存储方案之一,以是要更多地思量对网络和存储两方面结果的支持,在配置驱动模块之上是对一些底子网络协议(TCP/IP)的支持和对专用网络存储办事器举行网络数据访问的文件共享协议(如办事器消息块(SMB))的支持。最上层的是应用模步调块,包括很多应用办事(如长途办理和用户验证等办事)。
下面从利用体系与配置驱动步调、网络协议支持、应用步调三个方面讨论NAS体系的软件筹划:
1. 嵌入式Linux利用体系和配置驱动步调
嵌入式Linux是在标准的Linux底子上,颠末得当的简化、裁剪,然后参加一些特定的结果,形成一个精良的、高效的、餍足特定应用需求的专用(定制)利用体系,它具有效户可裁剪、可配置的特点。NAS体系最告急的是存储,通过对Linux的裁剪,去失很多通用的结果,使其成为一个专用于存储、精简、高效的利用体系。
进入Linux内核源代码目次,过细之前要打上Cirrus Logic的内核补丁文件,实现对EP9315的支持。当完成内核的配置后,须要编译Linux内核,天生可运行在嵌入式体系上的内核映像文件。之后制作根文件体系以支持体系与用户交互。通过不绝的配置、编译,孕育孕育产生切合的嵌入式Linux内核,使之在结果和大小之间获取一个优化的结果,餍足本体系的须要。在Linux中,将种种配置大抵分为3种底子典范:字符配置、块配置及网络配置。
嵌入式体系的差别性决定了体系开辟者不但须要举行特定硬件的筹划,同时须要编写干系的配置驱动步调,它是内核用于完成对物理配置的控制利用的结果模块。除了CPU、内存以及其他很少的几个部分之外,全部的配置控制利用都必须由被控配置干系的代码,也便是驱动步调来完成。
2. 网络协讲和共享支持筹划
Windows和Linux平台之间的文件格局是完全差别的,Linux不克不及对Window用户直接提供底子办事。接口东西Samba从底子上消除了Windows与Linux之间的屏蔽。Samba是一应用于Linux和UNIX的软件,通过SMB协议提供文件和打印办事。
Samba的变乱原理是让NetBIOS(Windows网络邻居的通讯协议)和SMB这两个协议运行于TCP/IP通讯协议之上。此中最告急的便是SMB协议,这是一个用于差别谋略机之间共享打印机、串行口和通讯抽象的协议,在全部的Microsoft Windows系列利用体系中被广为应用。NetBIOS是一个对话通讯办事,它通过一种大众的要领为访问提提供用步调,并且对整个网络提供办事。它实际上为应用步调提供了一种大众的语言来举行通讯。NetBIOS是一个针对怎样访问数据的典范,并没有对两个应用步调之间的实际传输数据提供要领,它拜托更低一级的协议,比如TCP/IP,来提供实际的传输办事。
Samba专门利用TCP/IP协议来传输NetBIOS,在Samba步调中,SMB依赖NetBIOS举行名字阐发,通过网络提供和得到资源。当运行Samba办事器时,Windows用户就可以登岸至你的Linux呆板并且用你付与它们的权限与UNIX文件体系举行双向的互换。
3. 体系应用步调软件筹划
NAS配置本身一样通常没有表现器、键盘、鼠标等这些与人交互的外设,那么通过什么途径使体系办理员完成对如许一个“黑箱”的配置和办理呢?基于Web的办理是如今在NAS体系办理中用的最多、最方便的要领之一。敷衍支持Web办理的NAS体系,体系办理员可以在恣意一台客户机上利用标准的Web欣赏器对其举行种种应用和办理的利用。
在Web办理结果部分我们实现了如下结果:磁盘办理、用户和组办理、网络配置、体系设置、网络共享、硬件设置。
我们在搭建NAS应用和办理软件平台时,基于Web要领创建了两种应用模块,一种是面向客户真个,为客户提供一个访问NAS体系,并在体系上存取数据、办理文件的平台。另一种是面向NAS体系办理员的,通过这个办理的平台,办理员可以实现对NAS体系的长途办理。
我们将客户真个入口和办理员的入口聚集到一个NAS体系的主界面中,通过选择差别入口进入差别的利用。NAS的用户进入客户端后,被提示输入用户名和暗码,并将填写后的表单提交给Web办事器,与Linux体系中生存的用户信息举行比较。要是是合法用户,验证通过后就会进入为此用户指定的文件目次,用户仅可以在此目次中举行文件的存储和办理利用,不会涉及到其他用户的文件。同样其他用户进入客户端后也看不见此用户的信息,用户间是相互断绝、互不滋扰的,起到了数据掩护的作用,保卫了某些用户蓄意粉碎其他用户的数据。要是选择办理员端,同样也会先要输入办理员名和暗码。通过验证后,将进入NAS的办理界面。
本文小结
本筹划方案基于EP9315实现了一个底子的NAS体系,其采取嵌入式Linux利用体系,网络性能强大、稳固,内嵌TCP/IP协讲和SMB文件共享协议,加以美满就可以作为中小型用户的存储体系方案。本项目便于开辟者对ARM9微处理惩罚处罚器和嵌入式开辟做更深入的实践研究,推动了ARM微处理惩罚处罚器更广泛的应用,也为网络存储体系的生长提供了方向。