存储基础知识

1.1 几种常见存储设备的接口

1.IDE接口web

IDE的英文全称为"Integrated Drive Electronics",即"电子集成驱动器",是曾经主流的硬盘接口。IDE接口也称之为ATA接口。ATA的英文拼写为"Advanced Technology Attachment"。2003年推出SATA(Serial ATA)后,原有的ATA更名为PATA(并行高技术配置,Parallel ATA)。后端

IDE是曾经广泛使用的外部接口,主要接硬盘和光驱。采用数据并行传送方式,一个IDE接口只能接两个外部设备。服务器

IDE的工做方式须要CPU的全程参与,消耗的这部分资源会在必定程度上下降操做系统性能。网络

2.SATA接口ssh

SATA(Serial ATA)是目前我的电脑上采用最多的接口。它采用串行链接方式。如今的SATAⅢ能达到的理论传输速度是6Gbps即750MB/s的速度。性能

3.SCSI接口操作系统

SCSI(Small Computer System Interface)小型计算机系统接口。它是各类计算机与外部设备之间的接口标准。设计

SCSI其内有控制芯片,能够代替cpu完成90%多的IO工做(如计算、控制、转换等),CPU没必要浪费时间进行等待,可提升总体性能。3d

SCSI采用链式链接,SCSI总线是SCSI设备之间传输数据的通路,又被称做SCSI通道。它经过SCSI控制器来和硬盘之类的SCSI设备进行通讯。code

SCSI能够链接7—15个设备,由SCSI总线是宽总线(支持16个设备)仍是窄总线(支持8个设备)决定。这些设备在SCSI体系结构中称为target,多是一块硬盘、一个RAID阵列、一个cdrom等可能的设备。

每一个target都必须有本身惟一的ID,在8-bit总线上,这个号码是0~7,在16-bit总线上,这个号码是0~15。

ID实际上就是这些设备地址。ID优先权由高到低的顺序为7-6-5-4-3-2-1-0-15-14-13-12-11-10-9-8

SCSI链的最后一个SCSI设备要用做终结器(terminator),终结器是由电阻组成的,位于SCSI总线的末端,用来减少相互影响的信号,维持SCSI链上的电压恒定。中间设备不须要终结器。一旦中间设备使用了终结器,那么就没法找到终结器后的SCSI设备了。而若是最后一个设备没用终结器,SCSI也会没法正常工做。

在每一个target上还能够继续进行扩展(注意每一个target对应一个ID),每一个ID能够继续向下扩展最多32个逻辑设备,也称为逻辑单元(LU,logical unit)。每一个逻辑单元对应一个设备,使用逻辑单元号LUN(Logical Unit Numbers)标识,LUN的范围是0-31。也就是说,SCSI能够扩展出不少不少存储设备。

SCSI的数据传输是以块的方式进行的。

在SCSI体系结构中,首先由initiator向target发起会话,此会话不像web服务那样休闲时就断开,而是像ssh服务那样,保持长久链接。在此会话中,initiator会发出scsi命令进行读写数据。

能够将initiator认为是scsi的客户端,它是数据操做的需求方,target是scsi的服务端,它是数据的来源,也就是一堆堆的存储设备。当initiator与target关联后,target上的每个lu在initiator上会单独显示为一块硬盘格式,即/dev/sd{b,c,d,e...},显示的前后顺序根据lun号码来决定。

4.SAS接口

SAS是Serial Attached SCSI的缩写,即串行链接SCSI。也就是说SAS是新一代的SCSI技术,它和SATA同样都采用串行技术。

SAS技术引入SAS扩展器,使SAS系统能够链接更多的设备,其中每一个扩展器容许链接多个端口,每一个端口能够链接SAS设备、主机或其余SAS扩展器。

1.2 存储方案(存储技术)

所谓的存储方案,就是用单独的软硬件将磁盘或磁盘组管理起来供主机使用。也就是说,存储方案和存储设备是在不一样层面的,存储方案是设计如何组织和利用存储设备的。

根据服务器类型分为封闭系统的存储和开放系统的存储

  1. 封闭系统主要指大型机,AS400等服务器。
  2. 开放系统指基于包括Windows、UNIX、Linux等操做系统的服务器。而开放系统的存储又分为内置存储和外挂存储:
    • 开放系统的外挂存储根据链接的方式又分为:直连式附加存储DAS(Direct Attached Storage)和网络化存储FAS(Fabric-Attached Storage);
    • 开放系统的网络化存储根据传输协议又分为:网络附加存储NAS(Network Attached Storage)和存储区域网络SAN(Storage Area Network)。

