大话存储系列11——NAS、DAS、SAN三国争霸

来源:互联网 发布:阿里云url转发 编辑:程序博客网 时间:2024/04/29 09:57

原文转自:http://www.liusuping.com/storage/das-nas-san-cunchu-jishu-bijiao.html


1、什么是NAS

找了一篇非常非常好的文章,把NAS的解释的淋漓尽致,看下面的东西之前,一定要看这篇文章:

转自:http://www.storageonline.com.cn/storage/nas/what-is-the-the-the-the-the-nas/

IT男们经常受到两个消息的折磨:好消息是,有姑娘主动打来电话了;坏消息是,她们只是想让你帮忙装个电脑而已。

    这是多么令人沮丧的事情,因为你最多花10分钟在香闺连好线,姑娘们就要打发你回家了(关于如何尽量在香闺里拖延时间,我们另文讨论)。很多姑娘想不到的是,没把这个热心的IT男留住,可能就错失了一个成功人士(当然大多数还是失败人士)。换换硬盘,给操作系统提提速,看似没有技术含量的事情,也许能整出大名堂来。历史上很多大名鼎鼎的产品,其实只是把各种技术或零件整合在一起,不见得有多么高深的技术,比如戴尔同学在本科期间装配的电脑。本文要介绍的NAS,也是把IT领域的多种技术凑在一起,历史也不长,竟然也成就了数家500强企业。

     NAS是Network-Attached Storage的简称。中文一般称为“网络附加存储”,或者“网络连接存储”。但是再爱国的业内人士也不喜欢叫这个中文名,就像乡下阿伯也不喜欢把NBA叫做“国家篮球联盟”一样。我们可以顾名思义的把NAS理解成通过网络提供存储的设备。比如你在装了Linux的电脑上共享一个目录,让其他Linux客户能够通过NFS协议访问该目录,那这台电脑就是一定意义上的NAS。如果你在这台电脑上装些软件,让Windows用户(通过CIFS)和Linux用户(通过NFS)都能访问这台电脑上的共享目录,那这台电脑就成了完全意义的NAS。一般NAS支持CIFSNFS等协议,有些甚至支持FTP,但不是必须。下图展示了NAS在企业环境中扮演的角色。如果你不熟悉这些协议也不必担心,我们会在以后的文章中讲到。


    当然,上文提到的这台NAS肯定卖不出去的。大多数企业之所以选择EMC和NetApp等公司的NAS,是因为它们有着一般文件服务器难以实现的功能。先简单的介绍一点,姑娘们请擦亮眼睛,看看和一般IT男捣鼓的东西差别有多大。

一.高性能。

如果把一般文件服务器的性能比作一辆自行车,那NAS就是一辆宝马,不但负载能力强,速度也快(这个比喻是不是太俗了?)。这主要依靠多个层面的优化得到的:1. NAS的操作系统经过高度定制,去掉了不必要的功能,完全为文件传输服务,在操作系统的层面提高了性能。这就像运动员都要轻装上阵一样的道理。EMC Celerra的DART和NetApp的ONTAP就是知名的NAS操作系统。2. NAS支持LACP等链路聚合协议,提高了网络带宽。数据从网络进入NAS,如百川归海。如果把几条河并在一起,流量就大了。3. NAS后端可以采用高性能的SAN。SAN通过cache和RAID等机制提高了性能。RAID 0 等技术能够通过stripe(条带)实现并发读写。并发读写的优势可以通过一个类比来帮助理解:比如现在有一批档案需要录入到电脑上,经理一个人打字需要做5天。分给5位员工一起做,一天就可以做完了。4. NAS能对后端提供的逻辑卷(比如CLARiiON上的LUN)再做一次stripe,在高负载情况下保持高性能。比如有5批档案需要录入到电脑上,总经理可以平分给5位经理(相当逻辑卷的条带),5位经理再分给5位员工(相当RAID的条带)。

二.避免单点故障(single point of failure),实现高稳定性

1. NAS的机头有一个随时待命的替补(standby),一旦机头跑着跑着受伤了,替补可以自动补上。2. 在一条网络链路出现问题的时候,同一个Channel Group的其他链路还能继续传数据。3. NAS机头到SAN的链路也有多条,一条发生故障,可以通过另一条访问。4. RAID和hotspare技术尽量避免了硬盘损坏而导致数据丢失。

三.快照和备份技术,保证了数据的安全:

1. 很多NAS产品都支持快照技术,对文件系统定时拍快照,在不占用大量空间的前提下支持数据的快速恢复。比如EMC Celerra的Snapsure和NetApp Filer的Snapshot。2. 对NDMP协议的支持,使NAS的数据备份和还原更快速,方便,且不占用网络资源。

