直接连接(DAS)存储、网络连接(NAS)存储和存储区域网络(SAN)

计算机访问磁盘存储有 3 种方式:
  1. 通过 I/O 端口(或直接连接存储(又称“直连式存储”DAS),小系统常采用这种方式;
  2. 通过分布式文件系统的远程主机,这称为网络连接存储(NAS)
  3. 存储区域网络(SAN)适用于大型客户机-服务器环境;

直接连接存储(DAS)

直接连接存储是通过本地 I/O 端口来访问的存储。这些端口使用多种技术。典型的台式 PC 采用 I/O 总线架构,如 IDE 或 ATA。这类架构允许每条 I/O 总线最多支持两个驱动器。SATA 为更新的、类似的、布线更加简化的一个协议。

高端工作站和服务器通常采用更复杂的 I/O 架构,例如光纤通道(FC)。FC 是一个高速的串行架构,运行在光纤或四芯铜线上。它有两个变体。一个是大的交换结构,具有 24 位地址空间。这个变体预计未来将占主导地位,是存储域网(SAN)的基础。

由于通信的较大地址空间和交换性质,多个主机和存储设备可以连到架构,使得 I/O 通信具有极大的灵活性。另一个 FC 变体是 FC 仲裁环路(FC-AL),可以寻址 126 个设备(驱动器和控制器)。

多种存储设备适合用作主机连接存储;包括硬盘驱动器、RAID 阵列、CD、DVD 和磁带驱动器。对主机连接存储设备进行数据传输的 I/O 命令是,针对特定存储单元(例如总线 ID 和目标逻辑单元)的逻辑数据块的读和写。

网络连接存储(NAS)

网络连接存储(NAS)设备是一种专用存储系统,可以通过数据网络来远程访问(图 1)。客户通过远程过程调用(RPC)访问网络连接存储,如 UNIX 系统的 NFS 或 Windows 机器的 CIFS。远程过程调用通过 IP 网络(通常为向客户传输数据的局域网 LAN)的 TCP 或 UDP 来进行。因此,将 NAS 作另一个存储访问协议可能是最简单的。网络连接存储单元通常采用 RPC 接口软件来实现。


图 1 网络连接存储

网络连接存储提供了一种方便方法,以便所有 LAN 上的计算机通过与本地主机连接存储一样方便的命名和访问,来共享存储池。然而,与主机本地的连接存储相比,这种方法似乎效率更低,并且性能更差。

Internet 小型计算机系统接口(Interface,iSCSI)是最新的网络连接存储协议。在本质上,它采用 IP 网络协议来执行 SCSI 协议。从而,主机与存储之间的互连可能是网络,而不是 SCSI 电缆。因此,主机可以将存储当作好似直接连接的,即使存储远离主机。

存储区域网络(SAN)

网络连接存储系统的缺点是存储 I/O 操作消耗数据网络的带宽,从而增加网络通信的延迟。这个问题对于大型客户机-服务器环境可能特别严重;服务器与客户机之间的通信和服务器与存储设备之间的通信,竞争通信带宽。


图 2 存储区域网络

存储区域网络(SAN)为专用网络,釆用存储协议而不是网络协议连接服务器和存储单元,如图 2 所示。SAN 的优势在于灵活性,多个主机和多个存储阵列可以连接到同一个 SAN 上,存储可以动态分配到主机。

SAN 交换机允许或禁止主机访问存储。例如,当主机的磁盘空间变低时,可以通过配置 SAN 来为主机提供更多存储。SAN 可以让服务器集群共享同样的存储,让存储阵列包括多个直接主机连接。与存储阵列相比,SAN 通常具有更多端口以及更多昂贵端口。

虽然 FC 是最常见的 SAN 互连,但是 iSCSI 使用正在增加。另一个 SAN 互连是 Infmi-Band,这种专用总线架构提供硬件和软件,以支持服务器和存储单元的髙速互连网络。

推荐文章
Struts2 <Bean>元素:定义及示例化Bean组件

在Struts2的核心架构中,引入了Spring的先进思想,通过IoC容器对JavaBean组件进行管理,而不是通过硬编码的方式来组织这些对象。 通过IoC容器来管理Struts2的核心组件,可以使

tbs是什么文件?

TBS(投标加密文件)tbs是上海清单投标的一种加密标书的格式,是用得力的“加密标书制作工具”制作而成。要制作成tbs加密标书文件,招标光盘上必须提供一个bin文件(密码文件),不加密的标书文件是bs

移动硬盘是什么?

移动硬盘,主要指采用USB或IEEE1394接口,可以随时插上或拔下,小巧而便于携带的硬盘存储器,可以较高的速度与系统进行数据传输。在USB1.1接口规范的产品上,在传输较大数据量时,将考验用户的耐心

使用OGNL访问对象方法和静态方法

除了在JSP页面中可以使用OGNL表达式以外,OGNL还支持在Java代码中访问对象方法和静态方法,接下来本节中将讲解OGNL是如何调用方法的。 1.OGNL访问对象方法 OGNL表达式通过“对象名

Linux pwd命令:显示当前路径

由于Linux文件系统中有许多目录,当用户执行一条Linux命令又没有指定该命令或参数所在的目录时,Linux系统就会首先在当前目录(目前的工作目录)搜寻这个命令或它的参数。因此,用户在执行命令之前,

gets和fgets函数及其区别,C语言gets和fgets函数详解

每当讨论gets函数时,大家不由自主地就会想起1988年的“互联网蠕虫”,它在UNIX操作系统的finger后台程序中使用一个gets调用作为它的攻击方式之一。很显然,对蠕虫病毒的实现来说,gets函

网站上线前跨浏览器测试清单

该网站在移动设备上一片混乱,所有的元素都离开了它们的位置,logo甚至不适合显示在屏幕上。那天给了他一个宝贵的教训,他把这个教训传给了我,“在上线之前,先检查一下跨浏览器测试的清单”。在这个数字世界中

LNMP安装php扩展模块(eAccelerator、xCache、memcached、imageMagick和ionCube)

我们已经知道LNMP一键安装包默认只安装了最基本的Nginx+MySQL+PHP环境,并没有安装扩展功能模块,如果需要安装扩展模块该怎么办? 不用担心,也有相应的安装脚本,我们一个一个来看。需要注意

Makefile伪目标

这一个章节我们主要讲的是Makefile中的伪目标。所谓的伪目标可以这样来理解,它并不会创建目标文件,只是想去执行这个目标下面的命令。伪目标的存在可以帮助我们找到命令并执行。 使用伪目标有两点原因:

jQuery append()和appendTo()方法

本节教程主要介绍append()方法和appendTo()方法向所选元素内部的“末尾处”插入节点 Pythonappend()方法 在jQuery中,我们可以使用append()方法向所选元素内部的

C语言求定积分

利用梯形法计算定积分 其中,f(x)=x3+3x2-x+2。 算法思想 根据定积分的定义分析可得:[x0,x1],[x1,x2],···,[xn-1,xn],将定积分的区间[a,b]分成n个子区

Mysql数据库优化的几种方式是什么?

MySQL数据库优化的八种方式1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我

bmp和jpg的区别是什么?

JPG:使用的一种失真压缩标准方法,24bit真彩色,不支持动画、不支持透明色。JPEG的压缩方式通常是破坏性资料压缩(lossycompression),即在压缩过程中图像的品质会遭受到可见的破坏。

Python Thread join()用法详解

前面章节中,我们讲解了如何通过Thread类创建并启动一个线程,当时给读者用如下的程序进行演示: importthreading #定义线程要调用的方法,*add可接收多个以非关键字方式传入的参

Shell(Bash)管道符用法详解

在Bash中,管道符使用"丨"代表。管道符也是用来连接多条命令的,如"命令1丨命令2"。不过和多命令顺序执行不同的是,用管道符连接的命令,命令1的正确输出作为命令2的操作对象。这里需要注意,命令1必须

addHeader(Stringname,Stringvalue) name:header的名称。 value:header的值。 示例

OBS是什么?

obs有多种意思,下面本篇文章给大家介绍一下。1、OBS(交换技术)OBS是一种交换技术。光网络中的交换技术主要有三种:光路交换OCS(OpticalCircuitSwitching),光分组交换OP

SELinux安全上下文的修改和设置(chcon和restorecon命令)

安全上下文的修改是我们必须掌握的,其实也并不难,主要是通过两个命令来实现的。 chcon命令格式如下: [root@localhost~]#chcon[选项]文件或目录 选项: -R:递归,当

netstat命令的作用是什么?

netstat命令的作用Netstat命令用于显示各种网络相关信息,如网络连接,路由表,接口状态(InterfaceStatistics),masquerade连接,多播成员(MulticastMem

PHP Session是什么

在PHP中,Session是一种服务器端的机制,服务器使用一种散列表的结构(类似于JSON)来保存信息。相比于保存在客户端的Cookie,Session将用户交互信息保存在了服务器端,使得同一个客户端