您的位置 首页 模拟

根据Linux操作系统平台上的嵌入式网络存储器规划详解

基于Linux操作系统平台上的嵌入式网络存储器设计详解- 在整个软件设计中,应选择一个合适的操作系统。整个操作系统要求体积比较小、网络功能比较强、适于裁减、能被嵌入到Flash中,并且有网络管理和磁盘管理功能。针对这些要求,我们选择统Linux操作系作为软件平台,对其内核进行裁减,从而实现嵌入式网络存储器的功能。整个软件实现可分为以下几个部分。

1、硬件规划

硬件规划方框图如图1所示。

依据Linux操作体系渠道上的嵌入式网络存储器规划详解

从图1可看到,除CPU单元以外,网络存储器的完成首要包含两个部分:I/O接口和存储器接口。下面以CPU为中心,阐明这两个接口的首要功用。

①I/O接口。这儿指CPU与Ethernet的接口(以太网接口)。它选用PCI的办法与以太网相连,是进入LAN(Local Area Network)的通道,在整个体系中担任发送或接纳网络上的数据包。

②存储器接口。包含两个方面:一是RAM接口,首要存储数据,选用PCI接口办法;二是Flash接口,首要存储操作体系及应用软件,选用并口办法与CPU相连。

③磁盘冗余阵列卡(RAID)接口。包含与CPU的接口和与磁盘阵列的接口。磁盘阵列首要用来存储网络用户材料,CPU经过磁盘阵列卡对磁盘阵列进行办理操作,答应必定的冗余来保证用户数据的安全。

2、软件规划

在整个软件规划中,应挑选一个适宜的操作体系。整个操作体系要求体积比较小、网络功用比较强、适于削减、能被嵌入到Flash中,而且有网络办理和磁盘办理功用。针对这些要求,咱们挑选统Linux操作系作为软件渠道,对其内核进行削减,然后完成嵌入式网络存储器的功用。整个软件完成可分为以下几个部分。

2.1 Linux内核的削减

(1)Linux内核简介

Linux内核首要由五部分构成:进程调度、内存办理、虚拟文件体系、网络接口以及进程间通讯。进程调度担任操控进程对CPU的拜访,调度程序运用一种战略保证一切的进程都能公平地拜访CPU,而且保证内核在恣意时间能履行必要的硬件操作。内存办理担任办理体系的物理内存,完成多进程安全地同享计算机的内存;别的内存办理支撑虚拟内存,使进程能够运用大于实践物理内存的内存地址空间,不必的内存址空间被导出到文件体系中,并在需求运用时再导回到物理内存中。虚拟文件体系经过将各种设备笼统为一种公共接口,屏蔽了各种硬件设备的细节。网络接口完成了对各种网络规范网络硬件的拜访。进程间通讯子体系完成了体系内进程间的多种通讯机制。

(2)Linux内核的装备

Linux体系的内核选用单块结构,能够动态地加载和卸载模块。体系运用内核模块的可动态装载和卸载功用,可灵敏地在内核中增加新的组件或卸载不再需求的内核组件。因而在详细完成进程中,能够针对要完成的功用对其内核进行削减,以缩小体积。依据网络存储器的硬件完成框图能够知道,整个体系的硬件接口只包含PCI和IDE两种接口。在对Linux内核进行装备时,可把Floppy、SMP、MTRR、SCSI及一切的Block Device和Character Device移除,只留下old IDE Device、PCI。别的,文件体系在内核中占了相当大的份额,VFS简化了档案体系的规划,Buffer cache、Directory cache增加了体系的功率;但这些对嵌入式体系用途不大,能够移除,内核会减小20KB左右,或许越过整个VFS,直接将文件体系写成一个Driver的办法,这样文件体系可由230KB缩减至50KB左右。在装备Linux内核时,网络协议的支撑是必不可少的。现在,大多数网络都是以TCP/IP协议为根底的,而且一般的作业站所选用的操作体系为Windows或Linux体系,因而,要完成其网络功用,并能够在不同渠道下完成文件同享,应该挑选对TCP/IP协议、NFS以及Samba协议的支撑。

