本文内容

  • NAS
  • NAS 功能
  • SAN 与 NAS 区别
  • NAS 底层协议
  • NAS 全球主要厂商
  • 参考资料

 

NAS


NAS(Network Attached Storage,网络附属存储)一种特殊的数据存储服务器,包括一些必要的器件(如 RAID、CD/DVD 驱动器、磁带驱动器或可移动的存储介质)和内嵌的操作系统,将分布、独立的数据整合并集中管理,可跨平台进行文件共享。

按字面理解,NAS 就是一个“网络存储器”。以数据为中心,将存储设备与服务器彻底分离,从而释放带宽、提高性能、降低成本。其成本远远低于使用服务器存储,效率远高于后者。通常,在一个局域网中,NAS 有自己的IP地址,无需应用服务器的干预,允许用户在网络上存取数据,此时,NAS 集中管理所有数据,减轻应用或企业服务器的负载。

图 1 NAS 网络图标

NAS 支持多种协议(如NFS、CIFS、FTP、HTTP等),而且能够支持各种操作系统。通过任何一台工作站,采用浏览器就可以对 NAS 进行直观、方便的管理。

图 2 威联通(QNAP)TS-412升级版

这是京东的威联通 NAS 设备。左图是正面,右图是背面。从正面可以看到,它有四个硬盘位;从后面看,有 USB 接口和 RJ45 网口。你可以想象得到,你既可以连接到电脑,也可以让它加入网络,成为一个网络设备,从IE访问。

NAS 是功能单一的精简型电脑,因此在架构上不像个人电脑那么复杂,像键盘、鼠标、荧幕、音效卡、喇叭、扩充漕、各式连接口等都不需要;在外观上就像家电产品,只需电源与简单的控制钮。NAS 在架构上与个人电脑相似,但因功能单纯,可移除许多不必要的连接器、控制晶片、电子回路,如键盘、鼠标、USB、VGA 等。

 

NAS 功能


数据共享

图 3

数据备份/容灾

图 4

媒体服务

图 5

 

SAN 与 NAS 区别


  • SAN(存储区域网络,Storage Area Network)是一种在服务器和存储器之间用作I/O路径的专用网络,而 NAS 只是一个专有的文件服务器或是文件访问设备。NAS 是网络外挂式,而 SAN 是通道外挂式。NAS 可以通过 SAN 连接到存储设备。
  • NAS 是面向文件的,有文件操作和管理系统,而 SAN 却不是,它是面向数据块的。因为,
  • SAN 主要是高速信息存储,NAS偏重文件共享。SAN 与 NAS 相比,不具有资源共享的特征。
  • SAN 高效可扩展,NAS简单灵活。

这也是早先为什么淘宝说,NAS 的协议传输延迟很重要的原因。

 

NAS 底层协议


SAN(Storage Area Network,存储区域网络)是一种连接外接存储设备和服务器的架构。人们采用包括光纤通道(Fibre Channel,FC)技术、磁盘阵列、磁带柜、光盘柜(en)的各种技术进行实现。该架构的特点是,连接到服务器的存储设备,将被操作系统视为直接连接的存储设备。

与 SAN 相比较,NAS(Network Attached Storage,网络储存设备)使用的是基于文件的通信协议,例如NFS或SMB/CIFS通信协议就被明确的定义为远程存储设备,计算机请求访问的是抽象文件的一段内容,而非对磁盘进行的块设备操作。

光纤通道(Fibre Channel,FC)最初不是为硬盘设计开发的接口技术,而是网络,后随着存储系统对速度的需求,才逐渐应用到硬盘系统中。它跟SCSI、IDE有很大不同,但很像以太网的转换开头。FC提高了多硬盘存储系统的速度和灵活性,大大提高多硬盘系统的通信速度。FC通常用于连接一个SCSI RAID(或其它一些比较常用的RAID类型),以满足服务器对高数据传输率的要求。其主要特性:热插拔性、高速带宽、远程连接、连接设备数量大等。

