Chinaunix首页 | 论坛 | 博客
  • 博客访问: 158593
  • 博文数量: 41
  • 博客积分: 1531
  • 博客等级: 上尉
  • 技术积分: 436
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-01 22:17
文章分类

全部博文(41)

文章存档

2013年(2)

2012年(1)

2011年(13)

2010年(25)

我的朋友

分类: 嵌入式

2010-07-02 16:27:37

1.多部电脑如何解决存储问题

在各类依赖信息科技的大中型企业、事业机构中,我们通常都能看到NAS网 络存储服务器的存在,NAS的全称为“Network Attach Storage sever”亦即网络附加存储器之意,简单点说它是一部提供海量存储空间的网络服务器,企业中运行的数据统一汇集于NAS之上,从而保证数据的科学管理; 另外,NAS服务器都有可靠的备份保证,客观上可有效避免关键数据丢失的危险。

伴随着数字家庭概念的兴起,NAS设备也逐步走出企业,进入用户的家庭环境。我们可以将家用型NAS看作企业NAS服务器的精缩版,它保留了与企业 NAS完全相同的功能,只是在硬件配置方面明显降低,尺寸也更小,使之可以轻松摆放在桌面上使用。由于NAS的需求不断增长,以威联通(Qnap)、宏普 (Thecus)、Buffalo、Netgear为代表的企业都加强了在NAS领域的攻势,另外也有许多存储行业的企业进入家用NAS市场,随着这些产 品的大量上市,用户也有丰富的选择空间。

如果你只有一部桌面PC或者一部笔记本电脑,那么要想扩充额外的存储容量非常简单:你可以增加或者更换一块大容量的硬盘,或者干脆购买一块外置硬 盘。但如果你拥有两部以上的电脑,便会发现扩充存储空间变得不是那么容易—固然你可以增加更多的硬盘、获得更多的容量,但你会发现随着硬盘数量的增加,数 据管理会变得越来越麻烦。比如你经常会将某些重要文件在多个硬盘间作了交叉备份,但天时日久,你将无法记清这些文件的版本是否最新,以至于无法找到哪一个 数据是你真正所需。假如你的备份习惯不是那么好的话,经常会将某些重要文件存储在不同的文件夹,那么随着时间推移,你最后会发现管理这些文件完全就是个噩 梦。当然,你可以借助操作系统的桌面搜索功能来找到文本内容的文件,但对于图片、视频以及音频文件,桌面搜索就很难实现定位,或许最后你不得不下个大决心 来对所有的硬盘进行一番大清理,这项工作与收拾大学生宿舍一样都令人望而生畏。

也许你认为大容量外置硬盘可以缓解这个问题,即不再通过增加硬盘数量来提升存储空间,而是借助外置硬盘来实现。目前常见的外置硬盘有USB 2.0、IEEE1394以及最新的e-SATA接口,其中e-SATA接口速度最快,IEEE1394和USB 2.0次之,但不论哪一种都能够提供令人满意的传输速度。不过,这些外置硬盘的共同点都是依赖主机,只有在主机开启条件下它们才能够正常工作。假如你家中 有三台电脑,某位用户如果要使用外置硬盘,那么可以直接将接口与主机相连,同时插上外置硬盘的电源接口,但这样的工作是非常繁琐的。另一种做法就是通过网 络共享,这样做虽然简单,但需要连接外置硬盘的主机处于运行状态—假如家中成员可能在24小时的任何时间用到外置硬盘,那么这部主机也许得24小时开机, 这无疑意味着大量的电力消耗。当然你也可以使用的时候再开机,不过这需要一定的等待时间,另外也许你会陷入频繁开关机的麻烦之中。总之,要么选择繁琐,要 么就选择浪费能源。外置硬盘的另一个问题在于安全性较差,频繁的搬动会使摔落的危险大增,另外你也无法在外置硬盘中创建RAID 1阵列来确保关键数据的安全。

