一. 硬盘接口类型
1、并行接口还是串行接口
(1) 并行接口
指的是并行传输的接口,比如有0~9十个数字,用10条传输线,那么每根线只需要传输一位数字,即可完成。
从理论上看,并行传输效率很高,但是由于线路上的物理原因,它的传输频率不能太高,所以实际的传输速度并不和并行度成正比,甚至可能更差。
(2) 串行接口
指的是串行传输的接口,同样是0~9十个数字,用1条传输线,那么需要传输10次,才可以完成。
从理论上看,串行传输效率不高,但是由于它的数据准确性,高频率的支持,使得传输速度可以很高。
(3) 并行连接线和串行连接线(IDE/SAT)
目前,计算机的外部接口大多被串行接口取代,比如:USB,1394,COM等等,都是串行接口。
而硬盘的外部接口也已经被串行接口(SATA/SAS)占领。
2. 硬盘接口类型
按硬盘接口协议/规范可以分为2类:ATA和SCSI。使用了某种接口的硬盘就称为XXX硬盘。
1)ATA接口协议
(1) IDE接口
IDE接口也称为PATA(Parallel ATA)接口,也就是并行ATA接口。以前的PC机大多用的这种接口的硬盘。
(2) SATA接口
SATA(Serial ATA)接口,串行ATA接口,这类硬盘,转速通常不太高,容量大,目前PC机或者IOPS要求不是太高的存储多使用这种接口的硬盘。
(3) IDE和SATA硬盘接口图示
2)SCSI接口协议
(1) SCSI接口
通常所说的SCSI,是一种并行接口,早期的计算机外设(打印机,扫描仪等等),也大多使用这种接口。现在使用这种接口的硬盘已经很少。
(2) SAS接口
SAS(Serial SCSI)接口,串行SCSI接口,这类硬盘,转速高,IOPS高,适用于OLTP系统的存储。
另外,SAS的接口技术已经可以兼容SATA,也就是说:如果主板上有个SAS接口,是可以接SATA硬盘的,但是反之不行。从图片上看,SAS和SATA接口有点相似。
、
二. 存储方案
所谓的存储方案,就是用单独的软硬件将磁盘/磁盘组管理起来,供主机使用。
存储分类(如下表一)根据服务器类型分为:封闭系统的存储和开放系统的存储,
封闭系统主要指大型机,AS400等服务器,
开放系统指基于包括Windows、UNIX、Linux等操作系统的服务器;
开放系统的存储分为:内置存储和外挂存储;
开放系统的外挂存储根据连接的方式分为:直连式存储(Direct-Attached Storage,简称DAS)和网络化存储(Fabric-Attached Storage,简称FAS);
开放系统的网络化存储根据传输协议又分为:网络接入存储(Network-Attached Storage,简称NAS)和存储区域网络(Storage Area Network,简称SAN)。
由于目前绝大部分用户采用的是开放系统,其外挂存储占有目前磁盘存储市场的70%以上,因此本文主要针对开放系统的外挂存储进行论述说明。
表一:
目前的外挂存储解决方案主要分为三种:
直连式存储 (DAS:Direct Attached Storage)
网络附加设备 (NAS:Network Attached Storage)
存储区域网络 (SAN:Storage Area Network)
存储方案内部使用的硬盘,多为SATA/SAS,追求高性能也用SSD,经过串联/RAID之后,对主机提供访问接口。
如下表二:
1. DAS
直接式存储 (DAS:Direct Attached Storage),是指将存储设备通过SCSI接口或FC接口直接连接到一台计算机上。DAS不算是网络存储,因为只有它所挂载的主机才可访问它。
也就是说,服务器发生故障时,连接在服务器上的DAS存储设备中的数据暂时不能被存取。
DAS设备示例:
DAS存储在中小企业应用中使用不少,因为廉价成本较低,存储系统被直连到应用的服务器中,在中小企业中,许多的数据应用是必须安装在直连的DAS存储器上。
DAS存储更多的依赖服务器主机操作系统进行数据的IO读写和存储维护管理,数据备份和恢复要求占用服务器主机资源(包括CPU、系统IO等),数据流需要回流主机再到服务器连接着的磁带机(库),数据备份通常占用服务器主机资源20-30%,因此许多企业用户的日常数据备份常常在深夜或业务系统不繁忙时进行,以免影响正常业务系统的运行。直连式存储的数据量越大,备份和恢复的时间就越长,对服务器硬件的依赖性和影响就越大。
直连式存储与服务器主机之间的连接通道通常采用SAS连接,随着服务器CPU的处理能力越来越强,存储硬盘空间越来越大,阵列的硬盘数量越来越多,SAS通道将会成为IO瓶颈;服务器主机SAS ID资源有限,能够建立的SAS通道连接有限。
无论直连式存储还是服务器主机的扩展,从一台服务器扩展为多台服务器组成的群集(Cluster),或存储阵列容量的扩展,都会造成业务系统的停机,从而给企业带来经济损失,对于银行、电信、传媒等行业7×24小时服务的关键业务系统,这是不可接受的。并且直连式存储或服务器主机的升级扩展,只能由原设备厂商提供,往往受原设备厂商限制。
2. SAN
存储区域网络(SAN:Storage Area Network),
目前的SAN存储有2种:
一是基于光纤通道的FC SAN;
二是基于以太网的IP SCAN(也就常说的iSCSI)。
FC SAN通过光纤交换机连接到主机(HBA卡),也就是说可以连接到光纤交换机的主机都可以访问这个存储;
iSCSI作为共享于以太网络上的存储则更类似于NAS。
存储区域网络,从名字上我们也可以看出,这个是通过光纤通道交换机连接存储阵列和服务器主机,最后成为一个专用的存储网络。SAN经过十多年历史的发展,已经相当成熟,成为业界的事实标准(但各个厂商的光纤交换技术不完全相同,其服务器和SAN存储有兼容性的要求)。
SAN提供了一种与现有LAN连接的简易方法,并且通过同一物理通道支持广泛使用的SCSI和IP协议。 SAN不受现今主流的、基于SCSI存储结构的布局限制。特别重要的是,随着存储容量的爆炸性增长,SAN允许企业独立地增加它们的存储容量。SAN的结构允许任何服务器连接到任何存储阵列,这样不管数据置放在那里,服务器都可直接存取所需的数据。因为采用了光纤接口,SAN还具有更高的带宽。
因为SAN解决方案是从基本功能剥离出存储功能,所以运行备份操作就无需考虑它们对网络总体性能的影响。SAN方案也使得管理及集中控制实现简化,特别是对于全部存储设备都集群在一起的时候。最后一点,光纤接口提供了10公里的连接长度,这使得实现物理上分离的、不在机房的存储变得非常容易。SAN是目前业界中高端存储的主流标准。
FC SAN设备示例:
IP SAN 设备示例:
3. NAS
网络接入存储 (NAS:Network Attached Storage),是指将存储设备通过标准的网络拓扑结构(例如以太网),连接到一群计算机上。NAS有文件系统和IP地址,可以类似的理解为网上邻居的共享磁盘。
NAS是文件级的存储方法,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。如今用户采用NAS较多的功能是用来文档共享、图片共享、电影共享等等,而且随着云计算的发展,一些NAS厂商也推出了云存储功能,大大方便了企业和个人用户的使用。
NAS产品是真正即插即用的产品。NAS设备一般支持多计算机平台,用户通过网络支持协议可进入相同的文档,因而NAS设备无需改造即可用于混合Unix/Windows局域网内,同时NAS的应用非常灵活。
但NAS有一个关键性问题,即备份过程中的带宽消耗。与将备份数据流从LAN中转移出去的存储区域网(SAN)不同,NAS仍使用网络进行备份和恢复。NAS 的一个缺点是它将存储事务由并行SCSI连接转移到了网络上。这就是说LAN除了必须处理正常的最终用户传输流外,还必须处理包括备份操作的存储磁盘请求。NAS性能比SAN要差很多,但相对成本也低很多。
NAS设备示例:
三、 在数据库存储上的应用
三种存储方案的比较,如图:
1. DAS
可作为本机的外挂硬盘,不过现在单块磁盘的空间已经很大,如果几个T的空间,直接在主机里插硬盘就可以实现了,不需要外挂。
2. NAS
由于它的文件系统特性,加上以太网网线传输,更像是我的电脑-网上邻居-共享磁盘,访问方式也是类似:\\NAS01\BACKUP\database_name.bak。更多的是作为文件共享、备份、归档所用,比如数据库的历史备份/异地备份文件。
3. SAN
FC SAN使用光纤传输,是一个高速的共享存储,数据库的任何东西都可以放在上面,还有就是在做集群时(failover clustering) 作为仲裁盘;
iSCSI的传输速率要低于FC SAN,目前在我们的环境中还没有直接使用iSCSI做数据库存储,通常是用在类似NAS的地方。
总结:
DAS存储一般应用在中小企业,与计算机采用直连方式,性能与成本最低;NAS存储则通过IP以太网添加到计算机上,性能与成本中等;SAN存储则使用FC光纤接口,性能与成本较高。
四、存储分类
初学存储技术的人可能会被SAN、NAS、DAS、FC、ISCSI、FC-SAN、IPSAN等这些大量的术语和英文缩略语搞得晕头转向,技术资料的确看了很多,但仍然无法清楚地知道这些概念之间根本的区别。因为常见的资料中一般都不会对SAN、ISCSI、FC-SAN、IPSAN都多个概念进行分类,经常只是简单地放在一起来进行论述,论述的内容的大多集中优缺点对比方面,但结果却是相反的,经常是越比较越糊涂。
很多初学者经常会问出这样的问题:SAN和 NAS、ISCSI存储有什么区别?SAN和NAS设备哪个更好?“如何为一个应用系统选择存储设备?
实际上SAN、NAS、DAS、FC、ISCSI、FC-SAN、IP-SAN等并不是同一类别的概念。SCSI、FC、NAS、iSCSI等概念指的是存储设备类型,DAS、NAS、SAN等指的是存储系统的网络结构。
1、按存储设备类型分
存储设备类型是指通过采用SCSI、FC、TCP/IP,ISCSI等接口类型、数据传输协议、以及不同数据存储介质的存储设备。常见的存储设备类型可为SCSI存储、NAS存储、FC存储、iSCSI存储和磁带存储。
存储设备类型这个概念的核心是设备,指的是由存储介质、驱动器、控制器、供电系统、冷却系统等组成的一个整体。它独立与网络层设备和主机层设备,因此当提到存储设备类型的时候,不要涉及与存储设备连接的网络设备和主机。
区分一个存储设备的类型主要依靠存储设备对外提供的接口类型、数据传输协议、和存储介质。
a. SCSI存储
存储设备的对外提供的接口是SCSI,按照SCSI协议传输数据的存储设备就是SCSI存储。如果再区分存储介质,那么存储介质为SCSI磁盘的存储被称为SCSI-SCSI存储,存储介质为SATA磁盘的存储被称为SCSI-SATA存储。存储名称分为两个部分,前面表示存储设备接口类型及接口部分的数据传输协议,后部分表示存储介质。
b. FC存储
存储设备的对外提供的接口是FC光纤通道,按照FC光纤通道协议传输数据的存储设备就是FC存储。存储介质为FC磁盘的存储被称为FC-FC存储。存储介质为SATA磁盘的存储被称为FC-SATA存储。
c. ISCSI存储
采用ISCSI输出协议、对外提供ISCSI接口的存储设备自然应该成为ISCSI存储,只不过ISCSI一般都采用SATA磁盘作为存储介质,所以ISCSI存储在名称上不会再细分,都通称为ISCSI。
d. NAS存储
NAS 是一种特殊的存储设备类型,虽然NAS对外提供IP接口,按照IP协议进行数据传输,但NAS最终提供给主机的是一个文件系统,SCSI存储、FC存储和 ISCSI等提供给主机的是一个裸的、没有文件系统的逻辑卷,且NAS本身是一个服务器+存储的结构,因此严格上讲,NAS应该能算是一种存储系统结构,而不是一个存储类型。不过很多时候我们都把NAS的服务器+存储结构看成一个整体,这个整体又通过标准的IP传输协议来进行访问和数据传输。因此NAS一般都被认为是一个存储设备类型。NAS既是一个存储设备类型,又是一个存储系统网络结构
2、按存储系统的网络结构分
存储系统网络结构是指存储设备与服务器、工作站等需要进行数据读写操作的主机之间的连接方式,网络拓扑结构、数据读写方式、存储共享方式和数据共享方式。存储系统网络结构不同,存储设备的工作方式、流程和性能就会不同。
大家常提到的、主流的存储系统网络架构有DAS、NAS、SAN三种网络架构。
五、Raid
RAID(Redundant Array of Inexpensive Disks)称为廉价磁盘冗余阵列。RAID的基本原理是把多个便宜的小磁盘组合到一起,成为一个磁盘组,使性能达到或超过一个容量巨大、价格昂贵的磁盘。 目前 RAID技术大致分为两种:基于硬件的RAID技术和基于软件的RAID技术。其中在Linux下通过自带的软件就能实现RAID功能,这样便可省去购买昂贵的硬件 RAID 控制器和附件就能极大地增强磁盘的 IO 性能和可靠性。由于是用软件去实现的RAID功能,所以它配置灵活、管理方便。同时使用软件RAID,还可以实现将几个物理磁盘合并成一个更大的虚拟设备,从而达到性能改进和数据冗余的目的。当然基于硬件的RAID解决方案比基于软件RAID技术在使用性能和服务性能上稍胜一筹,具体表现在检测和修复多位错误的能力、错误磁盘自动检测和阵列重建等方面。
RAID级别介绍:
特点 | 硬盘及容量 | 性能及安全 | 典型应用 | |
raid 0 | 用于平行存储,即条带。其原理是把连续的数据分成几份,然后分散存储到阵列中的各个硬盘上。任何一个磁盘故障,都将导致数据丢失。 | 硬盘数:一个或更多 容量:总的磁盘容量 |
性能:读写性能高,随机写性能高 安全:无冗余,无热备盘,无容错性,安全性低 |
无故障的迅速读写,要求安全性不高,如图形工作站等。 |
raid 1 | 镜像存储。其原理是把相同的数据分别写入阵列中的每一块磁盘中,最大限度的保证用户数据的可用性和可修复性。缺点是存储成本高。 | 硬盘数:两个或2*N个 容量:总磁盘容量的50% |
性能:读写性能低,随机写性能低 安全:利用复制进行冗余,有热备盘,可容错,安全性高 |
随机数据写入,要求安全性高,如服务器、数据库存储领域。 |
raid 5 | 分布奇偶位条带。是一种存储性能、数据安全和存储成本兼顾的存储方案,也可理解为是RAID 0和RAID 1的折衷方案。其原理是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。相对于RAID 0,只是多了一个奇偶校验信息。多个数据可对应一个奇偶校验信息。 | 硬盘数:三个或更多 容量:(n-1)/n的总磁盘容量(n为磁盘数) |
性能:随机和连续写性能低,读性能高 安全:利用奇偶校验进行冗余,可容错,安全性高 |
随机数据传输要求安全性高,如金融、数据库、存储等。 |
raid 10 | 镜像阵列条带。兼顾存储性能和数据安全,提供了与RAID 1一样的数据安全保障,同时具备与RAID 0近似的存储性能。缺点是存储成本高。 | 硬盘数:四个或4*N个 容量:总磁盘容量的50% |
性能:读写性能适中 安全:利用复制进行冗余,可容错,安全高 |
适于于要求存取数据量大,安全性高,如银行、金融等领域。 |
RAID 10 和 RAID 01 的区别: RAID 10 和 RAID 01 是两种逻辑方式不同的组合。 RAID 10 是先镜像后条带,即先将硬盘纵向做镜像,然后再横向做条带。在这种情况下,只要不是同一个镜像组中的几块硬盘同时坏掉,RAID组都不会崩溃。即同一个镜像组的硬盘不能同时坏掉。 RAID 01 是先条带后镜像,即先将硬盘横向做条带,然后再纵向做镜像。 在这种情况下,只要不是两个条带上同时有硬盘坏掉,则整个RAID组都不会崩溃。不管发生介质损坏的两块硬盘是否是镜像 盘。即不同条带组的硬盘不能同时坏掉。 RAID 10 和 RAID 01 在性能上基本相同,但RAID 01 发生故障的概率要大于RAID 10 。所以一般情况下都选择RAID 10。 |
JBOD:
JBOD的含意是控制器将机器上每颗硬盘都当作单独的硬盘处理,因此每颗硬盘都被当作单颗独立的逻辑碟使用。此外,JBOD并不提供资料冗余的功能。
JBOD(just a bunch of disks,简单磁盘捆绑,或有时称简单驱动捆绑)是一个不太正规的术语,官方术语称作“Spanning”,它用来指还没有根据RAID(独立磁盘冗余阵列)系统配置以增加容错率和改进数据访问性能的电脑硬盘。
JBOD不是标准的RAID级别,它只是在近几年才被一些厂家提出,并被广泛采用。
JBOD是在一个底板上安装的带有多个磁盘驱动器的存储设备。和RAID阵列不同,JBOD没有前端逻辑来管理磁盘上的数据分布,相反,每个磁盘进行单独寻址,作为分开的存储资源,或者基于主机软件的一部分,或者是RAID组的一个适配器卡。
RAID系统在多个磁盘上冗余地存储了同样的数据,而这多个磁盘在操作系统看来就像一个磁盘。虽然JBOD也让多个磁盘看来似乎只有一个,但它是通过把多个驱动器合并成一个大的逻辑磁盘来做到这一点的。JBOD使用独立的磁盘并没有带来任何好处,也不能提供任何RAID所能带来的容错或是更好的性能等好处.
Span是在逻辑上把几个物理磁盘一个接一个串联到一起,从而提供一个大的逻辑磁盘。Span上的数据简单地从第一个磁盘开始存储,当第一个磁盘的存储空间用完后,再依次从后面的磁盘开始存储数据。Span存取性能完全等同于对单一磁盘的存取操作。Span也不提供数据安全保障。它只是简单地提供一种利用磁盘空间的方法,Span的存储容量等于组成Span的所有磁盘的容量的总和。