随着Internet的发展,数据成爆炸型增长,而现有网络环境却没有为它提供充分的发展空间。网络系统每时每刻都在调用传输处于服务器后端磁盘阵列中的数据。在很多大的应用系统中,硬盘I/O占用了服务器的大量时间,整个系统都处于对硬盘的等待状态,使整个系统性能下降。磁盘成了服务器的包袱,制约整个网络的瓶颈。
回顾构成整个网络环境的几个关键部件的发展历程,CPU经历了由80286、80386、…、Alpha GHz等过程,可以说目前CPU技术为当前提供了一个比较好的计算环境,而网络带宽由10M、100M发展到目前技术成熟的千兆以太网为当前网络发展提供了足够的带宽,而硬盘的容量也在飞速发展,但是从始至终一直有一个制约硬盘发展的问题没有得到很好的解决,这就是磁头臂机械移动速度一直没有得到提高,但磁头臂的机械移动速度却已经达到了一个极限。硬盘就好比一个瓶子,瓶肚越来越大,但瓶口却是一直没有改变。
回顾整个计算机发展历程,不难发现计算机走了一条由通用→专用的道路。尤其是在八十年代,一台通用计算机几乎是万能的,例如:打印服务、文件名服务、文件服务、数据库、 路由 、桥、磁带备份、公用服务等等。随着对各种功能需求的迅速膨胀,专业化成了必然趋势。出现了路由器、打印服务器、数据库服务器、备份服务器等专用服务器。其中路由器是最典型的专用设备,它对网络的发展起了极大的推动作用,使网络在可维护性、低成本、易用性等方面达到了一个前所未有的境界。
历史与现实条件促使数据存储要走专业化的道路,要绕过硬盘所带来的I/O瓶颈。
NAS系统实现了两个突破
理念上的突破,把存储器直接接到网络上,不再挂在服务器后端,给服务器增加负担。技术上的突破, 通过专用软件减少磁头臂机械移动的次数,克服由此造成的延时。
网络存储解决方案NAS与SAN的分析与比较
针对I/O是整个网络系统效率低下的瓶颈问题,专家们提出了许多种解决办法。其中抓住症结并经过实践检验为最有效的办法是:将数据从通用的应用服务器中分离出来以简化存储管理。问题:
由图1可知原来存在的问题:每个新的应用服务器都要有它自己的存储器。这样造成数据处理复杂,随着应用服务器的不断增加,网络系统效率会急剧下降。
解决办法:
从图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最本质的不同就是文件管理系统在哪里。如图:
NAS是将目光集中在应用、用户和文件以及它们共享的数据上。SAN是将目光集中在磁盘、磁带以及联接它们的可靠的基础结构。将来从桌面系统到数据集中管理到存储设备的全面解决方案将是NAS加SAN。
NAS性能分析
1.NAS与磁盘阵列的区别
NAS是一台服务器,有自己的核心,如CPU、内存、操作系统、磁盘系统,而磁盘阵列只是一个存储介质。
NAS直接接到交换机或集线器上,磁盘阵列接到服务器后端。NAS不依赖于服务器,NAS有自己的文件管理系统,把服务器管理文件的包袱卸掉,提高服务器性能,磁盘阵列没有自己的文件管理系统,完全依托于服务器,当数据流量很大时,给服务器造成的压力很大,易形成I/O瓶颈,使整个网络系统性能降低。
磁盘阵列技术的出现,是为了提高数据存储的可靠性。它用效率来换取可靠性。NAS把磁盘阵列技术融合在它的文件系统中,这样既提高了数据的可靠性,又利用磁盘的并行操作,提高了系统的整体性能。
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速度更高了。
从2004年Google推出大容量邮箱Gmail开始,大容量邮件系统发展愈来愈热,用户也逐渐养成在邮件系统服务器上备份大量历史邮件的习惯。随着业务的发展,单系统邮箱数量也越来越多,大用户量加上庞大的邮件数,这给邮件存储带来了显著的压力。为保证电信级邮件系统的安全、稳定、高效和可靠,提升用户的使用体验,选择合适的邮件存储解决方案是非常重要的问题。
大容量邮件系统的存储需求
高速的并发读写要求。大容量邮件系统中,同时会有很多用户对邮箱进行操作,并有很多邮件投递到用户的邮箱,因此邮件存储的高速访问将是邮件系统至关重要的需求,而且对邮箱并发读写的一致性和完整性也有相当高的要求。
多服务器共享读写需求。电信大容量邮件系统都会采用多服务器同时提供服务,以提高系统容量和系统可靠性,要求一台服务器出现故障时,其他的服务器仍能对所有用户提供服务。
方便邮件系统扩容且单位容量成本低。在业务量增加的情况下,可以方便地增加服务器和存储模块,实现系统容量的扩展和性能的提升。在保证性能的基础上,单位容量成本低,运营商能够控制大容量邮箱在存储上的投资成本。
多文件Maildir方式存储邮件
面对大容量邮件系统的存储需求,传统的单文件Mailbox方式管理和存储已不能满足,需要更好的邮件管理方式。
单文件的存储方式主要缺点有:一是邮件读写效率低,在Mailbox存储方式中,用户所有邮件采用一个大文件存储,没有数据库管理概念,要找到一封信开销非常大;同时,删除、修改邮件等操作都会导致整个大文件的重新写入,效率很低。二是Mailbox文件容易损坏,一封信的读写异常,将引起文件被破坏,导致用户的所有邮件丢失。采用多文件Maildir方式可以避免上述问题,用户的每一封邮件采用一个文件保存,邮件操作都只对独立的一个文件操作,邮件读写的性能有很大改善;另外,一封邮件的损坏,也不会影响到其他邮件的读写。
NAS网络附加存储的特点和优势
网络附加存储(NAS)是最成熟的网络存储解决方案,而且是唯一一种通过网络连接主机系统共享数据的存储技术。它采用文件为基本读写单位,文件管理由高效的专用硬件模块负责,可以降低应用服务器主机对文件管理的开销,因此最适合做海量文件的存储构架。NAS还可以充分利用Cache技术进行文件的缓存,提供高效的锁技术来保证文件读写的一致性,多台服务器同时访问同一文件也能正确处理。优秀的NAS存储设备可以提供每秒近万次文件读写,在处理海量文件时性能更优于SAN存储。NAS采用高速以太网作为连接访问的形式,因此在系统容量扩展时,不需为应用主机添加诸如FC光纤卡等昂贵配件,性价比高且不论是增加主机还是存储容量都十分便捷,通过快照方式还可以方便的进行高速文件备份。
存储区域网络(SAN)或直接附加存储(DAS),采用数据块作为基本读写单位,适用于数据库等应用。使用它们作为文件存储时,都是基于主机服务器操作系统的文件系统来完成文件的读写。操作系统采用通用文件系统,基于数据块的读写,对大量文件的访问效率很低;同时由于操作系统还要管理其他大量的业务进程,都会影响文件系统的处理效率。由于邮件系统是以I/O为主的业务,当文件系统效率很低的时候,大量进程都处于I/O等待状态,严重影响应用效率。另外一个不足是一个磁盘卷同时只能由一个主机访问,这意味着主机故障将造成其管理的磁盘卷无法访问。如果应用到邮件系统将会导致部分用户的邮箱无法打开,尽管通过HA管理可以在故障时将磁盘卷的管理切换到其他主机上,但是HA的管理成本很高且复杂,而且无法避免切换时的服务中断,最终影响服务质量。
基于NAS的邮件存储解决方案
NAS存储架构和Maildir邮件存储方式配合在一起,辅以高速的邮件索引机制,得到一种非常优秀的邮件存储解决方案。NAS强大的文件管理能力能够轻松管理Maildir邮件存储方式带来的海量文件,文件为单位的存储访问方式因匹配邮件访问特点而充分提高了邮件的读写效率。采用对邮件索引技术可以高效定位邮件对应的文件存储位置,能高效地完成邮件查询。大容量邮件系统中分布处理时,任何一台服务器都能够同时访问NAS 上的所有邮箱,实现大并发量的高速访问。同时某台服务器故障时服务也不会中断,充分保证电信级的邮件服务品质。国内外的电信级大容量邮件系统,包括YAHOO在内,大多采用NAS作为高性价比的邮件存储方案。可见采用NAS作为电信级大容量邮件存储将是最佳选择。
|