2008年(456)
分类: 服务器与存储
2008-05-30 15:59:04
以往最终用户在核心数据库应用环境中都不曾考虑过采用NAS,因为通常人们认为NAS主要应用于文件服务,通过网络向服务器提供数据,而网络的延时是数据库系统所不能接受的,特别是对于需要中等以上数据量I/O操作的系统。NAS与数据库真的水火难容吗?
由于许多因素的共同作用,人们正在改变对NAS技术的认识,特别是在数据中心核心数据库应用环境中的应用。
首先,DBMS厂商IBM、Oracle、Sybase等与NAS厂商合作提供了NAS产品的支持和认证,数据库厂商越来越了解存储网络在管理上的优势,特别是NAS,所以,他们现在积极支持在NAS上部署数据库的方案。同时用户也发现,一些NAS与传统的磁盘阵列或其他方式相比也具有性能上的优势。
其次,网络速度正在飞速发展。今年实现的1G~10G的IP网络带宽,结合TCP旁路等技术,减少了I/O通路的压力。
另外,NAS的一些特性,如存储虚拟化减少了管理负担,已经越来越为业界所了解,并成为对存储方案的一种要求。
综合这些因素,使NAS成为数据库环境应用的有力平台。
目前,一些NAS技术已经开始对业界产生了“革命”,革了过去三段论的“命”:
NAS用于文件类型的I/O,这种I/O是很大但不是很密集的传输;
数据库是以基于块的I/O为特点的,不大但很密集;
所以,不要把NAS和数据库用在一起。
虽然这是现在一种流行的提供给用户选择存储网络的建议,可是越来越多的有经验的企业级用户却偏偏不听这些,支持在数据库环境使用NAS的DBA和数据中心管理员正在迅速增加,甚至Oracle公司都已经采用某NAS厂商的NAS产品在运行自己的几十TB的核心应用,同时在Oracle的iCenter展示中心将十几TB作为标准的存储平台。
NAS设备的设计专注于特定的功能,并且融合DAS和SAN的优点,使NAS成为目前发展最快的一个IT领域。适合在数据库环境中使用的NAS应该由以下部分组成:
NAS处理机 NAS处理机使服务器的I/O旁路到NAS,服务器不需要处理文件系统的I/O,对于RDBMS系统,要求系统具有很好的扩充能力,在负载增加时不会牺牲性能,因为当数据库系统安装并投入生产,只要几个月的时间,NAS承担的工作量就会翻番。在网页上有大部分的NAS公开指标SPEC SFS97,请注意吞吐量和响应时间,响应时间反映性能。一些NAS采用NVRAM机制,可以快速响应小而频繁的I/O写请求,更提高了系统的性能。
NAS磁盘 一般由磁盘阵列组成,从几十GB到十几TB,除了容量,可用性是磁盘系统最重要的要求,如果发生问题,NAS应该能迅速使磁盘上的数据库数据恢复到一致的状态。NAS应该采用不崩溃的文件系统和专门的写日志,避免执行费时的磁盘检查程序。
NAS操作系统和文件系统 由于NAS不需要执行一般的计算任务,它的操作系统只需具有支持处理文件服务和存储管理的必需功能。有些操作系统是专门设计的,如NetApp的DataOntap,有的则采用通用操作系统的精简版,如基于Windows的 Server Appliance Kits。文件系统也类似,如NetApp的WAFL文件系统是定制的。文件系统/操作系统结合的效率越高越好,所产生的性能对数据库很关键。NAS设备的快照(Snapshot)功能是必需的,可以用来生成时间点复制,进行在线备份和恢复。
网络接口 可以直接将服务器的网卡和NAS的网卡相连,也可以通过交换机连接。NAS应该支持TRUNK和Virtual Interface,提供高速带宽和网络冗余。当某个千兆网络只用于存储设备,它就成为千兆SAN,数据库环境应该使用千兆SAN。
集群、DAFS、iSCSI 尖端的NAS可以提供集群、DAFS等提高系统可用性和性能的技术,集成iSCSI。其中,DAFS(参见 )是业界的一个标准,它利用直接内存访问(DMA)技术减少延时,进一步消除SAN/NAS的界限,可以通过FCAL、千兆网、InfiniBand,连接服务器和存储,大大提高了数据库服务器的性能。