四.支持数据的归档和重复数据删除,节省了费用:

1.长期没有使用的文件,可以归档到较低端的存储上,把更快更稳定的NAS存储空间让给热门数据,这个过程对客户端是透明的。Celerra的FileMover API和NetApp的Fpolicy都支持此功能。2.张三同志存在“/摄影技术/陈老师专题”和李四同志存在“/先进性学习/活动采风”里的几百兆图片是一样的,但互相都不知道。NAS保存两份相同数据不是浪费了空间了吗?重复数据删除(deduplication)技术对相同内容的多个文件只保留一份内容。既节省了空间,又对用户透明。以上介绍的,仅是NAS的冰山一角。接下来再分专题详解。写到这里,觉得有点枯燥。下笔前明明想写得轻松明快的,怎么一不小心就用到这么多专业名词?看来大侠们把文档写得那么晦涩也是有苦衷的。说点题外话,对于姑娘们来说,跟NAS拍张婚纱照绝对是个好主意。冷酷的黑色机架,大师设计的金属Logo,还有蓝,绿,黄等各色灯光闪烁,整体充满科技美感。如果穿上柔美的婚纱,倚在NAS上拍张照片,会是多么惊艳?我找了张Vera Wang的模特和EMC VNX的照片,随便放在一起就有效果。
网络储存设备 (Network Attached Storage,NAS),是一种专门的资料储存技术的名称,它可以直接连接在电脑网络上面,对不同操作系统的使用者提供了集中式资料存取服务。
NAS和传统的档案储存服务或是直接储存设备不同的地方在于NAS设备上面的操作系统和软件只提供了资料储存、资料存取、以及相关的管理功能;此外,NAS设备也提供了不止一种档案传输协定。NAS系统通常有一个以上的硬盘,而且和传统的档案服务器一样,通常会把它们组成RAID来提供服务;有了NAS以后,网络上的其他服务器就可以不必再兼任档案服务器的功能。NAS的型式很多样化,可以是一个大量生产的嵌入式设备,也可以在一般的电脑上执行NAS的软件。
NAS(网络附加存储)用的是以文件为单位的通讯协定,例如像是NFS(在UNIX系统上很常见)或是SMB(常用在Windows系统)。NAS所用的是以文件为单位的通讯协定,相对之下,储域网络(SAN)用的则是以区块为单位的通讯协定、通常是透过SCSI再转为光纤通道或是iSCSI。
NAS设备用的通常是精简版的操作系统,只提供了最单纯的档案服务和其相关的通讯协定;举例来说,有一个叫FreeNAS的开放源码NAS软件用的就是精简版的FreeBSD,它可以在一般的电脑硬件上执行,而商业化的嵌入式设备用的则是封闭源码的操作系统和通讯协定程式。
简单来说NAS就是一台在网络上提供文档共享服务的的网络存储服务器。
NAS的网络结构:
NAS存储使用以太网接口直接接入现有以太网网络实现数据的共享。部署灵活,不会对现有网络结构产生变化。

 NAS存储的优缺点NAS的优点:NAS设备一般支持多计算机平台,用户通过网络支持协议可进入相同的文档,因而NAS设备无需改造即可用于混合Unix/Windows NT局域网内。其次,NAS设备的物理位置同样是灵活的。它们可放置在工作组内,靠近数据中心的应用服务器,或者也可放在其他地点,通过物理链路与网络连接起来。无需应用服务器的干预,NAS设备允许用户在网络上存取数据,这样既可减小CPU的开销,也能显著改善网络的性能。对现有网络环境有很好的适应性。NAS设备对企业网络环境基本上没有什么特别的要求和限制,可以很方便的在现有的网络环境中添加NAS设备。这是因为NAS所支持的那些操作系统和网络协议都是已在网络中得到很好的支持,NAS设备的添加不会引发新的网络支持的问题。高可扩展性。NAS设备的高扩展性很好的满足了企业日益增长的存储需求。NAS的扩展只需通过添加一个节点及网络设备即可(做到真正的即插即用,并且部署位置非常灵活),基本上启动NAS设备,运行相应的网络文件系统,并将这个NAS设备接入网络环境就完成添加了。NAS集群技术通过一组NAS设备集合来形成如同一个NAS设备,NAS集群技术提供了一定的存储分流,使得不同的NAS设备可以同时工作来满足网络存储的存储需求,从而提高了NAS系统的整体性能,并解决了多个NAS系统的扩展性和管理趋于复杂性的问题。易管理性。NAS本身就是为了企业内部网络而设计,实现了异构平台下的数据共享,因此NAS的使用和维护成本就相对很低,管理和维护工作也相对简单。用户只需一些简单的初期设置和管理,NAS设备就可以很好的运行起来。基于网络服务的丰富应用NAS存储是基于TCP/IP协议的一台网络文件服务器,因此除了提供基本的NFS、SMB等网络共享服务之外还可以根据不同的NAS存储设备提供一些高级的网络应用,如下图威联通NAS所示在一台NAS设备上同时提供文件共享服务,FTP服务,web服务,日志服务器、打印服务器及备份服务器等基于TCP/IP协议的网络服务。例如在监控存储部署方面具有较大优势。NAS的缺点:NAS没有解决与文件服务器相关的一个关键性问题,即 使用过程中的带宽消耗。与将数据流从LAN中转移出去的存储区域网(SAN)不同,NAS仍使用网络进行备份和恢复。NAS 的一个缺点是它将存储事务由并行SCSI连接转移到了网络上。这就是说LAN除了必须处理正常的最终用户传输流外,还必须处理包括备份操作的存储磁盘请求。存储性能的局限。NAS只适合应用在较小的网络或者局域网内。因为NAS受限于企业网络的带宽,很可能会出现当多台客户端访问NAS文件系统时,NAS的性能大大的下降,最终不能满足用户的需求。可靠性还有待提高。当企业内部网络发展到一定的规模时,NAS设备的数据服务和数据管理形成了网络的双重负担,也就是说NAS除了要处理正常的终端数据I/O请求外,还需要做备份和恢复等操作。并且NAS后期的扩容成本高;一般的NAS没有高可用配置,容易形成单点故障。
