服务器故障:
用户误操作将linux文件系统误装入到Ocfs2文件系统的数据卷上,导致原始Ocfs2文件系统被格式化为Ext4文件系统。
因为Ext4文件系统每隔几百兆就会写入文件系统的原始信息,所以本案例中的原始Ocfs2文件系统中的数据可能受到一定程度的破坏,但不会太严重。
服务器数据恢复过程:
1、将故障服务器中的所有硬盘以只读模式映射给备份服务器,将映射到备份服务器中的数据做镜像备份。做完镜像后将所有硬盘按照原样还原到故障服务器,之后的数据恢复操作均在镜像文件上进行,避免对原始数据造成二次伤害。
2、找到&分析ocfs2文件系统的超级块,通过分析获取到ocfs2文件系统的基本结构信息。通过用户提供的虚拟磁盘文件名称找到虚拟磁盘文件的目录项和对应的一级索引项和二级索引项。
3、利用北亚自主开发的ocfs2文件系统解析程序对备份数据进行文件系统解析。ocfs2文件系统的索引项结构如下:
一级索引项:
二级索引项:
4、修复损坏的Ocfs2文件系统。对原始Ocfs2文件系统做一致性检测,北亚数据恢复工程师对损坏的区域进行人工修复。
5、使用北亚自主开发的针对Ocfs2不完整文件系统的解析工具解析已修复的Ocfs2文件系统。
6、根据对Ocfs2文件系统分析结果,北亚数据恢复工程师编写对应的数据提取程序恢复每一个虚拟磁盘文件,对恢复出来的每一个虚拟磁盘文件做一致性检测。
7、解析恢复出来的虚拟磁盘文件,验证虚拟磁盘文件是否有错误并尝试修复。
8、恢复虚拟磁盘文件中的用户文件,对已恢复的用户文件做一致性检测并尝试修复损坏的文件。
9、验证比较重要的虚拟机,虚拟机大多都可以开机进入到登录界面。有小部分虚拟机开机蓝屏或开机检测磁盘,经过光盘修复之后都可以正常启动。
部分虚拟机开机如下:
其中有一台虚拟机磁盘文件恢复之后,经过解析发现该虚拟机中没有数据。继续分析该虚拟磁盘文件,发现该虚拟磁盘文件索引项存在,但是索引结构并不多,数据量也很少,推测可能存在人为清零或修改的情况,也可能该虚拟机原本就没有多少数据。
10、验证重点虚拟机中的数据库,发现数据库都正常。部分数据库与应用程序连接出现问题,用户联系应用程序厂商技术人员进行修复之后,数据库都可以正常使用。
11、经过数据恢复工程师和用户的亲自验证确认数据没有问题后,把所有恢复出来的数据移交给用户。