家用型NAS设备可以很好地解决上述问题。简单点说,NAS其实就是一个网络硬盘,用户可以通过局域网访问到它,或者将网络硬盘的某些文件夹映射到 本地,这样,家庭网络内的所有用户都可以享有彼此独立的存储资源,而这些存储资源又是在同一个硬件设备中便于管理。NAS拥有独立的控制系统,它其实相当 于“嵌入计算机+嵌入OS+大容量硬盘”的组合,因此不像外置硬盘那样需要某一台主机才能工作;而家用NAS的功耗又都非常低,往往只在十几瓦级别,可以 全天候运作而无耗电之忧,这样,局域网中的用户不管在任务时候都能够进行访问,使用方便性明显优于外置硬盘。再者,家用NAS有支持单硬盘和双硬盘两种类 型,单硬盘NAS价格较为低廉,适用于绝大多数普通家用场合;双硬盘NAS则可以提供理想的扩展能力,方便用户未来进一步提升存储容量,不过除此之外,双 硬盘NAS往往还可以支持RAID 0、RAID 1阵列模式,如果用户对数据可靠性要求苛刻,那么可以选择双硬盘NAS并构建RAID 1阵列,确保数据不因NAS硬盘损坏而丢失。

NAS将成为数字家庭网络的存储中枢

除了提供网络存储功能外,一些家用NAS都集成了BT、eMule之类的P2P下载协议,用户可以将它们当作下载服务器使用。由于家用NAS功耗很 低,适合全天24小时的不间断下载—如果拿台式机来作相同的任务,那么以每部台式机实际消耗200瓦计算,一天就需要耗费将近5度电;而完成同样的任务, 家用NAS的耗电量只有台式机的十分之一左右。不仅如此,一些高端定位的NAS往往还集成诸如Web服务器、邮件服务器、MySQL数据库服务器、打印服 务器等职能,可以在复杂家用和小型商用环境中用来代替标准的服务器使用,这也大大拓展了NAS的应用范围。

单硬盘的家用NAS,少数备有BT下载功能,
非常适合作为24小时下载设备使用。

然而,NAS也有一些不足:其一在于传输速度较慢,如果NAS仅采用100M以太网接口,那么一般传输性能在3至5MBps左右,比从PC到PC的 传输明显要慢,这主要是受到NAS硬件(比如CPU过慢)和软件(BIOS、嵌入系统等)的限制。显然,这样的性能完全无法让人满意。不过,那些采用千兆 网络接口的产品在效能方面就有了明显的改善,正常传输效能可以在10至15MBps之间,虽然还谈不上快,速度远不能同外置硬盘相比,但也可很好地满足正 常使用需要,毕竟NAS主要作为数据存储中枢,用户更多是直接在本地访问,而不会总是在本机与NAS之间交换GB级别的数据。NAS的第二个不足就在于价 格较高,在不包括硬盘的前提下,单硬盘版的NAS主机(外壳+嵌入计算机)价格在1000至2000元级别,双硬盘版主机则在2500至4000元左右, 计算上硬盘的成本,你会发现NAS几乎赶得上一台标准的PC了,而这也是家用型NAS进一步普及的主要障碍,毕竟许多用户都不愿意付出如此高昂的价格,而 更倾向于用即将淘汰的电脑来作为NAS服务器。不过专业化的NAS毕竟可以提供更人性化的功能和更高的数据保障,为越来越多的用户所青睐。


2.硬件平台:

家用NAS的外观一般都比较小巧,单硬盘版本只相当于大号的外置硬盘,双 硬盘版本也只是在高度上增加,可以很轻松地摆放在桌面上。嵌入计算机是NAS的核心组件,它包括嵌入处理器、DRAM内存、Flash存储器等,是一套完 整而精简的计算机系统;软件方面,NAS多采用嵌入Linux,嵌入Linux不仅具有很高的可靠性,而且具有很强的扩展性,可以轻松支持Web服务、文 件服务、打印服务之类的网络服务,而许多NAS厂商也额外安装了BT或eMule等下载工具,让NAS实现P2P下载功能。

NAS设备的主板,包括CPU、内存、闪存
等组件,是一部功能完整的嵌入计算机。

