NAS和SAN既竞争又合作,很多高端NAS的后端存储就是SAN。NAS和SAN的整合也是存储设备的发展趋势,比如EMC的新产品VNX系列。

关于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。

SAN (Storage Attached Network),即存储区域网络的更多相关文章

  1. 存储区域网络(Storage Area Network,简称SAN)

    存储区域网络(Storage Area Network,简称SAN)采用网状通道(Fibre Channel ,简称FC,区别与Fiber Channel光纤通道)技术,通过FC交换机连接存储阵列和服 ...

  2. 浅谈个人对存储区域网络SAN的理解

    存储区域网络SAN,是一种通过将网络存储设备和服务器连接起来的网络,提供计算机和存储设备间的数据传输.其中,SAN是独立于服务器系统之外的,拥有近乎无限的存储能力,通过利用光纤作为传输媒介,实现了高速 ...

  3. DAS、SAN和NAS三种存储方式

    DAS存储 DAS存储在我们生活中是非常常见的,尤其是在中小企业应用中,DAS是最主要的应用模式,存储系统被直连到应用的服务器中,在中小企业中,许多的数据应用是必须安装在直连的DAS存储器上. DAS ...

  4. Real-time storage area network

    A cluster of computing systems is provided with guaranteed real-time access to data storage in a sto ...

  5. Docker存储和网络

    Docker存储资源类型 docker两种存储资源类型 用户在使用 Docker 的过程中,势必需要查看容器内应用产生的数据,或者需要将容器内数据进行备份,甚至多个容器之间进行数据共享,这必然会涉及到 ...

  6. Block存储区域

    Block存储区域 首先,需要引入三个名词: ● _NSConcretStackBlock ● _NSConcretGlobalBlock ● _NSConcretMallocBlock 正如它们名字 ...

  7. 微软Azure云主机及blob存储的网络性能测试

    http://www.cnblogs.com/sennly/p/4137024.html 微软Azure云主机及blob存储的网络性能测试 1. 测试目的 本次测试的目的在于对微软Azure的云主机. ...

  8. 局部变量存储区域静态变量存储区域static变量存储区域

    局部变量存储区域静态变量存储区域static变量存储区域 常见的存储区域可分为: 1.栈 由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区.里面的变量通常是局部变量.函数参数等. 2.堆 ...

  9. block存储区域——怎样验证block在栈上,还是堆上

    Block存储区域 首先,须要引入三个名词: ● _NSConcretStackBlock ● _NSConcretGlobalBlock ● _NSConcretMallocBlock 正如它们名字 ...

随机推荐

  1. The name ‘InitialzeComponent’ does not exist in the current context

    在Visual Studio中创建Windows Store项目,在MainPage.xaml.cs中出现错误: The name 'InitialzeComponent' does not exis ...

  2. Android View事件分发与传递

    在Android中,人们主要通过手指与系统交互.Android把所有的touch事件都被封装成MotionEvent来进行处理,其中包括了手指点击的位置,时间等信息.其事件类型主要包括:ACTION_ ...

  3. [lua]异步串行流程*协程

    local function param_pack( params, callback ) table.insert(params, callback) return params end local ...

  4. 修改织梦plus目录名

    1.修改plus目录名 修改inlclude文件夹下common.inc.php 140行 //插件目录,这个目录是用于存放计数器.投票.评论等程序的必要动态程序 $cfg_plus_dir = $c ...

  5. (转)19 个 JavaScript 有用的简写技术

    1.三元操作符 当想写if...else语句时,使用三元操作符来代替. const x = 20; let answer; if (x > 10) { answer = 'is greater' ...

  6. spring之pom.xml配置

    spring之pom.xml配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns= ...

  7. java中参数传递实例

    //在函数中传递基本数据类型,            2. public class Test {         4.     public static void change(int i, in ...

  8. vs添加浏览器

    点击桌面谷歌图标,查看属性,赋值全部地址 在vs中,直接添加,把地址复制进去就ok了

  9. 利用Axis2默认口令安全漏洞入侵WebService网站

    近期,在黑吧安全网上关注了几则利用Axis2默认口令进行渗透测试的案例,大家的渗透思路基本一致,利用的技术工具也大致相同,我在总结这几则案例的基础之上进行了技术思路的拓展.黑吧安全网Axis2默认口令 ...

  10. 关于Java学习

    缘由 其实写东西的缘由都很简单,不外乎要总结记录,这里,是一种启明灯一样的东西. 虽然说是半路出家,但码代码也有不少时间了,学习编程也有记录可寻了.. 但是,但是,但是,到了工作中,虽然经前辈指点,仍 ...