2.2 不同渠道下文件同享的完成

现代PC机中广为盛行的操作体系有两种:Windows和Linux。这两种操作体系是依赖于彻底不同的技能来供给网络服务的:Linux操作体系是以传输操控协议/网络协议(TCP/IP)、网络文件体系(NFS)以及网络信息服务(NIS)为根底,供给网络服务的;而Microsoft则依赖于NetBIOS和服务信息块(SMB)来供给把数据从服务器传输至客户机的服务。因而,咱们选用Samba东西来完成这两种不同渠道下的文件同享。

(1)Samba简介

Samba从根本上消除了Windows与Linux之间的屏障,能够供给以下4个方面的服务:同享资源和打印机、姓名解析、阅读、用户身份认证。经过让NetBIOS(Windows网络邻居的通讯协议)和SMB(Server Messege Block)两个协议运转于TCP/IP

通讯协议之上完成文件同享,而且运用NetBEUI协议,能够让Windows经过网络邻居看到Linux服务器。

①NetBIOS协议:NetBIOS是一个对话层通讯服务,经过一种公共的办法为拜访供给应用程序,而且对整个网络供给服务。它是一个针对怎么拜访数据的规范,依托更低一级的协议,如NetBEUI或TCP/IP等,供给实践传输服务的。NetBIOS规范把协议分红三种服务:姓名服务、对话服务、数据报服务。姓名服务首要校验该NetBIOS姓名是仅有的,删去不再需求的NetBIOS姓名,在NetBIOS姓名根底上确认服务器的网络地址;对话服务在两个应用程序之间,供给横跨NetBIOS网络的完成通讯通道;数据报服务供给播送信息或在应用程序之间发送信息而无需应对。因为NetBIOS和TCP/IP在主机命名方面运用的是彻底不同的体系,前者以字符为根底,后者以数据为根底,所以有必要把每个NetBIOS姓名与IP地址进行匹配。

Samba运用TCP/IP协议来传输NetBIOS,把NetBIOS姓名解析或IP地址,一般经过三种匹配办法:第一种是把每个对IP地址的恳求播送到节点姓名解析的原始NetBIOS,依赖于每个客户机和服务器,经过网络去寻觅对方;第二种运用本地文件,并加载进入高速缓冲存储器,以便每个客户机能够了解哪个姓名解析成哪个IP地址;第三种运用NetBIOS姓名服务(NBNS),一个NBNS是一个中心主机,它为一个作业组存储NetBIOS姓名以及与其相对应的IP地址列表,因而,每个作业组上的NetBIOS节点都能够向NBNS恳求为它们把姓名解析成IP地址。

②SMB协议:SMB协议是一个经过网络供给并取得资源的协议,依赖于NetBIOS进行姓名解析,为网络上运用资源供给一个规范的接口。SMB协议对服务器界说了两种安全形式:同享级和用户级。同享级服务器在硬盘设备上树立了一些可被拜访的目录,用户需求一个暗码来取得拜访权。因而,网络上的任何用户只需知道服务器的姓名、资源的姓名以及暗码就能够拜访资源了。同享级服务器经过对同一个资源设定不同的暗码,操控用户的拜访权限。用户级服务器在硬盘设备上树立可被拜访的目录,需求用户供给用户名及相应的暗码来取得拜访权。NT服务器和LM/U服务器选用这种办法而不支撑同享级拜访。相对同享级形式,用户级更简单办理用户。

(2)Samba的装备

一个Samba服务器实践包含了两个服务器程序:smbd和nmbd。Smbd是Samba的中心,担任树立对话进程、验证用户身份、供给对文件体系和打印机的拜访机掉;nmbd实践网络阅读服务器的功用,作用是对外发布Samba服务器能够供给的服务。Nmbd能够使Samba服务器出现在Windows95或WindowsNT的“Network Neighborhood”(网络邻居)中,而且客户机可阅读到Samba服务器所同享的资源。发动Samba服务器进程时,能够彻底不运转nmbd,这样客户只能看到Samba服务器的NetBIOS姓名,却看不到Samba服务器所供给的服务。

