磁盘阵列(英语:Redundant Arrays of Independent Disks,简称:RAID)是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上,有 独立磁盘构成的具有冗余能力的阵列 之意。
磁盘阵列其样式有三种,一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件来仿真。
外接式磁盘阵列柜最常被使用大型服务器上,具可热交换(Hot Swap)的特性,不过这类产品的价格都很贵。
内接式磁盘阵列卡,因为价格便宜,但需要较高的安装技术,适合技术人员使用操作。硬件阵列能够提供在线扩容、动态修改阵列级别、自动数据恢复、驱动器漫游、超高速缓冲等功能。它能提供性能、数据保护、可靠性、可用性和可管理性的解决方案。阵列卡专用的处理单元来进行操作。
磁盘阵列作为独立系统在主机外直连或通过网络与主机相连。磁盘阵列有多个端口可以被不同主机或不同端口连接。一个主机连接阵列的不同端口可提升传输速度。
和当时PC用单磁盘内部集成缓存一样,在磁盘阵列内部为加快与主机交互速度,都带有一定量的缓冲存储器。主机与磁盘阵列的缓存交互,缓存与具体的磁盘交互数据。
在应用中,有部分常用的数据是需要经常读取的,磁盘阵列根据内部的算法,查找出这些经常读取的数据,存储在缓存中,加快主机读取这些数据的速度,而对于其他缓存中没有的数据,主机要读取,则由阵列从磁盘上直接读取传输给主机。对于主机写入的数据,只写在缓存中,主机可以立即完成写操作。然后由缓存再慢慢写入磁盘。
(1)RAID 0:(N 块盘组成,逻辑容量为 N 块盘容量之和)
RAID 0是将两个或两个以上的硬盘,组成一个大容量硬盘,它将数据拆分成不同条带(Stripe),然后分别写入到所有的硬盘中,同时进行读写。由于RAID 0是利用多块硬盘同时进行读写,所以在单位时间内,RAID 0磁盘阵列的读写速度几乎是单一硬盘速度叠加之和,这可要比使用单块磁盘的时候快上许多。但它的缺点明显,无法提升随机读取效率,综合数据安全性能也较低。
(2)RAID 1:(两块盘组成,逻辑容量为 1 块盘容量)
RAID 1是把一个磁盘的数据镜像拷贝到另一个磁盘上。以两个硬盘组成的RAID 1阵列为例,数据在写入A硬盘的同时,会在B硬盘上生成相同的镜像文件。简单来说,RAID 1的原理有点像实时自动备份,优点就是数据安全性高,但这也意味着被写入镜像的硬盘只能是个“备胎”,磁盘阵列组建完成以后,可用容量只有整体容量的一半。
(3)RAID 5:(N 块盘组成,逻辑容量为 N-1 块盘容量之和)
对比前面介绍的两种基础磁盘阵列,RAID 5对读写性能和数据安全性进行了更加均衡的考虑。它由三块或三块以上的硬盘组建而成,在每个循环写入过程中,轮流在其中一块磁盘存储其他几个磁盘数据的恢复码(parity)。这意味着当其中任何一个磁盘损坏时,系统可通过其他磁盘存储的恢复码来重建磁盘数据,俗称容灾能力为1(在容许一块硬盘出现故障的基础上,可保障数据安全)。