计算机系统的硬盘存储着大量的数据,有些数据非常关键,一旦丢失就会产生严重后果。本文中,我们基于软件构件的RAID 1级别的硬盘阵列,测试了软RAID 1阵列在发生故障后,其数据恢复的能力。基于Linux操作系统通过软件构建的RAID 1硬盘阵列,本次测试的结果验证了以下几个关键结论,证明了软RAID的容灾能力:
- 当RAID中作为数据盘的一块硬盘发生故障时,RAID发生降级,且数据不丢失,挂载的分区依旧可读写;
- 当向降级的RAID中添加一块新硬盘后,RAID可通过重建恢复;
- 当旧实例操作系统所在硬盘发生故障时,数据盘组建的软RAID接入到其他实例上,能够成功地被新实例的操作系统识别,并成功读写。
一、 测试环境配置
1. 测试平台
VMware Workstation虚拟机
2. 测试实例操作系统选型
Ubuntu 22.04.1 64位(基于Linux),共2台
3. 所需依赖软件
cockpit (一款好用的基于web的linux主机管理平台)
$ sudo apt install cockpit $ sudo systemctl start cockpit $ sudo systemctl start udisks2
二、测试用例
1. 用例一:软RAID 1基本功能测试
(1) 为虚拟机1添加2块20GB硬盘
(2) 打开cockpit管理界面,在“存储”中,为这2块硬盘创建软RAID 1阵列
(3) 格式化创建好的RAID 1阵列,并挂载
(4) 在挂载目录下,成功写入一份文本文件
2. 测试用例二:单块硬盘故障后,软RAID 1数据读写测试
(1) 将单块硬盘移除,在 web管理系统界面显示RAID降级
(2) 成功读取挂载目录中的文件和数据
(3) 成功写入数据到挂载目录中的新文件
3. 测试用例三:添加新硬盘后故障恢复测试
(1) 向虚拟机添加一块新硬盘
(2) 在web管理界面添加该硬盘,成功恢复RAID
(3) 查看挂载目录中的文件数据,可成功读写
(4) 移除另外一块旧硬盘,仅保留新增硬盘,使得RAID存储再次降级,查看挂载目录中的文件数据,依旧可成功读写,说明数据已经成功恢复到新盘
4. 测试用例四:系统盘故障时,软RAID数据盘可移植挂载测试
(1) 将2块数据盘挂载到新系统下,并成功识别出RAID
(2) 读取RAID中原有文件数据成功,写入数据到新文件中成功
三、总结
本次测试活动证明了关于软RAID的数据容灾能力,本文所述的三条结论成立。AI柠檬因为所使用NAS服务器的缘故,需使用软RAID实现数据容灾,且容灾能力能够满足当前需求。不过软RAID的缺点在于需使用CPU,因此对于CPU的性能有一定的要求,过低的CPU配置会导致性能瓶颈。因此,如果有条件可以使用硬件阵列卡实现RAID是最佳的选择,只不过对使用者的技术能力有着较高的要求。
版权声明本博客的文章除特别说明外均为原创,本人版权所有。欢迎转载,转载请注明作者及来源链接,谢谢。本文地址: https://blog.ailemon.net/2023/04/03/hard-disk-failure-and-recovery-test-base-on-software-raid/ All articles are under Attribution-NonCommercial-ShareAlike 4.0 |