RAID5的具体原理
2个回答
推荐于2017-11-26
展开全部
下面给大家介绍一个专业一点的RAID方式,说它是专业的RAID模式是因为它需要单独的硬件支持才行。RAID 5模式的工作原理如下:
RAID 5使用至少三块硬盘来实现阵列,它既能实现RAID 0的加速功能也能够实现RAID 1的备份数据功能,在阵列当中有三块硬盘的时候,它将会把所需要存储的数据按照用户定义的分割大小分割成文件碎片存储到两块硬盘当中,此时,阵列当中的第三块硬盘不接收文件碎片,它接收到的是用来校验存储在另外两块硬盘当中数据的一部分数据,这部分校验数据是通过一定的算法产生的,可以通过这部分数据来恢复存储在另外两个硬盘上的数据。另外,这三块硬盘的任务并不是一成不变的,也就是说在这次存储当中可能是1号硬盘和2好硬盘用来存储分割后的文件碎片,那么在下次存储的时候可能就是2号硬盘和3号硬盘来完成这个任务了。可以说,在每次存储操作当中,每块硬盘的任务是随机分配的,不过,肯定是两块硬盘用来存储分割后的文件碎片另一块硬盘用来存储校验信息。
这个校验信息一般是通过RAID控制器运算得出的,通常这些信息是需要一个RAID控制器上有一个单独的芯片来运算并决定将此信息发送到哪块硬盘存储。
RAID 5同时会实现RAID 0的高速存储读取并且也会实现RAID 1的数据恢复功能,也就是说在上面所说的情况下,RAID 5能够利用三块硬盘同时实现RAID 0的速度加倍功能也会实现RAID 1的数据备份功能,并且当RAID 5当中的一块硬盘损坏之后,加入一块新的硬盘同样可以实现数据的还原。
下面来分析一下RAID 5如何实现对数据的还原,举个例子来说,使用3块硬盘来构成一个RAID 5阵列,用户定义的分割文件大小为64K,此时需要存储的文件大小为128K。首先,当RAID控制器接收到这部分数据之后利用一定的算法得出校验信息,然后将这128K的文件分割成两个大小为64K大小的文件碎片,然后将这两个文件碎片同时分别放往1号硬盘和2号硬盘,最后校验信息被发往3号硬盘。如果这个阵列当中某个硬盘损坏了,还是可以恢复原来的数据:如果上面用来存储校验信息的3号硬盘损坏了,可以通过1号和2号硬盘来重新生成校验信息;如果损坏的是1号或者2号硬盘,可以利用3号硬盘上存储的校验信息重新生成原来的文件碎片。
RAID 5模式并不是一些都好,如果阵列当中某块硬盘上的信息发生了改变的话,那么就需要重新计算文件分割碎片,并且,校验信息也需要重新计算,这时,三个硬盘都需要重新调用。
同样,如果要做RAID 5阵列的话,最好使用相同容量相同速度的硬盘,RAID 5模式的有效容量是阵列中容量最小的硬盘容量乘上阵列中硬盘数目减去一后的数,这里硬盘数目要减去一是因为其中有一块硬盘用来存放校验信息。
RAID 5既能够实现速度上的加倍,同时也能够保证数据的安全性,所以在很多高端系统当中都使用这种RAID模式。
从RAID 0到RAID 7都有相对应的组合方式,但是有些并不常用。还有一种方式是RAID 10,这种方式其实就是RAID 0+1,它的性能基本上和RAID 5相同,既有RAID 0在速度上的优势,同时也有RAID 1在数据安全上的优势,不过,想要组建一个RAID 10模式需要至少四块硬盘,这个成本就比较高了。
RAID 5使用至少三块硬盘来实现阵列,它既能实现RAID 0的加速功能也能够实现RAID 1的备份数据功能,在阵列当中有三块硬盘的时候,它将会把所需要存储的数据按照用户定义的分割大小分割成文件碎片存储到两块硬盘当中,此时,阵列当中的第三块硬盘不接收文件碎片,它接收到的是用来校验存储在另外两块硬盘当中数据的一部分数据,这部分校验数据是通过一定的算法产生的,可以通过这部分数据来恢复存储在另外两个硬盘上的数据。另外,这三块硬盘的任务并不是一成不变的,也就是说在这次存储当中可能是1号硬盘和2好硬盘用来存储分割后的文件碎片,那么在下次存储的时候可能就是2号硬盘和3号硬盘来完成这个任务了。可以说,在每次存储操作当中,每块硬盘的任务是随机分配的,不过,肯定是两块硬盘用来存储分割后的文件碎片另一块硬盘用来存储校验信息。
这个校验信息一般是通过RAID控制器运算得出的,通常这些信息是需要一个RAID控制器上有一个单独的芯片来运算并决定将此信息发送到哪块硬盘存储。
RAID 5同时会实现RAID 0的高速存储读取并且也会实现RAID 1的数据恢复功能,也就是说在上面所说的情况下,RAID 5能够利用三块硬盘同时实现RAID 0的速度加倍功能也会实现RAID 1的数据备份功能,并且当RAID 5当中的一块硬盘损坏之后,加入一块新的硬盘同样可以实现数据的还原。
下面来分析一下RAID 5如何实现对数据的还原,举个例子来说,使用3块硬盘来构成一个RAID 5阵列,用户定义的分割文件大小为64K,此时需要存储的文件大小为128K。首先,当RAID控制器接收到这部分数据之后利用一定的算法得出校验信息,然后将这128K的文件分割成两个大小为64K大小的文件碎片,然后将这两个文件碎片同时分别放往1号硬盘和2号硬盘,最后校验信息被发往3号硬盘。如果这个阵列当中某个硬盘损坏了,还是可以恢复原来的数据:如果上面用来存储校验信息的3号硬盘损坏了,可以通过1号和2号硬盘来重新生成校验信息;如果损坏的是1号或者2号硬盘,可以利用3号硬盘上存储的校验信息重新生成原来的文件碎片。
RAID 5模式并不是一些都好,如果阵列当中某块硬盘上的信息发生了改变的话,那么就需要重新计算文件分割碎片,并且,校验信息也需要重新计算,这时,三个硬盘都需要重新调用。
同样,如果要做RAID 5阵列的话,最好使用相同容量相同速度的硬盘,RAID 5模式的有效容量是阵列中容量最小的硬盘容量乘上阵列中硬盘数目减去一后的数,这里硬盘数目要减去一是因为其中有一块硬盘用来存放校验信息。
RAID 5既能够实现速度上的加倍,同时也能够保证数据的安全性,所以在很多高端系统当中都使用这种RAID模式。
从RAID 0到RAID 7都有相对应的组合方式,但是有些并不常用。还有一种方式是RAID 10,这种方式其实就是RAID 0+1,它的性能基本上和RAID 5相同,既有RAID 0在速度上的优势,同时也有RAID 1在数据安全上的优势,不过,想要组建一个RAID 10模式需要至少四块硬盘,这个成本就比较高了。
2013-09-21
展开全部
raid代表redundant array of inexpensive (or independent) drive。raid的优点在于三个方面即可用性、容量(capacity)及性能(performance)。利用raid技术于存储系统的好处主要有以下三种
通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能
通过把数据分成多个数据块并行写入/读出多个磁盘以提高访问磁盘的速度
通过镜像或校验操作提供容错能力
根据实际情况选择适当的raid级别可以满足用户对存储系统可用性、性能和容量的要求。常用的raid级别有以下几种:nraid,jbod,raid0,raid1,raid0+1,raid3,raid5等。为提高可靠性和性能,常使用raid5和raid。下面分别简要介绍各自的原理及特点:
nraid即non-raid,所有磁盘的容量组合成一个逻辑盘,没有数据块分条。nraid不提供数据冗余。要求至少一个磁盘。
jbod代表just a bunch of drives,磁盘控制器把每个物理磁盘看作独立的磁盘,因此每个磁盘都是独立的逻辑盘。jbod也不提供数据冗余。要求至少一个磁盘。
raid0即data stripping数据分条技术。整个逻辑盘的数据是被分条分布在多个物理磁盘上,可以并行读/写,提供最快的速度,但没有冗余能力。要求至少两个磁盘。我们通过raid 0可以获得更大的单个磁盘的容量,且通过对多个磁盘的同时读取获得更高的存取速度。raid 0首先考虑的是磁盘的速度和容量,忽略了安全,只要其中一个磁盘住了问题,那么整个阵列的数据都会不保了。
raid 1,又称镜像方式,也就是数据的冗余。在整个镜像过程中,只有一半的磁盘容量是有效的(另一半磁盘容量用来存放同这一半完全一样的数据)。同raid 0相比,raid 1首
先考虑的是安全性,容量减半、速度不变。为了达到既高速又安全,出现了raid 10(或者叫raid 0+1),可以把raid 10简单地理解成由多个磁盘组成的raid 0阵列再进行镜像。
raid 3和raid 5都是校验方式。raid 3的工作方式是用一块磁盘存放校验数据。由于任何数据的改变都要修改相应的数据校验信息,存放数据的磁盘有好几个且并行工作,而存放校验数据的磁盘只有一个,这就带来了校验数据存放时的瓶颈。raid 5的工作方式是将各个磁盘生成的数据校验切成块,分别存放到组成阵列的各个磁盘中去,这样就缓解了校验数据存放时所产生的瓶颈问题,但是分割数据及控制存放都要付出速度上的代价。raid 30、raid 50相对应的工作方式可以像raid 10那样去理解。
由此可见,使用raid功能组成阵列,总能做到单个磁盘无法做到的功能,所以说raid卡+多磁盘对我们来说是充满诱惑的。
通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能
通过把数据分成多个数据块并行写入/读出多个磁盘以提高访问磁盘的速度
通过镜像或校验操作提供容错能力
根据实际情况选择适当的raid级别可以满足用户对存储系统可用性、性能和容量的要求。常用的raid级别有以下几种:nraid,jbod,raid0,raid1,raid0+1,raid3,raid5等。为提高可靠性和性能,常使用raid5和raid。下面分别简要介绍各自的原理及特点:
nraid即non-raid,所有磁盘的容量组合成一个逻辑盘,没有数据块分条。nraid不提供数据冗余。要求至少一个磁盘。
jbod代表just a bunch of drives,磁盘控制器把每个物理磁盘看作独立的磁盘,因此每个磁盘都是独立的逻辑盘。jbod也不提供数据冗余。要求至少一个磁盘。
raid0即data stripping数据分条技术。整个逻辑盘的数据是被分条分布在多个物理磁盘上,可以并行读/写,提供最快的速度,但没有冗余能力。要求至少两个磁盘。我们通过raid 0可以获得更大的单个磁盘的容量,且通过对多个磁盘的同时读取获得更高的存取速度。raid 0首先考虑的是磁盘的速度和容量,忽略了安全,只要其中一个磁盘住了问题,那么整个阵列的数据都会不保了。
raid 1,又称镜像方式,也就是数据的冗余。在整个镜像过程中,只有一半的磁盘容量是有效的(另一半磁盘容量用来存放同这一半完全一样的数据)。同raid 0相比,raid 1首
先考虑的是安全性,容量减半、速度不变。为了达到既高速又安全,出现了raid 10(或者叫raid 0+1),可以把raid 10简单地理解成由多个磁盘组成的raid 0阵列再进行镜像。
raid 3和raid 5都是校验方式。raid 3的工作方式是用一块磁盘存放校验数据。由于任何数据的改变都要修改相应的数据校验信息,存放数据的磁盘有好几个且并行工作,而存放校验数据的磁盘只有一个,这就带来了校验数据存放时的瓶颈。raid 5的工作方式是将各个磁盘生成的数据校验切成块,分别存放到组成阵列的各个磁盘中去,这样就缓解了校验数据存放时所产生的瓶颈问题,但是分割数据及控制存放都要付出速度上的代价。raid 30、raid 50相对应的工作方式可以像raid 10那样去理解。
由此可见,使用raid功能组成阵列,总能做到单个磁盘无法做到的功能,所以说raid卡+多磁盘对我们来说是充满诱惑的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询