NAS和简单PC服务器的区别:价格优势:省去了键盘,鼠标,显示器等外部设备,从而大大节约了经费开销,按照平均存储价格来说NAS单位存储对应的价格要远远低于服务器,而且他采用了RAID 5级别的数据保护技术,从而让数据存储更加放心更加安全。稳定性优势:功能单纯并且移除了许多不必要的连接器、控制晶片、电子回路,如键盘、鼠标、VGA等;所以架构上相比常见计算机有了简化。管理优势NAS设备用的通常是精简版的操作系统,只提供了最单纯的档案服务和其相关的通讯协定,并且针对NAS的服务提供了简便灵活的管理软件。例如web管理,客户端管理等方式。

2、NAS与SAN 的关系

本文转自:http://www.storageonline.com.cn/storage/nas/nas-san-das/ 上一篇《NAS是什么?》发表后,评论如雪花般飘来。这本是每位作者所乐意看到的,令我哭笑不得的是,多数读者只看了开头的笑话就留言走人了。唯有一位让我聊感欣慰,因为他说“/陈老师专题”里的几百兆图片他也有。还好“/陈老师专题”出现在文章的末尾。这悲剧也提醒了我,技术文档不要过度包装,再生动的语言也掩盖不了技术的晦涩。当年明月要是写这个,也不敢说“NAS可以写得很好看”。

本文要介绍的是SAN (Storage Attached Network),即存储区域网络。为什么写NAS就不得不提到SAN呢?原因之一是它们的名字有69关系,容易混淆;之二是NAS和SAN既竞争又合作,很多高端NAS的后端存储就是SAN。NAS和SAN的整合也是存储设备的发展趋势,比如EMC的新产品VNX系列。

右图展示了一台NAS的逻辑结构:双虚线框表示一台NAS。它通过Fibre Channel从后端SAN获得存储空间,创建文件系统后,再通过以太网共享给服务器。SAN提供的存储单位是LUN,属于block级别的。经过NAS创建成文件系统后,就变成文件级别的了。

如果右边的逻辑图还不够清楚,可以看看下面的物理连接。NAS通过FC Switch连到SAN上,应用服务器再通过Ethernet Switch连到NAS上。同时SAN也直接提供block级别的存储给应用服务器。


关于NAS和SAN的区别,可以列出很多来。比如带宽大小,距离长短,共享优劣等等。几乎所有区别都是由两个因素衍生出来的。一个是FC与Ethernet,另一个是block与file system。

简而言之,如果用户需要通过FC访问block,就用SAN;如果需要通过Ethernet访问file system,就用NAS。


应用程序与SAN设备通信过程:

