欢迎访问北京智慧仓存储技术有限公司官网网站!
京存
按需求定制存储解决方案

Linux 磁盘Raid 阵列介绍~

来源:本站添加时间:2023-07-10 点击:

磁盘阵列


  在做数据库维护的时候,经常会跟磁盘打交道,对于“Raid”这个词,肯定大家都不陌生,今天我们讲讲Raid阵列。


  01、Raid概念


  Raid全程是(Redundant Array of Idependent Disks)也叫独立磁盘冗余数组,简单理解就是磁盘的一种阵列排布。


  它的基本原理就是将很多廉价的磁盘通过拼接的方法组合在一起,实现一个磁盘组,对外提供服务,符合了"人多力量大"的宗旨。


  如何拼接?简单画一下,就能明白:


Linux磁盘Raid阵列


  我们假设图中Disk有500G,那么当我们通过拼接的方法,将8个Disk拼接在一起,那么这个"大磁盘"的容量就会变成4TB,而且,它的吞吐也会比单个磁盘更好。因为整体来看,这个大磁盘是单个磁盘性能的线性叠加。


  像上面那样,物理上一个一个的磁盘,就被我们拼接成了一个“逻辑上的大磁盘“,操作系统也会将这个磁盘阵列当做一整块磁盘来对待。


  通常我们做Raid,是想要提升磁盘的某些方面的性能:


  1、增强磁盘的IO能力、容量和整体效能。


  2、增强磁盘的冗余度或者高可用程度。


  3、对数据成块存取,多块盘同时读取,减少磁盘寻道时间,提升磁盘响应速度


  02、常见的Raid类型


  最常见的Raid模式,分为Raid 0 、Raid 1、Raid 5、Raid 1-0、Raid0-1等。下面我们简单介绍:


  Raid 0 (并行阵列):


  其实,我们上述图中拼接方法,就是一个Raid 0 的阵列。它就是一个简单的拼接,磁盘之间没有冗余,并行进行I/O操作:


Linux磁盘Raid阵列



  优点:


  多块磁盘的效能是单个磁盘效能的线性叠加。


  缺点:


  没有冗余能力,某一个磁盘坏了,会导致整个Raid阵列都不可用。


  Raid 1(镜像阵列):


  至少需要2组及以上的磁盘互为镜像,如下图:


Linux磁盘Raid阵列



  注意,Raid 1的方法,虽然也使用了8块盘,但是黄色部分和绿色部分互为镜像,存储的数据是一致的,所以8块盘实际的存储容量只有500G*4=2T,而不像上面的Raid 0可以存储4T容量。


  优点:


  可靠性较高,磁盘数据有冗余,坏掉一块盘,整个磁盘阵列还是可用的。


  缺点:


  磁盘的利用率很低,冗余数据页需要浪费一块磁盘。


  Raid 5:


  它是一种磁盘性能和可靠性兼顾的一种阵列。它不对数据进行备份,但是需要记录数据的奇偶校验信息,并且将业务数据和奇偶校验信息同时存入Raid 5的磁盘上。Raid 5至少需要3块磁盘。


  简单理解,它存储的内容=奇偶校验信息+真实数据。当Raid 5 中的一块磁盘坏掉的时候,Raid 5有一种能力,就是利用剩下的数据和响应的奇偶校验信息去恢复损坏的数据。


Linux磁盘Raid阵列


  优点:


  单块磁盘损坏,还可以恢复数据。


  磁盘空间利用率比Raid 1镜像阵列高。


  缺点:


  磁盘数据的恢复能力不如Raid 1镜像阵列


  由于存在奇偶校验信息,写入性能会受到影响


  Raid 1-0(先镜像再并列):


  Raid 1和Raid 0各有各的优势,所以人们就想办法将这些优势给组合在一起,扬长避短。于是就有了Raid 10这种方案,它的基本架构如下:


Linux磁盘Raid阵列



  我们可以看到,图中每块磁盘先进行镜像冗余,然后再将两个大的存有冗余的磁盘并列在一起。


  Raid 10 的本质,是底层硬盘先做一个Raid 1的镜像阵列,然后在Raid 1 的基础上,再做一个Raid 0 的并行阵列。


  优点:


  数据可靠性,比单纯的Raid 0高很多。


  缺点:


  需要的磁盘较多


  读写速度不如Raid 0-1


  Raid 0-1(先并列再镜像):


  Raid 01和Raid1-0刚好相反,它是先将Raid盘进行并列,之后再进行镜像。


Linux磁盘Raid阵列



  图中的磁盘都是先进行并列阵列,然后再将2块并列的大磁盘进行镜像阵列。


  优点:


  读写速度比Raid10更快


  有一定的镜像冗余能力


  缺点:


  可用性没有Raid 10高(只要某个Raid 0阵列中一块磁盘不可用,这个Raid 0阵列就不可用)


  03、总结


  从上面我们的分析中,可能你已经了解了不同的磁盘阵列的优点和缺点,那么线上环境,究竟哪种会更好?


  其实对于数据库环境来说,建议选择Raid 10,因为可用性层面来讲,Raid 10比Raid 01更好。


  在机械磁盘时代,使用Raid阵列来排列还是很常见的。目前,SSD的价格已经比较便宜了,使用一块完整的SSD性能甚至会远远超过机械盘的Raid 阵列。一个简单的性能排序如下:


  单块机械盘 < 机械盘阵列 < SATA SSD < NVME SSD


  资源充足的情况下,肯定是选择SSD优先,如果资源不充足,但是又有一定的性能要求,建议配置机械盘的阵列。


首页
电话
短信
联系