磁盘阵列实验
*一、实验要点*
*1.RAID概念*
RAID ( Redundant Array of Independent Disks ) ,即独立磁盘冗余阵列 / 磁盘阵列。该技术使用多个独立的磁盘组成在一起形成一个大的磁盘组,从而实现比单块磁盘更好的存储性能和更高的可靠性。
*2.RAID级别分类及特点*
*2.1. RAID 1*
(1)RAID1模式最少需要两块硬盘,所有硬盘互为镜像,每块硬盘上存储的数据都一模一样,阵列中只要有一块硬盘损坏,数据都可以完整读出来,因此安全性非常高。
(2)但是也可以看出RAID1的写性能不如RAID0,因为数据没有分段,要同步的写入所有硬盘,写入时间以最慢的那个为准。并且硬盘利用率低,可用的容量是最小的单硬盘容量。所以RAID1适用于存储重要数据。
*2.2. RAID 5*
(1)RAID5采用奇偶校验算法对数据进行校验。
(2)RAID5的校验数据是分散存在各个硬盘里,每个硬盘里都有校验数据,当一块硬盘损坏,所有其他盘里的数据配合校验信息可以进行恢复,避免了RAID3校验盘坏了无法恢复数据的情况,并且解决了校验盘争用的问题。
(3)RAID5至少三块硬盘,以三块硬盘为例的话,每个硬盘的1/3空间作为冗余,存放校验数据,另外2/3空间存原始数据。
(4)RAID 5可以理解为是RAID 0和RAID 1的折中方案。RAID5的读速度与RAID0相近,写速度不如RAID0,因为每次写还要产生其校验数据。但是安全性比RAID0高,硬盘利用率比RAID1高。
*2.2. RAID 6*
(1)RAID6与RAID5相比,也是将校验数据分散在硬盘里,但是增加到了两个硬盘空间存放校验数据,来解决两个盘损坏,恢复数据的问题。
(2)这导致RAID6最少需要四块硬盘才行,RAID6模式数据安全性非常高,使用不同的校验算法,计算了两个校验值,分别是P和Q,P是分层校验,与RAID5的计算原理一样,Q是总体校验,起作用相当于给数据盘加了一组线性不相关的系数,所以RAID6任意坏两块硬盘,都能实现数据完全恢复。安全性相对RAID6更高一级。
(3)但因为采用两种奇偶校验算法校验数据,校验数据量是RAID5的两倍,同时校验算法计算量也偏大,导致RAID6读写速度不及RAID5。
容灾备份指的是一种预防性措施,旨在应对各种不可预测的灾难性事件,如自然灾害、硬件故障、人为错误等,确保系统和数据能够在灾难发生后快速恢复。容灾备份的主要意义在于保障数据的完整性、可用性和持续性。RAID作为一种数据存储技术,具有数据冗余、容错性、快速恢复的优势,在容灾备份中发挥着关键作用。
纵观RAID的一个发展过程,可以发现,从刚开始的RAID0和RAID1极端追求速度和安全,到后面的RAID2到RAID6引入校验技术逐渐权衡两者。在实际应用中,RAID0、1、5、6是比较常见的。虽然除了RAID0以外的其他RAID模式都提供了数据安全保障机制,但是RAID不能替代备份,为了数据的完全安全,仍需要备份存储在RAID上的数据。
*二、实验环境*
*1. 操作系统:CentOS 7*
*2. 管理工具:Linux系统中的RAID阵列管理工具mdadm*
*三、实验过程与结果*
*1. 磁盘分区管理*
1.1. 在虚拟机中创建磁盘分区。如图所示
1.2. 磁盘分区添加完成。如图所示
1.3. 使用工具安装mdadm。如图所示
1.4. 更改磁盘分区格式为fd,并重新检查每个磁盘的当前状态。如图所示
*2. RAID1实验*
2.1. 在/dev/md1目录下将sdd1与sde1两块磁盘创建为RAID级别为1,磁盘数为2 的RAID1磁盘阵列,并将sdd1作为备用磁盘。如图所示
2.2. 查看当前RAID 1磁盘阵列状态。如图所示
2.3. 使用mdadm工具模拟磁盘损坏。如图所示
2.4. 此时再次查看RAID1阵列详细信息,发现/dev/sdb1磁盘已经自动替换了损坏的/dev/sdd1磁盘。
2.5. 等待备用磁盘自动替换损坏的磁盘,查看RAID1阵列详细信息。如图所示
2.6. 移除损坏的磁盘。如图所示
2.7. 添加新磁盘到RAID1阵列,将/dev/sdc1磁盘添加为RAID1阵列的备用设备,新增加的硬盘需要与原硬盘大小一致。如图所示
2.8. 如果原有阵列缺少工作磁盘(如RAID1只有一块在工作,RAID5只有2块在工作),这时新增加的磁盘直接变为工作磁盘,如果原有阵列工作正常,则新增加的磁盘为热备磁盘。
2.9. 取消RAID挂载,并停止阵列,之后自动删除创建阵列的目录,此时无法访问,说明暂停成功。如图所示
*3. RAID5实验*
3.1. 在/dev/md5目录下将sdb1、sdc1、sdd1三块磁盘创建为RAID级别为5,磁盘 数为3的RAID5磁盘阵列并将sde1作为备用磁盘。如图所示
3.2. 查看RAID 5阵列信息。如图所示
3.3. 模拟磁盘损坏,此时提示sdb1已损坏。如图所示
3.4. 格式化并挂载RAID5阵列。如图所示
3.5. 取消RAID挂载,并停止阵列。如图所示
*4. RAID6实验*
4.1. 新增两个磁盘,以创建后续RAID6阵列。如图所示
4.2. 在/dev/md6目录下将sdb1、sdc1、sdd1、sde1四块磁盘创建为RAID级别 为6,磁盘数为4的RAID6磁盘阵列并将sdf1、sdg1作为备用磁盘。如图所示
4.3. 查看RAID 6阵列信息。如图所示
4.4. 模拟两块磁盘,即sdb1和sdc1同时损坏。如图所示
4.5. 格式化并挂载RAID6阵列。如图所示
4.6. 取消RAID挂载,并停止阵列。如图所示
*四、实验总结*
- 在本实验中,我们通过使用Linux系统下的阵列管理工具成功构建了RAID1、RAID5、RAID6磁盘阵列,并详细记录了完整流程,了解到了三种磁盘阵列的灾备能力强弱区别,并且分别实现了数据恢复的过程。
- 在完成本实验后,我们进一步探索了其他种类的RAID阵列,不同种类之间的对比如下图所示。
- 在进行了更加全面的思考后,总的来说:RAID0和RAID1最少都需要2块磁盘,RAID0是效能和储存空间的最大化,但不注重安全性,因此比较适合放一些消失不见也没关系的档案,例如快取、或是整理档案时的暂存空间;RAID1则是安全性最大化,适合放一些重要的数据。RAID5和RAID6可以放在一起探讨,以安全性来排序由高至低为RAID6 > RAID5,空间利用率则是RAID5 > RAID6。综上所述,RAID5是目前综合性能最佳的数据保护解决方案,它基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。当然它们之间各有区别,有时候也需要看实际情况来决定RAID的级别。