分类:
2012-11-05 18:00:24
原文地址:SAN和NAS的区别 作者:nas5753
SAN是Storage Area Network的缩写,也就是说SAN是一个网络;
NAS是Network Attached Storage的缩写,也就是说NAS是一个存储设备;
因此SAN和NAS根本不是同一类东西,因此根本无法将它们进行比较。
为什么有许多人要比较SAN和NAS,有以下两种情况:
一,他们比较的是服务器是连接到Fabric网络(SAN)还是通过IP(LAN)网络连接到存储设备,前一种连接的是光线阵列,后一种连接的NAS设备。为了卖出设备,因此一定要说出那个好,那个不好。
二,说明SAN和NAS互为补充,例如NAS后面使用SAN的网络作为存储。
比较fabric网络和以太网络:
观点一:fabric网络性能高于以太网络,原因如下:
1,从设计上,fabric网络就设计为高速传输的网络,
2,在Fabric网络中,没有竞争,不需要确认,数据传输效率高,一个镇最大可谓2112字节。
3,Fabric是一个智能网络,自动重新路由,trunking(多端口绑定,带宽可达8Gb)
4,Fabric网络中数据传输为块操作,因此对要求直接对磁盘能够读写的数据库有很好的支持能力。而NAS一般不支持数据库。
观点二:
FC网络性能再好,也是一个存储网络,服务器连接存储的性能再高,也是要对外提供服务的,服务器需要通过网络对外提供服务,你后端再快,也要受到前端网络的限制。
FC网络相当于使用了一个第二网络传输存储数据,如果使用第二个IP网络访问NAS设备,因为第二网中机器少,因此效率肯定会大大提高。
FC网络目前带宽为1Gb,2Gb,即使通过trunk也只能达到8Gb,而万维网10Gb已开发出来并投入使用。
FC网络号称传输效率高,而IP网络如果使用cisco的0干扰交换机,高性能的千兆以太网卡,传输性能也很高。
FC的先天性缺陷就是数据共享能力差,如果要多台机器共享一个数据卷,需要sanergy,cvfs等软件的支持,而且管理信息也需要通过IP网络进行传输,而且不支持迁移等操作,性能也很差。
NAS自身就是为数据共享设计的。
有许多大型数据库不支持NAS设备,因为在数据访问时,为了提高数据读写速度,数据库同场要对磁盘进行直接管理,这是如果中间多了一层文件系统,会大大降低数据访问性能。
“裸设备和文件
数据库厂商都推荐使用裸设备作为数据库存储,这是因为这样可以使数据库完全控制I/O,因而可以锁定和并行处理I/O来提高性能,但这些特点要付出一个代价,裸设备非常难于管理, 通常需要系统管理员干涉,因为管理它们需要超级用户的权限。此外,裸设备的管理工具相对文件管理工具来说都比较原始。
今天,文件系统技术已经消除了基于文件和基于裸设备的性能上的不同。可以使用基于文件的数据库而不会牺牲性能。
使用文件的作为数据库存储的数据库提高了系统的可用性,因为它减少了人为错误的可能,还促进了一些应用,如:正规备份。
为提高恢复速度,数据库底层文件应该采用日志型的文件系统。
—Paul Massiglia VERITAS Software”
看了上面的话,相信以后大家在创建数据库时,很少会使用罗设备了吧。
但是虽然数据库是基于文件系统了,但还不是NAS,因为NAS使用的文件传输协议,也就是说,当把数据库建立在NAS上时,如果要取得一条记录,需要对整个数据文件进行传输(如果数据库不更改数据访问方式)
Oracle数据库在9.0版本后开始支持DAFS协议:
DAFS(直接存储文件系统--Direct Access File System)
作为一种文件系统协议,可以在大量甚至过量负载时,有效的减轻存储服务器的计算压力,提高存储系统的性能。
DAFS的基本原理,就是通过缩短服务器读写文件时的数据路径,来减少和重新分配CPU的计算任务。它提供内存到内存的直接传输途径,使数据块的复制工作不需要经过应用服务器和文件服务器的CPU,而是在两个物理设备的预先映射的缓冲区中直接传输。也就是说,文件可以直接由应用服务器内存传输到存储服务器内存,而不必先填满各种各样的系统缓冲区和网络接受器。这样一来,文件的I/O操作加快了,而存储网络的流量反而降低了。同时,由于操作系统对文件操作的介入更少了,节省下来的处理能力就被释放出来,用于其它方面的任务。
DAFS由NetApp公司提出,虽然很好,但只有solaris平台的版本,也就是说必须使用SUN的服务器,和NetApp的NAS设备,
MS也推出了支持NAS的SQLServer数据库。
但是虽然数据库是基于文件系统了,但还不是NAS,因为NAS使用的文件传输协议,也就是说,当把数据库建立在NAS上时,如果要取得一条记录,需要对整个数据文件进行传输(如果数据库不更改数据访问方式)
SAN走的是光纤协议,NAS走的是TCP/IP协议。
SAN多用于关链性数据库,即所谓block,
NAS多用于file.
简单说,nas是在利用你的现有网络,san是在你的sever所端再架一个网络。
SAN更多的是强调范围,高效!
NAS则主要是强调共享!