在硬件构成方面,NAS并没有一定的标准,NAS厂商可以根据自身需要选择不同的嵌入处理器,目前在家用NAS中常见的处理器包括ARM架构和 MIPS架构,但即便同属一个架构下,厂商也有大量的嵌入芯片可供选择,目前在NAS领域,应用最普遍的当属Marvell 88f5182芯片,该芯片是Marvell公司Media Vault系列的一款产品,内部包含了ARM架构CPU、外设和各种控制器,主要用在NAS、机顶盒和其他消费电子产品中。由于Marvell 88f5182在NAS领域地位重要应用广泛,以至于BitTorrent公司也为88F5182芯片开发了一套软件解决方案,使其能够完美兼容BT协 议,这样,凡是使用Marvell 88f5182芯片的各种设备都可以具备BT下载功能。速度方面,Marvell 88f5182有400MHz和500MHz等多个频率版本,目前新一代NAS多采用500MHz型号,从实际应用来看,Marvell 88f5182 500MHz表现出优越的效能,无论是NAS的访问速度还是提供网络服务的承载能力都可让人满意。

除了Marvell的嵌入芯片外,在NAS领域获得应用的产品还包括AMD Geode、VIA C7等,这两者都属于X86架构,具有软件支持丰富、程序开发容易的特点。不过相对来讲,Geode与C7的每瓦性能都逊于ARM架构产品,也就是说在提 供同等效能的前提下,ARM架构芯片的功耗普遍较低。这种特性更多是由指令架构所先天决定的,毕竟ARM一贯以高效率著称,而X86则显得臃肿。
不过,MIPS架构虽然也具有媲美ARM的高效率,也不乏优秀的嵌入产品,但熟悉MIPS环境的开发者要比ARM开发者少得多,如果NAS厂商选择MIPS平台,那么将会在软件开发方面面临较大的困难,出于这个原因,MIPS架构在NAS领域没有太大的影响力。

由于仅需运行嵌入系统,NAS无需具备PC级别的内存,不过现在的NAS至少也配备了128MB以上的内存,中高端产品普遍则具有256MB—在内 存配置方面,各个NAS厂商都本着够用即可的原则,毕竟目前DRAM芯片价格低廉,即便扩充到512MB所增加的成本也都非常有限。接口方面,中高端 NAS一般都会配备千兆以太网,但目前市面上还有为数不少的产品仅提供100M网络连接,在实际使用中,两者的速度可谓存在天渊之别,100M连接的 NAS产品的传输速度普遍在5MB以内,可用性很差,所以我们建议用户尽可能选择千兆网络接口的产品,否则将严重影响NAS的使用满意度。另外,多数家用 NAS设备都会提供若干个USB接口,方便用户连接数码相机、移动硬盘和打印机之类的外部设备。

3。软件系统:

嵌入计算机为NAS提供了基础的承载平台,但NAS的性能表现很大程度上 与软件有关,而其功能更是100%决定于软件。如果单从硬件性能来看,NAS昂贵的价格似乎没有道理,因为它的性能远不如同价位的PC机—NAS的附加值 更多体现在它的软件系统,这也是NAS产品中技术含量最高的部分。

NAS设备的软件系统必须具备几种功能:软件管理协调、网络功能、数据读取以及设备驱动,因此其软件模块可以按照这几个功能来划分。首先,NAS软 件系统必须具备一个核心操作系统,它负责对管理硬件、协调软件的执行,同时也对外部调用提供API接口。在操作系统之上是外部硬件设备的驱动模块,它可以 让硬件正常地工作,为系统的正常运行提供基本条件。由于NAS是网络存储方案之一,所以必须更多地考虑对网络和存储两方面功能的支持,所以在设备驱动模块 之上的则是一些基本网络协议(TCP/IP)和文件共享协议(如服务器消息块(SMB)等)。位于最上层的则是应用模程序块,包括远程管理、用户验证在内 的诸多应用服务。 然而,NAS并不像PC平台一样拥有标准化的软件组件可供选择,NAS厂商必须根据硬件来自行设计软件系统,尽管设计工作是在已有资源的基础上进行,但其 难度也相当之大—譬如,NAS厂商必须对Linux内核进行裁剪或修改,使之可以在自身硬件平台上运行,同时它必须自行编写设备的驱动程序和应用软件,工 作量几乎等于独立开发一套嵌入操作系统。也正是这个原因,NAS设备的设计成本颇高,实际售价居高不下也就不难理解了。

NAS系统的软件架构示意

下面我们将从操作系统与设备驱动程序、网络协议、应用程序三个方面来讨论NAS系统的软件设计。