iSCSI(Internet Small Computer System Interface,Internet 小型计算机系统接口)又称 IP-SAN,被看作影响 SAN 命运的一件大事。这些本质区别是从网络架构来说的,对于关注 NAS 与 SAN 性能的用户来说,两者的本质差别还存在于文件读写实现上。

iSCSI 可以在已有的交换和 IP 基础架构上运行,因此,iSCSI 常常被认为是 FC 的一个低成本替代方法,而光纤通道是需要专用的基础架构的。但是,基于以太网的光纤通道(FCoE)则不需要专用的基础架构。

本质上,iSCSI 让两个主机通过 IP 网络相互协商然后交换 SCSI 命令。这样一来,iSCSI 就是用广域网仿真了一个常用的高性能本地存储总线,从而创建了一个存储局域网(SAN)。

NAS 是基于操作系统的“文件级”读写操作,访问请求是根据“文件句柄+偏移量”得出。句柄是比进程还小的单元,通常用作进程之间通信、资源定位等。SAN 中计算机和存储间的接口是底层的块协议,它按照协议头的“块地址+偏移地址”来定位。从这点说,SAN 天生具有存储异构整合的存储虚拟化功能。

下面介绍一下 NAS 文件共享的灵魂——NFS 和 CIFS。

  • NFS(Network File System,网络文件系统)是一种 FreeBSD 支持的文件系统,是在文件系统之上的一个网络抽象,允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。

虽然 NFS 是在 Unix/Linux 系统中最流行的网络文件系统,但它不是唯一。Windows 系统中的Server Message Block(Server Message Block,SMB,服务器消息区块,也称为 CIFS)。如同 Linux 支持 SMB一样,Windows 也支持 NFS。

最新的分布式文件系统之一Ceph,Linux也支持。Ceph是为容错的分布式文件系统,它具有 UNIX兼容的 Portable Operating System Interface(POSⅨ)。其他例子包括 OpenAFS,是 Andrew 分布式文件系统的开源版(来自 Carnegie Mellon 和 IBM),GlusterFS,关注于可扩展存储的通用分布式文件系统,以及 Lustre,关注于集群计算的大规模并行分布式文件系统。所有都是用于分布式存储的开源软件解决方案。

  • CIFS(Common Internet File System,通用Internet文件系统)是由微软开发,一种应用层网络传输协议,由微软开发,主要用来使一个网络上的机器共享计算机文件、打印机、串行端口和通讯等资源。它也提供认证的进程间通信机能。经过Unix服务器厂商的重新开发后,它可以用于连接Windows客户机和Unix服务器,执行文件共享和打印等任务。

 

NAS 全球主要厂商


  • 群晖(Synology)
  • 威联通(QNAP)
  • 华云(Chinac)
  • 铁威马(TERRA MASTER)
  • 色卡司(Thecus)
  • 艾美加EMC2(iomega)

 

参考资料