在Samba的软件包中存在一个smb.conf装备文件,其结构相似于Windows的*.ini文件。RedHat和Debian中,smb.conf文件的缺省方位是在/etc/下,一切的Samba程序都要参照这个装备文件。整个装备文件分为三节:[global]、[home]、[printers]。[global]节设置大局选项和一些缺省的服务选项;[home]节用来动态地映射到每个用户的home目录下;[printers]节用来设置将依照体系printcap文件装备的打印机同享至指定用户。其间每一节中的装备参数都是一个大局参数或是一个服务参数,大局参数影响或操控整个服务器,服务参数影响或操控服务器供给的某项服务。Samba的装备文件见网络弥补版。 办理员可经过Samba的一些指令来办理用户及用户的拜访权限,如增加用户、删去用户、改动目录的拜访权限,也中直接修正smb.conf进行办理。

2.3 不同结构网络之间文件同享的完成

(1)NFS协议简介

NFS网络文件体系是由Sun Microsystems公司最早完成的,用于在不同的操作体系、不同的网络结构及不同的传输协议之间同享文件。NFS协议组包含NFS、RPC、XDR。NFS自身没供给其它程序可调用的进程,它经过长途进程调用和通用外部数据表明来完成。长途进程调用为长途服务供给一个接口,包含主机地址、程序号及一个远端进程的进程号,而外部数据表明供给了一套经过网络描绘数据类型的办法。在不同的操作体系中,文件体系的办理办法不同,关于目录树的深度、姓名的运用以及途径的表明办法也都有不同的规则。有些操作体系的文件体系处于特定的目录下面,而有些操作体系用mount操作使一切的文件体系看起来在一个独自的目录下。虽然目录和文件在许多方面都比较相似,可是拜访它们却须调用不同的程序,因而,NFS假定文件体系是分等级的,而且文件处于最低等级,NFS为目录供给一个规范的网络格局以便拜访。在长途调用中,每次调用只回来一个目录,这样处理了不同文件体系之间结构不同的问题。

(2)NFS服务的装备

NFS服务器运用了5个看护进程来供给NFS服务。最根本的供给NFS服务的体系至少要运转nfsd用于处理NFS协议,而mountd用于处理客户的mount恳求。此外,因为NFS运用RPC长途调用,其它三个RPC看护进程portmap、rpc_lockd、rpc_statd能够用来协助供给更高效的服务。为了使其它体系也能运用Linux体系上的硬盘空间,在体系发动时,应载入NFS的看护进程。这需求在rc.conf中更改相应关的参数:nfs_server_enable、rpc_statd_enable、rpc_lockd.enable和portmap_enable,这些参数对应相应的看护进程。这样,体系发动之后就具有了能同享文件的才干 ,接下来的作业是经过更改/etc/exports文件来设置需求同享的目录以及这些目录的拜访权了,以保证其安全性。Exports文件的设置如下:

/usr/src/sys-maproot=guest1 ns host2

/usr/ports-ro-network 202.114.1.0

在这儿咱们运用绝对途径的办法界说了两个同享目录usr/src/sys和/usr/ports,而且对这两个目录的拜访权限别离作了不同的约束,以保证其安全性。关于第一个目录,约束了客户机上的root用户等价于本机上的guest1用户,以防止客户机上的root用户具有这个服务器上的root权利,进行非法操作,尔后的ns和host2参数是主机名,只要ns和host2才干同享这个/usr/sys/src目录。第二行设置同享了/usr/ports目录,约束为只答应读取,而且也只要202.114.1.0网络上的计算机才干拜访这个同享目录。在更改了exports文件之后,向mountd进程发送一个SIGHUP信号,使其重读exports文件的内容,这样关于exports文件的设置才开端收效。

3、结 语

本文提出了一个网络存储器的根本处理方案,完成了网络存储器的根本功用。整个体系易于装置,具有可靠性较高,跨渠道、跨网络的长处;一起也存在着一些缺乏的当地,比如对用户、磁盘的办理不太便利,这些可经过数据库技能加以改进。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/moni/103056.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部