随着数据量的增加,网络存储的需求也在增长。企业必须为文件、Web应用、数据库等服务,提供满足其需要的存储能力。传统的SAN和NAS技术,在一定程度上,减轻了一些压力。但是,主机CPU的负荷并没有得到丝毫减低,尤其是在运行多媒体应用和资源敏感数据库时。DAFS(直接存储文件系统――Direct Access File System)作为一种文件系统协议,可以在大量甚至过量负载时,有效的减轻存储服务器的计算压力,提高存储系统的性能。
DAFS的基本原理,就是通过缩短服务器读写文件时的数据路径,来减少和重新分配CPU的计算任务。它提供内存到内存的直接传输途径,使数据块的复制工作不需要经过应用服务器和文件服务器的CPU,而是在两个物理设备的预先映射的缓冲区中直接传输。也就是说,文件可以直接由应用服务器内存传输到存储服务器内存,而不必先填满各种各样的系统缓冲区和网络接受器。这样一来,文件的I/O操作加快了,而存储网络的流量反而降低了。同时,由于操作系统对文件操作的介入更少了,节省下来的处理能力就被释放出来,用于其它方面的任务。
DAFS协议框架的描述,最早是由Network Appliance公司,Seagate公司和Intel公司在几年前提出并公布的。今年六月,在一次存储行业的商展上,DAFS开始受到人们的重视。很多厂商提出了基于DAFS的新型应用方案。
受到这一重视的鼓舞,许多厂商声称,他们将于今年年底前,推出基于DAFS的存储相关产品。这些厂商包括:InfiniSwitch公司,Network Appliance公司,Troika Network公司等。还有一些公司联合成立了一个称为“DAFS Collaborative”的业界组织,并建立了Web站点(http://www.dafscollaborative.org/),内容包括大量的技术白皮书和实施计划的细节描述。
二、发展中的DAFS
回想一下,NFS协议的出现给我们带来了什么?文件可以在网络甚至整个Internet上被共享。DAFS使之更进了一大步,它把文件系统扩展到了一个,连接着各种各样存储设备,低延迟而高性能的存储网络中。
关于现有的文件系统工作机制,许多人已经表示了他们的不满。DataCore软件公司的产品市场经理Nik Simpson说,“应用程序中,一个文件读取或写入的操作,往往要经过太多步骤地处理。”另一家提供SAN软件的厂商也曾指出,“如果一个应用程序试图读取一个文件,这一请求必须先经过操作系统,然后被分割成数次操作,包括打开文件,映射文件索引到不同的磁盘数据块,把数据来来回回的在系统缓冲区和应用程序内存之间传输。这大大的增加了系统负担。”
DAFS的设计目的主要有三个。第一,它将大大简化文件读出和写入的步骤,把这一过程的系统负载降到最低。第二,它被设计成与底层传输无关的协议,因此可以在各种网络连接协议之上实现,包括光纤通道,千兆以太网甚至SCSI这样的存储协议。第三,它将提高存储网络的可扩展性,给传统的NAS和SAN注入新的活力。
其精髓就是融合NAS和SAN的优势,并在一个统一的体系结构下,即体现出SAN的高性能,又能够实现数据的共享。DAFS Collaborative的主席,现工作于Network Appliance公司的David Dale介绍说,“现在有一个发展方向是让共享文件能够接受多种并行的访问,这样,各种各样主机平台和应用程序产生的文件,就可以统一的存放在一个存储中心之上。然而这对于SAN来说十分困难,除非你使用新的协议,这个协议就是DAFS。”
DAFS使在以太网(或者其他任何网络连接)上的文件传输能够达到线速度。即在10兆带宽的以太网上,传输文件的带宽可以达到10兆每秒。不像TCP/IP协议,过多的附加数据和操作使你永远不可能以接近线速度传输数据。而且,DAFS不会给主机的计算能力增加负担,相反,倒是会降低CPU对文件操作的介入。另外一个附带的好处是,DAFS可以达到裸设备的文件I/O性能,但是却具有文件系统的所有管理功能。
三、来自厂商的关注
Dale期望更多的NAS厂商能够采用DAFS协议,“这可以有力的改善和提高NAS在存储行业的地位,并使NAS的适用范围更加广泛。”“DAFS把NAS和SAN在应用范围和方式上的界限模糊了。”“剩下的只是选择光纤通道、千兆以太网或者其他高速网络。”
在现有的系统中实现DAFS有两种方式。第一种方式是,以系统插件或补丁的形式,安装在操作系统中。这种方式的原理是截获文件I/O调用,工作方式类似NFS。这种方式减化了系统内核的文件操作步骤,是最早实现DAFS的方式。这种方式完全兼容和支持现有的网络环境和应用,如Web和数据库应用等。
然而,这种方式对性能的提升并不是最理想。要得到最大限度的性能提升,就需要采用第二种方式,即完全DAFS工作方式。当然,这需要应用程序中,针对文件操作的部分要重新编写,以达到彻底优化文件操作的目的。幸好,无论是软件供应商还是用户,很快就会意识到重新针对DAFS编写其应用的意义和重要性。
“我原以为,劝说Oracle公司采用DAFS技术是很困难的。”在成功的劝说了Oracle公司正式采用DAFS技术之后,Simpson不无庆幸的说,“我看不出什么理由让他们这么做,这真的会打乱他们的计划,他们已经具有了今天看起来很好的解决方案,而且其中的协议和例程也是自有专利技术。”
四、DAFS的基础
建立与底层无关的高层协议是一个好主意。DAFS并不关心存储设备接口标准、交换方式和设备、以及其他底层的存储网络具体实现。它工作在被称为VI(Virtual Interface)的标准接口之上。这是由微软公司、Compaq公司和Intel公司共同设计开发的一个标准界面接口,在主机集群和并行处理环境中已经被使用了很多年。例如,集群的DB2数据库和Oracle数据库服务器之间交换记录锁定信息,就是通过VI实现的。DAFS把VI扩展成为一种文件共享应用,它独立于任何特定的网络传输机制,例如以太网、光纤通道或者InfiniBand。
不出意外的话,很快基于DAFS的新型NAS,就可以在性能上挑战SAN。事实上,由传统SAN所支持的块级存储方式,其主要优势就依赖于光纤通道技术的高性能。而传统NAS虽然在性能方面不及SAN,但是基于文件级的共享,使其争取到了一部分特定用户。如果有一天,用户可以在文件级共享数据,同时可以拥有块级存储的性能,那么光纤通道SAN的应用范围势必会被压缩甚至取代。
尽管DAFS技术发展如此迅速,它毕竟还只是新兴技术之一,距离被广泛认同和使用还有一段时间。不过,据Gartner Group和Burton Group等组织分析,DAFS的发展速度还会加快,尤其是像微软公司这样的关键性厂商也加入DAFS Collaborative之后。提及微软,与其他主要数据库厂商一样,微软公司的Microsoft SQL Server同样也支持VI标准。在技术和市场运作方面,都有充足的理由使微软的数据库支持DAFS,因为这只能令其运行的更快更好。
不管怎样,DAFS将以强大的吸引力,牵动业界的诸多厂商。就在EMC公司和Sun公司还在鼓吹“VI over NFS”的时候,Network Appliance公司已经拟定了一个关于DAFS的庞大的发展计划。并打算以此为契机,把公司的产品、解决方案和技术理念都推向一个新的高度。毕竟NFS是一个22年前制定的老标准了,是时候变革了。