太阳平台服务器光纤共享存储互斥失败导致的数据恢复

  

<>强服务器数据恢复故障描述:

  
      <李>服务器最初的设计思路为将两台SPARC SOLARIS系统通过光纤交换机共享同一存储作为集群使用,正常情况下一个服务器工作,当一个服务器发生故障宕机后即可将其关机然后开启B服务器进行接管。但由于服务器配置不当导致两台服务器并未很好地对存储互斥
    疤羝教ǚ衿鞴庀斯蚕泶娲⒒コ馐О艿贾碌氖莼指?   <李>管理员对服务器进行运维检查时开启B服务器,查到B服务器连接了一组未知的大容量磁盘,由于B服务器并未启用,处于闲置状态,所以管理员以为磁盘也是闲置的,于是将整个磁盘的某个分区做了newfs然。而这个磁盘就是那个共享存储,一个服务器很快报警并宕机。   <李>管理员于是对服务器做了如下操作:首先重启一服务器但所有的文件系统均无法,然后执行了fsck,多数分区数据修复成功,只有在B机做过newfs的文件系统结果不理想,根目录下只有一个失去+发现文件夹,里面有大量数字标号的文件。   <李>故障文件系统存储了两组甲骨文实例,原结构为UFS,约有200 ~ 400个数据文件需要恢复。
    <强>
    数据恢复分析:   <李>光纤设备的共享冲突案例很多,起缘于光纤交换的灵活性。此例中,一个机与B机同时对UFS这个单机文件系统进行访问是很糟糕的,两台服务器都以想当然的独享方式对存储进行管理,一个机正常管理的文件系统其实底层上已经被B机做了文件系统初始化,一个机从缓冲区写入文件系统的数据也会破坏B机初始化的结果。   <李> B机newfs实际上直接会作用于原先的文件系统之上,但此例与单纯的newfs会有些不同,在一个机宕机之前,会有一小部分数据(包括元数据)回写回文件系统.newfs如果结构与之前的相同,数据区是不会被破坏的,同时如果有一小部分元数据存在,部分数据恢复的可能性还是存在的。   <李> UFS是传统的UNIX文件系统,以块组切割,每块组分配若干固定的inode区。文件系统newfs时,如果结构与之前的相同,文件系统最重要的inode区便会全部初始化,之前的无法保留,inode管理着所有文件的重要属性,所以单纯从文件系统角度考虑,数据恢复的难度很大。好在甲骨文数据文件的结构性很强,同时UFS文件系统还是有一定的存储规律性,可以通过对甲骨文数据文件的结构重组,直接将数据文件,控制文件,日志等恢复出来,同时甲骨文数据文件本身会有表名称描述,也可以反向推断原来的磁盘文件名。
    <强>
    数据恢复过程与结果:   <李>首先对故障的文件系统做dd备份。针对整个镜像文件做完全的甲骨文数据结构分析,重组。然后对部分结构太乱,无法重组的文件,参考ufs文件系统结构特征进行辅助分析。利用恢复的数据文件,控制文件在oracle平台恢复数据库。所有数据库完全恢复。
    <强>
    后记:
    fsck是很致命的操作,在fsck之前最好做好备份(dd即可)。光纤存储的不互斥是非常多的数据灾难原因,方案应谨慎部署与实施。   

太阳平台服务器光纤共享存储互斥失败导致的数据恢复