网上应用的数据量在迅速膨胀,使数据管理变得越来越复杂。为了简化网络数据管理的复杂性,近年来出现了存贮网络技术。它将硬盘系统与单个的应用服务器脱离,直接挂在网上,将分散的数据集中管理。
随着网络应用的普及,网络系统的可靠性日益成为关系企业生存的关键性因素。为此在存贮系统中越来越广泛地采用磁盘阵列(RAID)技术。但通常的RAID系统是用牺牲效率换取可靠性,这就使存贮系统效率的瓶颈问题更加突出。
NAS系统直接挂在网上的专用文件服务器,具备快速,简单,可靠的性能,支持Unix和Window NT多种网络环境。
背景
随着Internet的发展,数据成爆炸型增长,而现有网络环境却没有为它提供充分的发展空间。网络系统每时每刻都在调用传输处于服务器后端磁盘阵列中的数据。在很多大的应用系统中,硬盘I/O占用了服务器的大量时间,整个系统都处于对硬盘的等待状态,使整个系统性能下降。磁盘成了服务器的包袱,制约整个网络的瓶颈。
回顾构成整个网络环境的几个关键部件的发展历程,CPU经历了由80286、80386、……、Alpha G Hz等过程,可以说目前CPU技术为当前提供了一个比较好的计算环境,而网络带宽由10M、100M发展到目前技术成熟的1000M以太网为当前网络发展提供了足够的带宽,而硬盘的容量也在飞速发展,目前一个硬盘的容量25GB也是常事,但是从始至终一直有一个制约硬盘发展的问题没有得到很好的解决,这就是磁头臂机械移动速度一直没有得到提高,但磁头臂的机械移动速度却已经达到了一个极限。硬盘就好比一个瓶子,瓶肚越来越大,但瓶口却是一直没有改变。
回顾整个计算机发展历程,不难发现计算机走了一条由通用→专用的道路。尤其是在八十年代,一台通用计算机几乎是万能的,例如:打印服务、文件名服务、文件服务、数据库、路由、桥、磁带备份、公用服务等等。随着对各种功能需求的迅速膨胀,专业化成了必然趋势。出现了路由器、打印服务器、数据库服务器、备份服务器等专用服务器。其中路由器是最典型的专用设备,它对网络的发展起了极大的推动作用,使网络在可维护性、低成本、易用性等方面达到了一个前所未有的境界。
历史与现实条件促使数据存储要走专业化的道路,要绕过硬盘所带来的I/O瓶颈。
NAS系统实现了两个突破 理念上的突破——把存储器直接接到网络上,不再挂在服务器后端,给服务器增加负担。技术上的突破——通过专用软件减少磁头臂机械移动的次数,克服由此造成的延时。
网络存储解决方案NAS与SAN的分析与比较
针对I/O是整个网络系统效率低下的瓶颈问题,专家们提出了许多种解决办法。其中抓住症结并经过实践检验为最有效的办法是:将数据从通用的应用服务器中分离出来以简化存储管理。问题:
图1 由图1可知原来存在的问题:每个新的应用服务器都要有它自己的存储器。这样造成数据处理复杂,随着应用服务器的不断增加,网络系统效率会急剧下降。
解决办法:
图2
从图2可看出:将存储器从应用服务器中分离出来,进行集中管理。这就是所说的存储网络(Storage Networks)。
使用存储网络的好处:
1. 统一性:形散神不散,在逻辑上是完全一体的。
2. 实现数据集中管理,因为它们才是企业真正的命脉。
3. 容易扩充,即收缩性很强
4. 具有容错功能,整个网络无单点故障。
专家们针对这一办法又采取了两种不同的实现手段,即NAS(Network Attached Storage)网络直联存储器和SAN(Storage Area Networks)存储区域网。
NAS:用户通过TCP/IP协议访问数据,采用业界标准文件共享协议如:NFS、HTTP、CIFS实现共享。
SAN:通过专用光纤通道交换机访问数据,采用SCSI接口。
什么是NAS和SAN的根本不同点? NAS和SAN最本质的不同就是文件管理系统在哪里。如图:
图3 由图3可以看出,SAN结构中,文件管理系统(FS)还是分别在每一个应用服务器上;而NAS则是每个应用服务器通过网络共享协议使用同一个文件管理系统。
NAS是将目光集中在应用、用户和文件以及它们共享的数据上。SAN是将目光集中在磁盘、磁带以及联接它们的可靠的基础结构。将来从桌面系统到数据集中管理到存储设备的全面解决方案将是NAS加SAN。
NAS性能分析 1.NAS与磁盘阵列的区别
NAS是一台服务器,有自己的核心,如CPU、内存、操作系统、磁盘系统,而磁盘阵列只是一个存储介质。
NAS直接接到交换机或集线器上,磁盘阵列接到服务器后端。NAS不依赖于服务器,NAS有自己的文件管理系统,把服务器管理文件的包袱卸掉,提高服务器性能,磁盘阵列没有自己文件管理系统,完全依托于服务器,当数据流量很大时,给服务器造成的压力很大,易形成I/O瓶颈,使整个网络系统性能降低。
磁盘阵列技术的出现,是为了提高数据存储的可靠性。它用效率来换取可靠性。NAS把磁盘阵列技术融合在它的文件系统中,这样既提高了数据的可靠性,又利用磁盘的并行操作,提高了系统的整体性能。
2.NAS比磁盘阵列快的原因
控制普通磁盘的是通用操作系统,如UNIX或NT, 控制磁盘只是其职能中的一部分,I/O操作算法效率不高。而NAS的操作系统是专用的,它只管磁盘I/O,算法效率最高。
通用文件服务器的CPU当进行I/O操作时,系统发生中断,等待I/O完成后才能恢复应用运行。在有NAS的系统中,应用程序需要进行磁盘I/O操作时,I/O操作由NAS完成,在磁盘I/O操作中最费时间的是写操作,NAS将写请求先写到NVRAM(不掉电内存)中,这个动作完成后,应用程序即可恢复运行,所以效率要高得多。
磁盘操作慢的根本原因在于磁头臂的查找是机械动作,所以减少磁头臂的移动次数是提高效率的关键。NAS对磁盘的I/O操作算法,尤其是写操作,比通用操作系统做了极大的改进,它最大限度地减少了磁头臂的移动次数。其算法保证磁头总是停留在一个可写的位置上,并从这个位置连续写下去。
通常的RAID(磁盘阵列)系统,对于通用操作系统来说是外加的,是额外负担。人们使用RAID是为了得到高可靠性,但这是以牺牲一定的系统效率做前提的。NAS的RAID系统是设计在它的专用操作系统中的,它不仅不是额外负担,相反由于多个磁盘的磁头臂可以同时并行读写,所以I/O速度更高了。 ,