存储与磁盘阵列技术

前言

磁盘阵列是一种企业级存储系统,可以提供更高的可靠性和性能。磁盘阵列是由一组设备构成的存储系统,主要包括两种类型的设备, 分别是控制器和扩展框,其中控制器(多控架构)、扩展框均可以按需扩展。 在控制器后面连接着大量的硬盘,这些硬盘以扩展柜为单位进行管理。控制器和扩展柜之间通过SAS线缆进行连接。

选择适合自己需求的RAID级别和磁盘阵列可以提高数据的可靠性和性能。在选择磁盘阵列时,需要考虑容量、性能、可靠性和可扩展性等因素,并进行定制化的配置以达到最佳性价比。

DAS存储

DAS(Direct Attached Storage,直接连接存储),被定义为直接连接在各种服务器或客户端扩展接口下的数据存储设备,是指将存储设备通过SCSI接口或光纤通道直接连接到服务器上的方式。

DAS存储完全以服务器为中心,寄生在相应服务器或客户端上,其本身是硬件的堆叠,不带有任何存储操作系统。其特征为存储设备为通用服务器的一部分,该服务器同时提供应用程序的运行,即数据访问与操作系统、文件系统和服务程序紧密相关。

DAS存储没有网络结构,存在许多缺点:一方面该技术不具备共享性,每种客户机类型都需要一个服务器,从而增加了存储管理和维护的难度:另一方面,当存储容量增加时,扩容变得十分困难。而且当服务器发生故障时,数据也难以获取。

NAS存储

NAS(Network Attached Storage,网络连接存储),将存储设备通过标准的网络拓扑结构(例如以太网),连接到一群计算机上,提供数据和文件服务。

NAS是一种专业的网络文件存储及文件备份设备,或称为网络直连存储设备、网络磁盘阵列。一个NAS里面包括核心处理器文件服务管理工具、一个或者多个硬盘驱动器用于数据的存储。

NAS可以应用在任何的网络环境当中。主服务器和客户端可以非常方便地在NAS上存取任意格式的文件,包括SMB格式(Windows)、NFS格式(Unix、Linux)和CIFS格式等等。NAS系统可以根据服务器或者客户端计算机发出的指令完成对内在文件的管理。

存储数据通过网络传输,因此容易产生数据泄漏等安全问题。存储数据通过网络传输,因此易受网络上其它流量的影响,当网络上有其它大数据流量时会严重影响系统性能。存储只能以文件方式访问,而不能像普通文件系统一样直接访问物理数据块,因此会在某些情况下严重影响系统效率,比如大型数据库就不能使用NAS这种存储方案。

FC-SAN存储

FC-SAN(Fiber Channel Storage Area Network),通常SAN由磁盘阵列(RAID)连接光纤通道(Fibre Channel)组成。

IP-SAN存储

IP-SAN(IP Storage Area Network)是采用iSCSI(Internet Small ComputerSystems Interface)协议构架在IP网络上的SAN。iSCSI协议通过IP协议来封装SCSI命令,并在网络上传输SCSI命令和数据。

RAID(独立冗余磁盘阵列)

RAID(Redundant Array of Independent Disks)即独立磁盘冗余阵列,通常简称为磁盘阵列。 将多个独立的硬盘进行组合,并将其容量叠加在一起,再利用个别硬盘提供数据所产生的加成效果,提升整个硬盘系统性能。同时,还可以通过存储冗余数据来增加容错能力,以获得更加安全的数据存储环境。

SNIA、Berkeley等组织机构把 RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6七个等级定为标准的RAID等级, 这也被业界和学术界所公认。标准等级是最基本的RAID配置集合,单独或综合利用 数据条带、镜像和数据校验技术

数据组织形式

分块: 将一个分区分成多个大小相等的、地址相邻的块,这些块称为分块。它是组成条带的元素。

条带: 同一磁盘阵列中的多个磁盘驱动器上的相同“位置”(或者说是相同编号)的分块。

热备、重构

热备(HotSpare)的定义:

