ARM Cortex-A8/A9开发板 | ARM11开发板ARM11开发套件 | ARM9开发板ARM9开发套件 | 飞思卡尔I.MX28I.MX6开发板 |
tiny210/mini210开发板 | mini6410开发板/套餐 | Tiny6410开发板无线套件 | mini2440开发板/套餐 | micro2440开发板带核心板 | 友善开发板配件 模块 | QQ2440 V3 SBC-2410X |
FL2440 OK2440-IV V4 | OK2440-III OK2440V3 | TE2440-II TE2440V2 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | 开发板配件 模块和其他 |
Xilinx开发板/fpga开发套件 | altera开发板/fpga开发套件 | 基于FMC FPGA/DSP子卡 |
BeagleBoard原厂开发板 | PandaBoard原厂开发板 |
TI DM3730 DevKit8500D | TI系列 omap3530开发板 | ATMEL系列 开发板 | Samsung系列 开发板 | 开发板配件-仿真器 模块 | NXP LPC3250 mini3250 |
Tiny210 三星S5PV210 | Mini210/Mini210s开发板 | Tiny4412开发板Cortex-A9 | Tiny6410开发板 ARM11 | mini2440开发板 ARM9 | micro2440开发板 ARM9 | mini6410开发板 ARM11 | 友善ARM开发板配件 模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
FL2440 OK2440-IV V4 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | OK210/-A Cortex-A8 | TE2440-II TE2440V2 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | ARM开发板配件 模块等 |
Real6410开发板/套餐 | Real210开发板/Real2410 | WIFI GPS GPRS模块摄像头 |
Xilinx开发板/开发套件KIT | Altera开发板/开发套件KIT | 配套模块 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | 最小系统模块类(初学者勿选) | 开发工具 仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
DM3730/AM3715/AM3359 | OMAP3530AM1808AM3517 | 飞思卡尔Cortex-A9开发板 | ATMEL系列ARM开发板 | NXP LPC3250 LPC1788 | Samsung系列ARM开发板 | STM32系列F207/F407 | ARM开发板配件-仿真器 模块 |
Realv210 S5PV210开发板 | Real6410开发板 ARM11 | WIFI GPS GPRS模块摄像头 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | ARM小系统模块(初学勿选) | 开发工具 ARM仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
Exynos4412开发板A9四核 | UT-S5PV210 S5PC100 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 |
Xilinx开发板 FPGA开发套件 | altera开发板 FPGA开发套件 | FMC模块 配件 下载线 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
s3c2410 ARM9 FS2410 | s3c2440开发板 ARM9 | s3c44B0开发板 ARM7 | s3c6410 2450 2443/13 | PXA270 PXA320 PXA255 | Atmel 9200 9261 9G20 | Philips NXP开发板YL-LPC | FS-EP9315开发板ARM9 | LCD液晶屏TFT真彩/触摸屏 | ARM仿真器/仿真调试工具 | ARM开发板配套ARM核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯开发板UP-DRAGON-I | 物联网教学科研设备 | EDA/FPGA/SOPC教学科研 |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | YC-ePC-A系列人机界面 | Mars-EDA套件CPLD FPGA | 触摸屏LCD 摄像头 WI-FI模块 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器/仿真系统 | DSP开发板/DSP试验箱 | DaVinci系列多媒体平台 | Xilinx FPGA大学计划产品 | SEED教学实验系统 | FPGA/DSP FPGA开发板 | TI原厂开发板套件/CCS软件 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
广嵌实验室项目产品 | GEC2440/GEC6410开发板 |
泰克Tektronix示波器 | 普源RIGOL示波器 | USB虚拟示波器 |
UT-S5PC100 UT-S5PV210 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 | 开发板模块wifi gps等 |
EMA OMAP3530开发板 | EMA OMAP 3530核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx Altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯系列 UP-DRAGON-I |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | 触摸屏LCD 摄像头 WI-FI模块 | Mars-EDA套件CPLD FPGA | ePC系列工控一体机ARM9 A8 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器 | DSP开发板 | DSP实验箱 | Xilinx FPGA大学计划产品 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
ARM开发板S3C6410等 | Cortex-A8/ARM11仿真器 | ADSP Blackfin开发板 | FPGA Spartan-3E开发板 |
GEC2410开发套件ARM9 | GEC2440开发套件ARM9 |
泰克 示波器 |
择要:在扼要先容网络存储器硬件原理的底子上,过细阐发软件平台的构建,并对差别网络、差别平台之间实现文件存储提出了相应的办理要领。
关键词:Linux 网络存储器 Samba NFS
随着当代信息社会的高速生长,种种典范的数据也呈多少指数级地增长,怎样更有效、更方便、更完全地存取办理这些数据,成为人们存眷的一个标题。新的网络存储技能的出现,给了人们一个很好的办理方案。它把存储配置直连续接到网络上,作为一个瘦的网络客户终端配置给用户提供网络存储办事,并且,Web技能的生长也为其方便、可靠的办理提供了技能保障。
1 硬件筹划
硬件筹划方框图如图1所示。
从图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文件的设置才开始见效。
结语
本文提出了一个网络存储器的底子办理方案,实现了网络存储器的底子结果。整个别系易于摆设,具有可靠性较高,跨平台、跨网络的长处;同时也存在着一些不敷的地方,比如对用户、磁盘的办理不太方便,这些可通过数据库技能加以改革。
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号