对于SAN 方式来说,应用程序别想通过运行在服务器本机(或者NAS设备)上的文件系统与磁盘阵列对话,应用程序对本机的文件系统(或对NAS服务器)说:“嗨,哥们(本机文件系统或者NAS),帮我把/mnt/SAN 目录下的SAN.txt那个文件送到我的缓冲区里。” 本机的文件系统(或者NAS服务器)开始计算SAN.txt文件占用的磁盘扇区的LBA地址,计算好了之后向SAN磁盘阵列说(用SCSI语言):“嗨,盘阵哥,吧从LBA10000开始后的128个扇区全部传给我呗”,盘阵收到后,自己忙活一通,不过是物理磁盘,还是LUN,反正最终是找到了那些扇区,通过FC网络传送给文件系统(或者NAS服务器),文件系统收到扇区内容之后,根据文件系统记录截掉多余部分,将整理后的数据放入请求这个数据的应用程序缓冲区。

应用程序与NAS设备通信过程:

应用程序通过操作系统的虚拟目录层直接与NAS设备对话:“嗨,NAS哥,帮我把/mnt/NAS目录下的NAS.txt 文件传过来。” 或者“嗨,NAS哥,帮我把/mnt/NAS目录下的NAS.txt 文件的前1024字节传过来” 这些话是会被封装成TCP/IP数据包,通过以太网网络传给NAS设备上。NAS收到这个请求后,立即用自己的文件系统(NTFS,JFS2,EXT2,EXT3等)计算NAS.txt文件都占用了磁盘的那些扇区,然后从自己磁盘上使用ATA或者SCSI语言想对应磁盘读取数据(或者自己后端是SAN存储,直接从SAN上要数据)。

显然,NAS将文件系统逻辑搬出了主服务器,称为了一个单独的文件系统逻辑运行者。下图展示从主机到NAS设备的IO全流程:

之后,主机客户端上某应用程序发起了对/mnt/nas/nas.txt文件的读取操作,读取从偏移量0字节开始往后的1024字节,也就是这个文件的前1024字节。这个动作是通过调用操作系统提供的文件操作API执行的,比如read(),

这个IO请求被传送到了NFS Client处,NFS Client知道/mnt/nas路径对应的其实是NAS 服务端的/nas/export这个输出目录,所以NFS Client将上层下发的这个读取请求封装成NFS协议规定的标准格式通过网络传送到NAS 服务器端。

NAS服务器端接收到这个请求之后,将请求通过操作系统API传送给文件系统模块处理。文件系统模块接收到针对/nas/export/nas.txt文件的读请求之后,首先查询缓存内是否有对应数据,如果有,则直接返回结果;如果没有,则需要将这段字节所落入的底层存储空间的块信息取回,这个动作通过查询inode表等元数据获得。当得到了底层块地址之后,文件系统通过调用OS提供的API将这些快的读请求发送下游模块,也就是卷管理层。

卷管理层是将底层物理磁盘设备进行虚拟化封装的层次。当卷管理层收到针对某个卷某段LBA地址的请求之后,他要进行翻译,将目标虚拟卷的地址翻译为对应着底层物理磁盘块身边的地址;翻译完成之后,卷管理层将对应目标地址的请求再次通过调用OS API的方式发送给下游,也就是驱动程序层了。

块设备驱动是负责对应块设备进行IO的角色,他将这些IO发送给SCSI CDB Generator也就是SCSI指令的翻译中心。

SCSI CDB Generator的职责是将对应的IO请求描述问SCSI协议的标准格式。之后这些指令被发送到SCSI/FC适配器的驱动程序处,

设备驱动程序接收到这些SCSI指令后,将其封装到对应的链路帧中通过内部总线网络或者外部包交换网络传送到目标。

SCSI指令传送到目标设备,目标设备执行相应指令并返回结果。


3、什么是DAS(直接附加存储

除了NAS和SAN,还有一类存储设备经常被提到。那就是DAS (Direct Attached Storage) ,即“直连存储”。“直连”指服务器和存储设备之间没有FC网络,而是直接相连。比如我们都熟知的个人电脑就是DAS,因为磁盘被直连到了主板上。DAS已经存在很多年了,就算到今天也是很多服务器的理想选择。但是它的问题很多,而且也跟不上IT技术,比如虚拟化的发展。下面列举几个:

1.可管理性差:每台服务器都使用自己的存储,光硬件的监控和维护就要花费不少时间。如果都要做容灾或备份,对于管理员简直是噩梦。

2. 可扩展性差:在服务器安装结束后,如果发现存储空间分配过多,就造成了浪费。如果发现空间不足,要扩展也很麻烦。

3. 跟不上IT发展趋势,比如不支持VMware VMotion等高级功能。

DAS(Direct Attached Storage—直接附加存储)是指将存储设备通过SCSI接口或光纤通道直接连接到一台计算机上。DAS的适用环境为:

1)服务器在地理分布上很分散,通过SAN或NAS在它们之间进行互连非常困难时。