当冗余的RAID组中某个硬盘失效时,在不干扰当前RAID系统的正常使用的情况下,用RAID系统中另外一个正常的备用硬盘自动顶替失效硬盘,及时保证RAID系统的冗余性。

热备一般分为两种:

全局式: 备用硬盘为系统中所有的冗余RAID组共享

专用式: 备用硬盘为系统中某一组冗余RAID组专用

逻辑卷

在RAID的基础上可以按照指定容量创建一个或多个逻辑卷,通过LUN(Logic Unit Number)来标识。

RAID0:无冗错的数据条带

把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据依次写入各个物理硬盘中。有低成本、高读写性能、100%的高存储空间利用率等优点,但是它不提供数据冗余保护,一旦数据损坏,将无法恢复。

RAID1:称为镜像

它将数据完全一致地分别写到工作磁盘和镜像磁盘,提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。它的磁盘空间利用率为50%。如果生产环境对硬盘设备的读写速度没有要求,而是希望增加数据的安全性时,可以选择RAID1技术。

RAID2:称为纠错海明码磁盘阵列

其设计思想是利用海明码实现数据校验冗余。它需要4块数据磁盘和3块校验磁盘。在RAID2中,数据按位存储,每块磁盘存储一位数据编码,磁盘数量取决于所设定的数据存储宽度,可由用户设定。海明码的数据冗余开销太大,而且RAID2的数据输出性能受阵列中最慢磁盘驱动器的限制。再者,海明码是按位运算,RAID2数据重建非常耗时。

RAID3:带有专用位校验的数据条带

使用专用校验盘的并行访问阵列,它采用一个专用的磁盘作为校验盘,其余磁盘作为数据盘,数据按位可字节的方式交叉存储到各个数据盘中。RAID3至少需要三块磁盘,不同磁盘上同一带区的数据作 XOR校验,校验值写入校验盘中。RAID3完好时读性能与RAID0完全一致,并行从多个磁盘条带读取数据,性能非常高,同时还提供了数据容错能力。

如果RAID3中某一磁盘出现故障,不会影响数据读取,可以借助校验数据和其他完好数据来重建数据。假如所要读取的数据块正好位于失效磁盘,则系统需要读取所有同一条带的数据块,并根据校验值重建丢失的数据,系统性能将受到影响。

RAID4:带奇偶校验码的独立磁盘结构

RAID4和RAID3很像,不同的是,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。在图上可以这么看,RAID3是一次一横条,而RAID4一次一竖条。它的特点的RAID3也挺象,不过在失败恢复时,它的难度可要比RAID3大得多了,控制器的设计难度也要大许多,而且访问数据的效率不怎么好。

RAID5:分布式奇偶校验的独立磁盘结构

RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性,允许单个磁盘出错。RAID5也是以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。硬盘的利用率为n-1。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。

RAID6:带有两种分布存储的奇偶校验码的独立磁盘结构

它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合。如果两个磁盘同时发生故障,数据将无法恢复。RAID6引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。RAID6等级是在RAID5的基础上为了进一步增强数据保护而设计的一种RAID方式,可以看作是一种扩展的RAID5等级。

RAID01和RAID10

一些文献把这两种RAID等级看作是等同的,但这里认为是不同的。RAID01是先做条带化再作镜像,本质是对物理磁盘实现镜像;而RAID10是先做镜像再作条带化,是对虚拟磁盘实现镜像。相同的配置下,通常RAID01比RAID10具有更好的容错能力。

RAID01兼备了RAID0和RAID1的优点,它先用两块磁盘建立镜像,然后再在镜像内部做条带化。RAID01的数据将同时写入到两个磁盘阵列中,如果其中一个阵列损坏,仍可继续工作,保证数据安全性的同时又提高了性能。RAID01和RAID10内部都含有RAID1模式,因此整体磁盘利用率均仅为50%。

RAID使用选择

标签: 存储, 磁盘阵列

文章作者: XiaoAnBlog
文章链接: http://ds.bhswl.cn/index.php/archives/33/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XiaoAn Blog

仅有一条评论

  1. 不错不错,我喜欢看

添加新评论