-- 作者:tplayer
-- 发布时间:2014-10-20 12:01:23
-- 磁盘阵列柜(存储柜)系统简单说明
存储系统是整个IT系统的基石,是IT技术赖以存在和发挥效能的基础平台。 早先的存储形式是存储设备(通常是磁盘)与应用服务器其他硬件直接安装于同一个机箱之内,并且该存储设备是给本台应用服务器独占使用的。 随着服务器数量的增多,磁盘数量也在增加,且分散在不同的服务器上,查看每一个磁盘的运行状况都需要到不同的应用服务器上去查看。更换磁盘也需要拆开服务器,中断应用。于是,一种希望将磁盘从服务器中脱离出来,集中到一起管理的需求出现了。不过,一个问题:如何将服务器和盘阵连接起来? 面临这样的问题,有厂商提出了SCSI协议,通过专用的线缆将服务器的总线和存储设备连接起来,通过专门的SCSI指令来实现数据的存储。后来发展到FC协议。这样,多个服务器可以通过SAS线缆或光纤建立与存储系统的连接。这样的方式,我们称之为直接附加存储(DAS)。 DAS:直接附加存储:Direct Attached Storage,顾名思义及直接连接的存储。服务器与存储之间不经过任何交换机的即DAS,本地磁盘、通过HBA(Host Bus Adapter)直接连接的存储均为DA,现在主流的是服务器通过SAS线直连存储,还有一种是服务器通过光纤线(FC)直连存储,中间都没有经过任何交换机设备。 SAN:存储区域网络: Storage Area Network ,存储区域网络。 SAN不是一种存储,而是一种网络,好比以太网络一样。 SAN中必定有交换机,如 FC交换机(用于 Fibre Channel协议)、以太网交换机(用于 ISCSI协议)及 FCoE交换机(用于 FCoE协议)。存储上划分存储 LUN(Logic Unit Number)给服务器,服务器将 LUN作为本地裸磁盘来使用,格式化成操作系统能识别的文件系统,如 NTFS、 ext3和 ZFS等。与 DAS的区别就是多了个交换机,并且服务器可以通过一块 HBA连接多个存储。 NAS:网络附加存储 Network Attached Storage ,网络附加存储。 NAS的主要协议有 CIFS和 NFS,服务器通过存储操作系统共享出一个网络共享用来作为附加存储,服务器端无需关心存储上底层的文件系统是什么,只需使用相应的协议去连接即可。 SAN和NAS SAN和NAS经常被视为两种竞争技术,实际上,二者能够很好地相互补充,以提供对不同类型数据的访问。SAN针对海量、面向数据块的数据传输,而NAS则提供文件级的数据访问和共享服务。 尽管这两种技术类似,但严格意义上讲NAS其实只是一种文件服务。 NAS和SAN不仅各有应用场合,也相互结合,许多SAN部署于NAS后台,为NAS设备提供高性能海量存储空间。
存储控制器 磁盘阵列上有一个主要的部件叫控制器,也是它最贵的部件。单控指有一个控制器。双控指有两个控制器(当然价格贵,多一个麻,呵呵)。 双控制器存在的意义:如果磁盘阵列上的数据非常重要,一秒都不能停止,例如金融业,医疗业等。双控就是一个双保险,正常工作中只有一个是工作的,一个是带电待机的,双控就是控制器的冗余,包括对LUN管理的路径冗余,前端主机访问路径的冗余,也就是HA的功能,这个是为了保障从险端到后端的任意路径出现故障时能及时切换访问路径,避免数据链路中断;另外,HA功能里,两个控制器互为Active-Standby/Standby-Active的状态去管理后端磁盘,等于将后端磁盘分成两组,变相提高存储对外的性能输出; 另外,某些高端的存储,可以提供控制器的负载均衡,即从主机到后端任意访问点都能保障两个控制器的链路访问均分数据流量,很显然,能够做到控制器负载均衡,比单纯提供控制器冗余,性能上要高很多。
说完上面的在介绍下RAID RAID为廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),RAID技术将一个个单独的磁盘以不同的组合方式形成一个逻辑硬盘,从而提高了磁盘读取的性能和数据的安全性。不同的组合方式用RAID级别来标识。 RAID技术经过不断的发展,现在已拥有了从 RAID 0 到 5等6种明确标准级别的RAID 级别。另外,其他还有6、7、10(RAID 1与RAID 0的组合)、01(RAID 0与RAID 1的组合)、30(RAID 3与RAID 0的组合)、50(RAID 0与RAID 5的组合)等。 不同RAID 级别代表着不同的存储性能、数据安全性和存储成本,下面将介绍如下RAID级别:0、1、2、3、4、5、6、01、10。 RAID0 RAID0也称为条带化(stripe),将数据分成一定的大小顺序的写道阵列的磁盘里,RAID0可以并行的执行读写操作,可以充分利用总线的带宽,理论上讲,一个由N个磁盘组成的RAID0系统,它的读写性能将是单个磁盘读取性能的N倍。且磁盘空间的存储效率最大(100%)RAID0有一个明显的缺点:不提供数据冗余保护,一旦数据损坏,将无法恢复。 RAID1 RAID1成为镜像(mirror),它将数据完全一致的分别写到工作磁盘和镜像磁盘,因此它的磁盘空间利用率为50%,在数据写入时时间会有影响,但是读的时候没有任何影响,RAID0提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。 RAID5 RAID5与RAID3的机制相似,但是数据校验的信息被均匀的分散到的阵列的各个磁盘上,这样就不存在并发写操作时的校验盘性能瓶颈。阵列的磁盘上既有数据,也有数据校验信息,数据块和对应的校验信息会存储于不同的磁盘上,当一个数据盘损坏时,系统可以根据同一带区的其他数据块和对应的校验信息来重构损坏的数据。 RAID6 RAID 6提供两级冗余,即阵列中的两个驱动器失败时,阵列仍然能够继续工作。 一般而言,RAID 6的实现代价最高,因为RAID 6不仅要支持数据的恢复,又要支持校验的恢复,这使RAID 6控制器比其他级R A I D更复杂和更昂贵。 1. RAID 6的校验数据 当对每个数据块执行写操作时, RAID 6做两个独立的校验计算,因此,它能够支持两个磁盘的失败。为了实现这个思想,目前基本上有两个已经接受的方法: ? 使用多种算法,如X O R和某种其他的函数。 ? 在不同的数据分条或者磁盘上,使用排列的数据。 2. RAID 6的一维冗余 RAID 6的第一种方法是用两种不同的方法计算校验数据。实现这个思想最容易的方法 RAID10 RAID10是RAID1和RAID0的结合,也称为RAID(0+1),先做镜像然后做条带化,既提高了系统的读写性能,有提供了数据冗余保护,RAID10的磁盘空间利用率和RAID1是一样的,为50%。RAID10适用于既有大量的数据需要存储,有对数据安全性有严格要求的领域,比如金融,证券等。 RAID01 RAID01也是RAID0和RAID1的结合,但它是对条带化后的数据进行镜像。但与RAID10 不同,一个磁盘的丢失等同于整个镜像条带的丢失,所以一旦镜像盘失败,则存储系统成为一个RAID-0 系统(即只有条带化)。RAID01的实际应用非常少。 不同RAID级别对比 在各个raid级别中,使用最广泛的是raid0,raid1,raid10,raid5 RAID-0,将数据分成条带顺序写入一组磁盘中。RAID-0 不提供冗余功能,但是它却提供了卓越的吞吐性能,因为读写数据是在一组磁盘中的每个磁盘上同时处理的,吞吐性能远远超过单个磁盘的读写。 RAID-1,每次写操作都将分别写两份到数据盘和校验盘上,每对数据盘和校验盘成为镜像磁盘组。也可使用并发的方式来读数据时,提高吞吐性能。如果镜像磁盘组中某个磁盘出错,则数据可以从另外一块磁盘获得,而不会影响系统的性能,然后,使用一块备用磁盘将健康磁盘中的数据复制出来然后这两块磁盘又组成新的镜像组。 RAID1/0,即RAID1 与RAID0 的结合,既做镜像又做条带化,数据先镜像再做条带化。这样数据存储既保证了可靠性,又极大地提高了吞吐性能。 RAID-0/1 也是RAID0 与RAID1 的结合,但它是对条带化后的数据进行镜像。但与 RAID10 不同,一个磁盘的丢失等同于整个镜像条带的丢失,所以一旦镜像盘失败,则存储系统成为一个RAID-0 系统(即只有条带化)。 RAID-5 是将数据校验循环分散到各个磁盘中,它像RAID-0 一样将数据条带化分散写 到一组磁盘中,但同时它生成校验数据做为冗余和容错使用。校验磁盘包含了所有条带的数 据的校验信息。RAID-5 将校验信息轮流地写入条带磁盘组的各个磁盘中,即每个磁盘上既有数据信息又同时有校验信息,RAID-5 的性能得益于数据的条带化,但是某个磁盘的失败却将引起整个系统的下降,这是因为系统将在承担读写任务的同时,重新构建和计算出失败磁盘上的数据,此时要使用备用磁盘对失败磁盘的数据重建恢复整个系统的健康。 从一个普通应用来讲,要求存储系统具有良好的IO性能同时也要求对数据安全做好保护工作,所以raid10和raid5应该成为我们重点关注的对象。
|