4。os与驱动程序

家用型NAS几乎都是使用嵌入式Linux操作系统。嵌入式Linux其 实是标准Linux的精简版本,NAS厂商在标准Linux基础上进行适当的简化、裁剪,并加入一些特定的功能或打上硬件平台的支持补丁,形成一个精巧、 高效和满足NAS应用需求的专用途操作系统—由于NAS系统最重要的只是存储功能,Linux内核所具有的通用功能基本都可以被削减,最终构成的嵌入 Linux内核非常小巧快速,同时又保有Linux系统高度健壮的特点。

由于NAS硬件平台的多样性,NAS厂商都必须针对特定硬件进行设计,而无法直接使用他人的成果。这项工作费时费力,对于开发者的技术水平也是很高 的考验,操作系统的水平如何很大程度上决定着NAS的实际表现。除了定制操作系统外,开发者还必须编写相应的设备驱动程序,它是操作系统内核实现物理设备 控制的支持模块—除了CPU、内存以及其他很少的几个通用部分外,NAS硬件系统中所有的设备控制操作都必须依靠驱动程序来实现,这同样对开发人员提出不 小的挑战。

5.网络协议与共享设计

Linux平台与Windows平台的文件格式完全不同,造成Linux无法对Windows用户直接提供基本的共享和访问服务—桌面Linux系统通常借助Samba工具来实现与Windows的资源共享,打通两者间的壁垒,NAS所用的嵌入式Linux同样如此。

Samba是一套运行在Linux和UNIX环境下的服务器软件,它可以通过SMB协议为用户提供文件和打印服务。Samba的工作原理是让SMB 和NetBIOS(Windows网络邻居的通讯协议)两个协议运行于TCP/IP通信协议之上,进而实现跨平台的资源共享。其中,SMB协议用于在不同 计算机之间共享打印机、串行口和通讯抽象,该协议在所有的Microsoft Windows系列操作系统中被广为应用;NetBIOS则是一个对话通信服务,它为应用程序提供了一种公共的语言来进行通信,并且可对整个网络提供服 务。必须注意的是,NetBIOS只是一个针对如何访问数据的规范,而没有直接为两个应用程序之间的实际传输提供工具,实际的传输服务其实是依靠更低一级 的协议,比如TCP/IP来进行的。

6.应用程序设计

NAS设备没有提供显示器、键盘、鼠标等这些常见的人机交互外设,那么用 户通过什么途径来完成对NAS设备的管理与配置呢?最常见的做法就是采用基于Web的管理方式,即用户通过浏览器登录到NAS,在浏览器中对NAS设备进 行管理,操作方式与管理路由器完全相同。Web管理可以让用户在任何一台客户机上进行操作,大大提升了配置的灵活性,事实上这种做法也已经成为NAS设备 的标准。

基于Web的管理需要建立两种应用模块:其一是面向用户端,为用户提供一个访问NAS的接口,用户可以在Web上进行诸如数据存取、文件管理、P2P下载之类的操作;另一个则是针对NAS系统管理员,管理员通过这个平台对NAS系统进行远程管理。

应用软件也是NAS的重要组成,比如P2P下载、Web服务器、MySQL数据库服务器、流媒体点播之类的功能都是由应用软件实现的。不过实现上述功能相对简单,开发者只要选取相应的开源程序,并将它安装在NAS设备的嵌入Linux系统内即可。

总结

NAS将给家庭和办公环境带来统一、高可靠性的数据管理,我们相信,随着数字技术与生活的紧密结合,用户会拥有越来越多值得永久保留的数据,比如记 录婴儿成长历程的数字照片或DV视频,下载的经典电影或剧集,诸如此类。NAS作为最佳的数据存储方案,预计在未来的发展中将获得可观的成长空间。□

Samba使用TCP/IP协议来传输NetBIOS,在Samba程序中,SMB依赖NetBIOS进行名字解析,通过网络提供和获得资源。这 样,只要用户运行Samba服务器,Windows用户就可以登陆至相应的Linux/UNIX机器并根据你分配的权限进行双向交流。对于NAS系 统,Samba服务默认即处于开启状态,无需用户进行额外的配置工作。

阅读(1141) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~