深入浅出谈存储:如何区别NAS、SAN与DAS
深入浅出谈存储:如何区别NAS、SAN与DAS
【IT168 技术】 上一篇《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。
除了NAS和SAN,还有一类存储设备经常被提到。那就是DAS (Direct Attached Storage) ,即“直连存储”。“直连”指服务器和存储设备之间没有FC网络,而是直接相连。比如我们都熟知的个人电脑就是DAS,因为磁盘被直连到了主板上。DAS已经存在很多年了,就算到今天也是很多服务器的理想选择。但是它的问题很多,而且也跟不上IT技术,比如虚拟化的发展。下面列举几个:
1.可管理性差:每台服务器都使用自己的存储,光硬件的监控和维护就要花费不少时间。如果都要做容灾或备份,对于管理员简直是噩梦。
2. 可扩展性差:在服务器安装结束后,如果发现存储空间分配过多,就造成了浪费。如果发现空间不足,要扩展也很麻烦。
3. 跟不上IT发展趋势,比如不支持VMware VMotion等高级功能。
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就不深入讨论了。

文章的最后,不再有冷酷的机架和Vera Wang的美丽模特。写博客的目的不是吸引眼球,上一篇《NAS是什么?》有点舍本逐末了。最后献给诸位读者一个DAS,SAN和NAS的对比图。希望对理解这三种存储有帮助。如果有任何问题,欢迎在博客中留言。
深入浅出谈存储:如何区别NAS、SAN与DAS的更多相关文章
- 深入浅出谈存储之NAS是什么
深入浅出谈存储之NAS是什么 2012年02月17日16:42 来源:新浪博客 作者:林沛满 编辑:曾智强 查看全文 赞(0)评论(0) 分享 标签: NAS , 企业NAS , 存储系统 [IT16 ...
- [转载]存储基础:DAS/NAS/SAN存储类型及应用
这篇文章转自博客教主的一篇博客存储基础:DAS/NAS/SAN存储类型及应用, 他是在张骞的这篇博客DAS,NAS,SAN在数据库存储上的应用上做了部分修改和补充. 一. 硬盘接口类型 1. 并行 ...
- das,nas,san区别——大型数据中心会用NAS+SAN软硬结合思路
DAS(Direct Access Storage-直接连接存储)是指将存储设备通过SCSI接口或光纤通道直接连接到一台计算机上.NAS(Network Attached Storage网络连接存储) ...
- DAS,NAS,SAN在数据库存储上的应用
DAS,NAS,SAN在数据库存储上的应用 一. 硬盘接口类型1. 并行接口还是串行接口(1) 并行接口,指的是并行传输的接口,比如有0~9十个数字,用10条传输线,那么每根线只需要传输一位数字,即可 ...
- [PS相关]DAS,NAS,SAN三种存储技术比较
随着数据量一直在快速增长,存储技术也在快速的更新以满足需求和推动创新.当存储被提到的时候,它不仅仅局限于存储容量,还有其他的需求比如数据保护,数据备份,数据访问速度等等. NAS-网络存储设备(Net ...
- 存储与服务器的连接方式对比(DAS,NAS,SAN)
存储分类简介 磁盘存储市场上,存储分类根据服务器类型分为:封闭系统的存储和开放系统的存储,封闭系统主要指大型机,AS400等服务器,开放系统指基于包括Windows.UNIX.Linux等操作系统的服 ...
- NAS、SAN和DAS的区别
目前磁盘存储市场上,存储分类(如下表一)根据服务器类型分为:封闭系统的存储和开放系统的存储,封闭系统主要指大型机,AS400等服务器,开放系统指基于包括Windows.UNIX.Linux等操作系统的 ...
- NAS、SAN、DAS 说明
NAS 说明 1.NAS(Network Attached Storage:网络附属存储) 2.NAS 是一种采用直接与网络介质相连的特殊设备实现数据存储的机制. 3.NAS本身能够支持多种协议(如N ...
- DAS NAS SAN
UNIX LINUX WINDOWS 等服务器的存储主要有两种方式DAS或者是FAS.DAS direct attached storage. 直连存储,服务器和存储直接连接.FAS,fabric-a ...
随机推荐
- Makefile简介
1.源程序的编译在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器. 下面我们以一个实例来说明如何使用gcc编译器.假设我们有下面一个非常简单的源程序(hello.c):in ...
- document.body.innerHTML用jquery如何表示
$("body").html('XXXX'); //这个是赋值 $("body").html(); //这个是获取HTML的内容
- Python3 学习第六弹: 迭代器与生成器
1> 迭代器 迭代的意思类似递归一般,不断地对一个对象做重复的操作.来看个例子: class Fibs: def __init__(self): self.last = self.now = 1 ...
- bzoj2396: 神奇的矩阵
与51nod1140一样.不过这题是多组数据的...坑.... #include<cstdio> #include<cstring> #include<cctype> ...
- 【转载】Mysql binlog relaylog 日志迁移
背景: 默认情况下,mysql的数据.binlog.relaylog都是保存在同一个磁盘上,路径根据每个人的设置不一. 当mysql数据库中数据或日志增长很快时,磁盘可能面临空间不够或者IO性能跟 ...
- spring事务传播属性与隔离级别
一.Propagation (事务的传播属性) Propagation : key属性确定代理应该给哪个方法增加事务行为.这样的属性最重要的部份是传播行为. 有以下选项可供使用: PROPAGATIO ...
- QCon 2015 阅读笔记 - 移动开发最佳实践
所有ppt下载地址:http://pan.baidu.com/s/1mg9o4TM 下面是移动开发实践部分的阅读笔记. 移动开发网络性能优化实践 - 陈浩然 (携程) 携程是非常标准的移动App架构, ...
- ecshop显示所有分类树栏目
1.找到 category.php 和goods.php 两个文件修改: $smarty->assign('categories', get_categories_tree(0)); // 分类 ...
- Python中字符串的使用
这篇文章主要介绍python当中用的非常多的一种内置类型——str.它属于python中的Sequnce Type(序列类型).python中一共7种序列类型,分别为str(字符串),unicode( ...
- 【英语】Bingo口语笔记(47) - 关于马的表达
beat a dead horse 浪费口舌