2)存储系统必须被直接连接到应用服务器(如Microsoft Cluster Server或某些数据库使用的“原始分区”)上时;

3)只有单台服务器,存储设备无需与其他服务器共享。


4、SAN:存储区域网络

先看下下图的SAN存储的网络拓扑图

SAN存储通过光纤交换机将磁盘空间分配给不同的服务器,服务器通过以太网对外提供服务,存储区域与用户的应用区域隔离。


SAN(存储区域网络)通过光纤通道连接到一群计算机上。在该网络中提供了多主机连接,但并非通过标准的网络拓扑。

高带宽:SAN的结构允许任何服务器连接到任何存储阵列,这样不管数据置放在那里,服务器都可直接存取所需的数据。因为采用了光纤接口,SAN还具有更高的带宽。

独立的存储网络:因为SAN解决方案是从基本功能剥离出存储功能,所以运行备份操作就无需考虑它们对网络总体性能的影响。

管理便捷:SAN方案也使得管理及集中控制实现简化,特别是对于全部存储设备都集群在一起的时候。

远距离部署:光纤接口提供了50公里的连接长度,这使得实现物理上分离的、不在机房的存储变得非常容易。

SAN主要用于存储量大的工作环境,如ISP、银行等,最大的缺点就是成本高。


SAN解决了这些问题。因为它既提供了统一的存储,同时又是一个网络。统一性和网络性给SAN带来了很多优势:

1.可管理性:由一台SAN统一给多台服务器提供存储。无论是硬件的监控维护,还是数据的容灾备份,都只要在SAN上进行。使存储管理变得更轻松。

2.可扩展性:在物理层面,SAN支持数以百计的磁盘(比如EMC的CX4可以支持960块磁盘),提供了海量的存储空间。在逻辑层面,这个海量空间可以按需要分成不同大小的LUN,再分配给服务器。LUN是逻辑设备,所以很容易扩展或迁移。

3. 符合IT发展趋势:比如对炙手可热的虚拟化有很好的支持。

当然,除了解决DAS的这些问题,SAN还有其他明显的优势:

1. 高性能:

a. SAN 更好的支持RAID,因为它拥有更多硬盘和更强的控制器。下图展示了RAID0对性能提升的基本原理:当有一大块数据写到RAID Group上,它可以被分成数小块,同时写到几个磁盘上。这就象有一批档案需要录入到电脑上,经理一个人打字需要做5天。分给5位员工一起做,一天就可以做完了。我们将在以后分析NAS性能的时候详细解释。


b. SAN有更大的cache。比如CX4的write cache可以达到10.7 GB。Cache对性能的提高也有明显的作用,我们也会在以后分析NAS性能的时候详细讲解。

2. 更稳定:多机头,热备盘,多路径等机制杜绝了单点故障。

3. 更安全:统一的容灾,备份和远程复制保证了数据的安全性。

此外还有很多新技术,比如VNX的FASTCache和FASTVP。因为今年主要介绍NAS,SAN就不深入讨论了。

最后献给诸位读者一个DAS,SAN和NAS的对比图。希望对理解这三种存储有帮助。





4、总结

根据DAS、NAS、SAN的不同特性,DAS及SAN是基于存储空间的磁盘分配,是基于硬件层面的存储方式,而NAS则是基于应用层面的存储方式,可以根据应用环境来对其进行总结。

DAS多采用SCSI或SAS接口,由于部署节点的单一性及较高的性能,适用于单一节点的企业级应用,或者地理位置比较分散的服务器使用。DAS由于部署的局限性目前使用量越来越少。

NAS利用现有以太网网络,因此部署灵活,部署的成本非常低,基于TCP/IP协议的特性可以提供丰富的网络服务,基于文件的形式提供数据的存储及备份,但是TCP/IP协议决定了数据传输的数据打包及解包会占用系统资源,另外传输速率受限于以太网的速率,因此不适用于企业级应用,通常部署于部门级应用。

SAN存储使用光纤网络进行传输,并且独立于应用网络,可以提供非常高的带宽,数据的传输基于块协议,无需对数据进行处理,直接进行传送,因此性能最好,另外光纤线路可以提供远距离的高带宽链路,可以实现数据中心的异地灾备应用,但是部署成本较高。因此SAN存储多应用于企业级的存储部署中。

随着技术的发展,以iSCSI技术的IP SAN技术使NAS存储抢占了一部分SAN存储的市场份额,另外随着10Gb以太网技术的发展NAS存储的发展空间将会更加广阔。

原创粉丝点击