RAID都有哪些类型
知道了RAID是什么之后,我们就来看看RAID都有哪些类型吧。根据RAID算法的不同,有RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6、RAID7、RAID01/10、RAID50等等很多种,然而由于他们其中有一些的算法过于麻烦,日常使用中很少涉及。因此,我们这次的科普只涉及几种广泛使用的RAID类型:包含RAID0、RAID1、RAID5、RAID01/10四种。除此之外,我们还将顺带提及RAID6以及RAID50这两种稍麻烦点,但至少还有人用的阵列类型。
磁盘阵列原理
磁盘阵列作为***系统在主机外直连或通过网络与主机相连。磁盘阵列有多个端口可以被不同主机或不同端口连接。一个主机连接阵列的不同端口可提升传输速度。 [2] 和当时PC用单磁盘内部集成缓存一样,在磁盘阵列内部为加快与主机交互速度,都带有一定量的缓冲存储器。主机与磁盘阵列的缓存交互,缓存与具体的磁盘交互数据。 [2] 在应用中,有部分常用的数据是需要经常读取的,磁盘阵列根据内部的算法,查找出这些经常读取的数据,存储在缓存中,加快主机读取这些数据的速度,而对于其他缓存中没有的数据,主机要读取,则由阵列从磁盘上直接读取传输给主机。对于主机写入的数据,只写在缓存中,主机可以立即完成写操作。然后由缓存再慢慢写入磁盘。
那么服务器为啥要做磁盘阵列呢?
主要有两个作用:
提供容错功能
普通的磁盘驱动器是无法提供容错功能的,而磁盘阵列可以通过数据校验提供容错功能,服务器会将数据写入多个磁盘,如果某个磁盘发生故障时,此时仍能保证信息的可用性,重要数据不会丢失,也不会耽误服务器的正常运转。
提高传输速率
磁盘阵列将多个磁盘组成一个阵列,当做一个单一的磁盘使用,把数据已分段的形式存储到不同的硬盘之中,发生数据存取变动时,阵列中的相关磁盘一起工作,这就可以大幅的降低数据存储的时间,同时还能拥有更佳的空间和使用率。
RAID的操作步骤
标准的RAID写操作,需包括以下几个步骤:
(1)以校验盘中读取数据
(2)以目标数据盘中读取数据
(3)以旧校验数据,新数据及已存在数据,生成新的校验数据
(4)将新校验数据写入校验盘
(5)将新数据写入目标数据盘
当主机将一个待写入阵列RAID组中的数据发送到阵列时,阵列控制器将该数据保存在缓存中并立即报告主机该数据的写入工作已完成。该数据写入到阵列硬盘的工作由阵列控制器完成,该数据可继续存放在Cache中直到Cache满,而且要为新数据腾出空间而必须刷新时或阵列需停机时,控制器会及时将该数据从Cache写入阵列硬盘中。
这种缓存回写技术使得主机不必等待RAID校验计算过程的完成,即可处理下一个读写任务,这样,主机的读写效率大为增加。当主机命令将一个数据写入硬盘,则阵列控制器将该数据写入缓存上面的位置,只有新数据才会被控制器按Write-Back Cache的方式之后写入硬盘。
版权所有©2025 产品网