服务器数据恢复环境:
一台网站服务器中有一组由6块磁盘组建的RAID6磁盘阵列,操作系统层面运行MySQL数据库和存放一些其他类型文件。
服务器故障:
该服务器在工作过程中,raid6磁盘阵列中有两块磁盘先后离线,不知道是管理员没有注意或者没有重视这个情况,没有为该raid6磁盘阵列更换离线磁盘。当第三块硬盘离线后,该raid6阵列崩溃,服务器瘫痪,该服务器上跑的业务停摆。如果更换硬盘重新组建阵列,则阵列中的所有数据会全部丢失。
服务器管理员尝试通过市面上比较流行的数据恢复软件对服务器中的数据进行抢救,但是仍有大部分数据丢失无法恢复。管理员求助我们数据恢复中心,要求恢复服务器中所有数据。
服务器数据恢复过程:
1、将故障服务器内所有硬盘编号后取出,经过硬件工程师检测没有发现有硬盘存在明显的硬件故障,都可以正常读取数据。以只读方式将所有磁盘进行扇区级别的全盘镜像,镜像完成后按照编号将所有磁盘还原到原服务器中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、服务器磁盘阵列中3块硬盘同时掉线的概率可以忽略不计,要恢复磁盘阵列中的数据首先需要搞清楚这几块硬盘离线的先后顺序,找到最后离线的硬盘。如果最后离线的那块硬盘存在硬件故障则修复硬件故障,然后提取数据。根据该raid阵列的存储结构分析raid结构参数,然后利用这些参数重组raid。
3、本案例服务器中的raid6磁盘阵列使用的是双校验模式:第一个校验方式是普通的oxr(异或运算),第二个校验方式是reed-solmon算法。一般情况下通过第一个校验方式即可恢复数据,但是本案例中radi6阵列中的前两块离线硬盘很早之前就已经掉线,不具备数据恢复的条件,所以无法通过第一种校验方式来恢复数据。第二种校验方式比较复杂,所以管理员通过市面上常用的数据恢复软件恢复出来的数据大量缺失,且数据库无法使用。
4、北亚企安数据恢复中心工程师团队对reed-solomon算法进行过技术攻关,拥有通过reed-solomon算法恢复数据的实际案例经验。经过一番努力,北亚企安数据恢复工程师通过分析获取到该raid6磁盘阵列的关键参数并提取出完整的镜像数据。
5、经过用户方管理员的验证,确认所有数据成功恢复,数据库可以使用,本次服务器数据恢复工作完成。