NAS 网络附属存储的更多相关文章

  1. Linux挂载NAS 网络附属存储

    在工作中经常听到NAS,比如做数据交换,将数据从DB2数据库,导入到ORACLE数据库,采用BCP的方式,首先将DB2导出为文件,再从文件导入到ORACLE.那么中间需要一个很大的存储空间来保存从DB ...

  2. NAS(Network Attached Storage:网络附属存储)

    NAS(Network Attached Storage:网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为"网络存储器".它是一种专用数据存储服务器. ...

  3. 群晖NAS网络存储服务器防盗防小偷

    群晖NAS网络存储服务器防盗防小偷 根据群晖NAS的实际测量外形尺寸到淘宝网邮购金属  配电箱(弱电箱). 把配电箱(弱电箱)用粗螺丝固定到机柜或墙壁上. 把群晖NAS用密码纯铜挂锁锁在配电箱(弱电箱 ...

  4. 区域存储网络(SAN)与 网络直接存储(NAS)

    随着互联网及网络应用的飞速发展,数据信息存储系统所需处理的数据类型也呈爆炸性增长,这使数据信息存储系统面临前所未有的挑战.附加式网络存储装置(Network Attached Storage,缩写为N ...

  5. Android之网络数据存储

    一.网络保存数据介绍 可以使用网络来保存数据,在需要的时候从网络上获取数据,进而显示在App中. 用网络保存数据的方法有很多种,对于不同的网络数据采用不同的上传与获取方法. 本文利用LeanCloud ...

  6. 网络共享存储服务NFS

    网络共享存储服务NFS 作者:Eric 微信:loveoracle11g 环境准备 服务器系统 角色 IP RHEL 7.5 x86-64 NFS服务端 192.168.10.201 RHEL 7.5 ...

  7. Centos6.5搭建RHCS集群-实现GFS+iSCSI网络共享存储

    RHCS集群配置 需要用到的各组件功能:RHCS(Red Hat Cluster Suite):能够提供高可用性.高可靠性.负载均衡.存储共享且经济廉价的集群工具集合.LUCI:是一个基于web的集群 ...

  8. Docker网络与存储(三)

    Docker的网络和存储 1.1 Docker的4种网络模式 host模式,使用--net=host指定. container模式,使用--net=container:NAME_or_ID指定. no ...

  9. NAS网络存储

    NAS(Network Attached Storage)网络存储基于标准网络协议实现数据传输,为网络中的Windows / Linux / Mac OS 等各种不同操作系统的计算机提供文件共享和数据 ...

随机推荐

  1. PHP开启curl_init

    windows主机出现“Call to undefined function curl_init”错误提示,没有定义的函数,也就是php还没打开对curl_init函数的支持. 全文:http://j ...

  2. Snmp学习总结(三)——Win7安装和配置SNMP

    一.安装SNMP Win7操作系统默认情况下是不安装SNMP服务的,今天讲解一下在Win7操作系统下安装SNMP,具体安装步骤如下: WIN7操作系统下安装SNMP的步骤如下: 开始安装SNMP

  3. 在Visual Studio中使用层关系图描述系统架构、技术栈

    当需要描述项目的架构或技术栈的时候,可以考虑使用层关系图. 在解决方案下添加一个名称为"TailspinToys.DesignModel"的建模项目. 在新建的建模项目下添加一个名 ...

  4. C# TextWriter类

    来自:https://www.yiibai.com/csharp/c-sharp-textwriter.html C# TextWriter类是一个抽象类.它用于将文本或连续的字符串写入文件.它在Sy ...

  5. ASP.NET MVC:如何提供 Controller 继承体系使用的 ModelBinder?

    背景 Mvc 提供了一种可扩展的模型绑定机制,具体来说就是:将客户端传递的参数按照一定的策略绑定到 action 的参数上,这带来的直接好处就是让 action 的参数支持强类型.一般来说我们有如下方 ...

  6. Asp.Net MVC3.0项目部署到Win7 64过程总结

    前言 之前一直是通过Visual Studio直接F5来运行自己编写的项目或者小程序,很少通过部署发布到IIS上面,于是自己便在自己的笔记本上进行测试,结果还真是发现了不少问题,于是自己重新通过虚机程 ...

  7. mysql update select

    根据文件名 更新外键ID UPDATE tb_obj  INNER JOIN tb_img ON tb_img.filename=tb_obj.filename  SET tb_objinfo.img ...

  8. SVG 使用marker画箭头(一)

    一.使用Marker画箭头 1.定义一个箭头的marker引用 <defs> <marker id='markerArrow' markerWidth='13' markerHeig ...

  9. 5分钟了解Mockito

    一.什么是mock测试,什么是mock对象? 先来看看下面这个示例: 从上图可以看出如果我们要对A进行测试,那么就要先把整个依赖树构建出来,也就是BCDE的实例. 一种替代方案就是使用mocks 从图 ...

  10. js中__proto__和prototype constructor 的区别和关系

    https://www.zhihu.com/question/34183746 javaScript原型.原型链的定义? prototype:每个函数都有一个prototype(显式原型),这个属性是 ...