目前绝大部分用户采用的是开放系统,其中外挂存储占有目前磁盘存储市场的70%以上。

目前的外挂存储解决方案主要分为三种:DAS、NAS和SAN。下图虽简单,却描述了这直连式存储和网络存储的区别。

存储方案内部使用的硬盘多为SATA/SAS,追求高性能也用SSD,通过串联或者RAID以后,对主机提供访问接口。

1.2.1 DAS存储

直接式存储(DAS:Direct Attached Storage),是指将存储设备经过SCSI接口或FC接口直接链接到一台计算机上。DAS不算是网络存储,在存储设备和主机之间没有任何网络设备的参与,只有挂载它的主机才可访问它。

最典型的DAS存储类型就是我的电脑中的硬盘,它和电脑直连,没有通过任何网络设备,也只有这台电脑能够访问它上面的数据。

也就是说,服务器发生故障时,链接在服务器上的DAS存储设备中的数据暂时不能被存取。

DAS是最原始最基本的存储方式,缺点在于容量有限、难于共享,从而形成信息孤岛。

DAS缺陷有二:

  • (1).DAS存储只能经过与之相连的主机进行访问,不能实现数据与其余主机的共享。
  • (2).直连式存储与服务器主机之间的链接通道一般采用SCSI或者SAS链接,随着服务器CPU的处理能力愈来愈强,存储硬盘空间愈来愈大,阵列的硬盘数量愈来愈多,SCSI或SAS通道将会成为IO瓶颈;且SCSI ID或SAS ID资源有限,可以创建的SCSI或SAS通道链接有限。也就是容量有限。

1.2.2 NAS存储

是指将存储设备经过标准的网络链接到一台或一群计算机上。

NAS有文件系统和IP地址,能够相似的理解为网上邻居的共享磁盘,或者NFS的服务端,即导出目录的一端。NAS是文件级的存储方法,它有本身的文件系统,如NFS,SMB的CIFS。因此它是真正即插即用的产品。

NAS和SAN本质上的不一样点在于NAS有本身的文件系统,而SAN的文件系统在应用程序服务器上而非存储服务器上。这样的不一样点致使NAS是文件级别的数据传输,而SAN是基于块级别的传输。

对于大量小文件来讲,因为每一个文件都要查找文件索引号,所在块号等等,这些都会消耗资源和时间,因此致使文件级别的传输要慢的多得多,而块级别的传输则无论某个块属于哪一个文件,只要须要就会把块传输出去。

NAS性能比SAN要差不少,但相对成本也低不少。

1.2.3 SAN存储

SAN即存储区域网络(Storage Area Network,SAN)。目前有两种类型的SAN,一种是FC SAN(光纤通道的SAN),一种是IP SAN(以太网的SAN,即如今的iSCSI)。

通常都采用光纤通道(Fibre Channel)技术,经过光纤通道交换机链接存储阵列和服务器主机,创建专用于数据存储的区域网络。FC SAN已经至关成熟,成为业界的实施标准。若是是IP SAN,则下图中的FC部分换为以太网,对交换机而言也没有光纤交换机那么严格的要求。

SAN是基于块级别的数据传输。在应用程序服务器本地有本地文件系统,这是和NAS根本上的区别。

SAN解决方案从基本功能剥离出存储这部分功能,在理论上比其余存储方案要先进一些。

相比于FC SAN,IP SAN的弱点除了在硬件设备上,还在于它要对数据进行TCP/IP的封装,这须要消耗资源(硬件iSCSI使用HBA卡控制芯片来封装不会消耗操做系统资源,但挺贵的)。同时它还要使用以太网,因此网络的状况对其也有很大影响。

SAN是目前业界中高端存储的主流标准。

1.2.4 SAN和NAS的区别

为何提到NAS就不得不提到SAN呢?缘由之一是它们的名称有69关系,容易混淆;之二是NAS和SAN既竞争又合做,不少高端NAS的后端存储就是SAN。NAS和SAN的整合也是存储设备的发展趋势。

从上面的构中能够看到,SAN文件系统分别在每个应用服务器上;而NAS则是每一个应用服务器经过网络共享协议(如:NFS、CIFS)使用同一个文件系统。换句话说,NAS和SAN存储系统的区别是NAS本身管理本身的文件系统。

如今高端存储已经不少都使用SAN+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。

相关文章
相关标签/搜索