服务器存储数据恢复环境:
某品牌EVA8400,服务器上安装VMware ESXi虚拟化平台,虚拟机的虚拟磁盘包括数据盘(精简模式)+快照数据盘,部分虚拟机中运行oracle数据库和mysql数据库。
服务器存储故障&检测:
存储异常断电重启后,存储中一台虚拟机无法启动。工作人员推测故障原因是异常断电导致电源模块出现故障,清空cache后重新启动存储发现该虚拟机仍无法正常启动。
发生故障的虚拟机内的数据主要是oracle数据库和mysql数据库,mysql数据库部分表异常无法查看数据。
1、故障虚拟机有两个快照文件,因为vmware虚拟机快照文件被创建后所有的数据更新操作都只发生于快照文件内,所以必须先合并虚拟机快照才能确定虚拟磁盘内部文件的损坏情况。
2、合并快照完成后,以磁盘格式打开虚拟机磁盘镜像文件,发现文件系统内部数据异常:文件丢失、文件内部数据被替换或清零等。mysql数据库内的myisam索引文件MYI被替换为其他数据。大概有一个星期的写入文件丢失,根据其他文件的损坏情况及常规的文件存储流程可以判断,这部分数据暂存于缓冲中没有写入磁盘。缓冲在重启存储的过程中已被清空,所以这部分数据无法恢复。
服务器存储数据恢复方案:
1、Mysql数据库的myisam引擎使用了独立表空间对各个表的数据进行存储,文件仍然存在的情况下可以通过解析底层数据的方法获取表数据。索引文件MYI的受损程度影响数据恢复概率,预计可恢复百分之八十到百分之九十的数据。
2、Oracle数据库的校验机制比较严格,经过测试发现系统表空间存在异常,北亚企安数据恢复工程师按照底层数据量进行分析,预计可恢复百分之八十到百分之九十的数据。
3、针对丢失文件,除去那些存于缓冲而未写入磁盘的文件,其他丢失的文件可通过扫描空闲空间获得。