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. mac下安装tesseract-OCR(Mac下还是有lib依赖的问题,有时间再解决)

    1.先下载需要的软件包 OCR工具:  Tesseract-OCR3.0.1  source code    tesseract-ocr-3.01.eng.tar.gz 破验证码用英文就够了. 图像处 ...

  2. [Offer收割]编程练习赛39

    公平分队 #pragma comment(linker, "/STACK:102400000,102400000") #include<stdio.h> #includ ...

  3. DBGridEh checkbox的一个问题

    function TCustomDBGridEh.CheckBeginRowMoving(MouseX, MouseY: Integer; CheckInOnly: Boolean): Boolean ...

  4. todo reading

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Function/bind https ...

  5. Windows各种计时器

    (一):OnTimer类 1.打开对应对话框的类向导ClassWizard. 2.在消息映射MessageMaps中添加消息Message:WM_TIMER. 3.程序代码中将自动添加函数OnTime ...

  6. 逐步理解Java中的线程安全问题

    什么是Java的线程安全问题? 线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读/写完,其他线程才可使用.不会出现数据不一致或者数据 ...

  7. css3小叮当(转载)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. JSCH实现文件上传下载至sftp服务器

    文件服务器采用FreeSSHd,文件服务器配置就不细说了. 直接上代码,该代码可以直接使用. import com.jcraft.jsch.*; import java.io.InputStream; ...

  9. Linux crontab 在每月最后一天执行

    59  23 * * * if [ `date +%d -d tomorrow` = 01 ]; then; command(/usr/bin/curl -s -o temp.txt  http:// ...

  10. vue中使用mui的extra icon问题

    1. 元素类名更改 2. mui下的fonts文件夹中添加mui-icons-extra.ttf文件 3. mui下的css文件中添加icons-extra.css文件 4. main.js中导入im ...