服务器数据恢复环境:
SUN ZFS系列某型号存储阵列;
40块磁盘组建的存储池(其中4块磁盘用作全局热备盘),池内划分出若干空间映射到服务器使用;
服务器使用Windows操作系统。

服务器故障:
服务器在工作时由于未知原因崩溃,排除断电、进水或者误操作等外部因素。管理员重启服务器后发现无法进入系统,需要恢复该存储内的所有数据。

服务器数据恢复过程:
1、对故障存储中所有硬盘以只读方式做镜像备份,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始数据造成二次破坏。
2、分析磁盘镜像,发现故障设备是通过ZFS文件系统来管理所有磁盘。磁盘内记录系统元信息的NVLIST较为混乱,只能粗略得知以下信息:故障存储中的磁盘被分为三组,每组12块;每个组使用ZFS文件系统独有的RAIDZ管理磁盘。RAIDZ级别为2,即每个组最多可缺失2块磁盘;故障存储内的4块全局热备全部启用。
Tips:ZFS文件系统中的池被称为ZPOOL。ZPOOL的子设备可以有很多类型:块设备、文件、磁盘等等。本案例中所采用三组RAIDZ作为子设备。
3、经过进一步分析,发现三组RAIDZ内有两组分别启用的热备盘个数为1和3。在热备盘启用后,第一组内又出现一块离线盘,第二组内则又出现两块离线盘。通过上面分析得到的结论可以模拟故障现场:三组RAIDZ中的第一组和第二组分别出现离线盘,热备盘及时进行替换;在热备盘无冗余的状态下第一组RAIDZ又出现一块离线盘,第二组RAIDZ则又出现两块离线盘,ZPOOL进入高负荷状态(每次读取数据都需要经过校验才能得到正确数据)。当第二组RAIDZ出现了第三块离线盘时候,RAIDZ崩溃、ZPOOL下线、服务器崩溃。
4、由于ZFS文件系统管理的存储池与常规存储不同。常规RAID在存储数据时只会按照特定的规则组建池,不关心文件在子设备上的位置。而ZFS文件系统在存储数据时会为每次写入的数据分配适当大小的空间,并计算出指向子设备的数据指针。ZFS文件系统的这种特性决定了RAIDZ缺盘时无法直接通过校验得到数据,必须将整个ZPOOL作为一个整体进行解析。于是,北亚企安数据恢复工程师手工截取事务块数据,并编写程序获取最大事务号入口。

获取文件系统入口:

获取到文件系统入口后,北亚企安数据恢复工程师编写数据指针解析程序进行地址解析。

解析数据指针:

获取到文件系统入口点在各磁盘的分布情况后,数据恢复工程师开始手工截取并分析文件系统内部结构。由于入口分布所在的磁盘组无缺失盘,可直接提取信息。根据ZFS文件系统的数据存储结构找到用户映射的LUN名称,进而找到其节点。
5、经过分析发现故障存储中的ZFS文件系统版本与开源版本有很大差别,无法使用之前开发的解析程序进行解析,所以北亚企安数据恢复工程师重新编写了数据提取程序提取数据。

6、由于磁盘组内缺盘个数较多,每个IO流都需要通过校验得到,所以提取进度极为缓慢。与用户沟通后得知,此ZVOL卷映射到XenServer作为存储设备,用户所需的文件在其中一个大小约为2T的vhd内。提取ZVOL卷头部信息,按照XenStore卷存储结构进行分析,发现这个2T的vhd在整个卷的尾部,计算其起始位置后从此位置开始提取数据。
7、Vhd提取完毕后,验证其内部的压缩包、图片和视频等文件,均可正常打开。联系用户亲自验证数据,经过反复验证后确定文件数量与系统自动记录的文件数量相差无几,缺失的那部分极少数量的文件可能因为是最新生成还未刷新到磁盘。验证文件可用性,文件全部可正常打开,本次数据恢复工作完成。

【服务器数据恢复】多块磁盘离线导致RAIDZ崩溃的数据恢复案例相关推荐

  1. 2个硬盘离线导致raid崩溃的数据恢复案例

    案例1:多块硬盘离线导致raid6崩溃的数据恢复案例 服务器数据恢复环境: 6块750G磁盘的RAID6: WEB服务器+MYSQL数据库: 存放了大量其它文件. 服务器故障: 先后有两块磁盘离线,服 ...

  2. 【服务器数据恢复】RAID5多块硬盘离线但是热备盘未激活导致RAID崩溃的数据恢复案例

    服务器数据恢复环境: IBM某型号服务器,5个SAS硬盘组建RAID5(4个数据盘,1个热备盘): linux redhat操作系统: 上层应用为oa,数据库为oracle:oracle已经不对本案例 ...

  3. 【服务器数据恢复】RAID6中3块磁盘离线崩溃的数据恢复案例

    服务器数据恢复环境: 某高校web服务器由6块硬盘组成的raid6磁盘阵列,存放网站,MySQL数据库以及其他文件. 服务器故障&分析: 故障服务器raid6有三个磁盘离线,raid崩溃.My ...

  4. 服务器存储3块硬盘离线数据恢复的过程

    一.服务器数据恢复故障描述 整个服务器的存储结构是由一台控制器,三台扩展柜和28块FC 300G硬盘构成的.由于两块磁盘掉线导致存储某些LUN不可用,某些LUN丢失.由于服务器是因为某些磁盘掉线从而导 ...

  5. 【北亚数据恢复】Hp DL380服务器raid磁盘故障导致数据库数据丢失的数据恢复案例

    环境: HP DL380服务器: 三块300GSAS硬盘: 数据库在D分区: 备份放在E分区. 故障: 一块硬盘出现故障,状态灯红色,RAID瘫痪,存储故障,D分区不能识别,E分区可识别,拷贝备份文件 ...

  6. 【北亚数据恢复】IBM服务器raid5硬盘离线,热备盘未激活导致raid崩溃的数据恢复案例

    服务器数据恢复环境: IBM X系列服务器: 操作系统为linux redhat: 5块73G SAS硬盘,4块组成RAID5,1块作为热备盘(Hot-Spare). 故障: 3号盘最早离线,热备盘未 ...

  7. Dell 2850服务器磁盘阵列两块硬盘离线恢复过程

    服务器故障描述: 客户使用Dell 2850服务器组建了raid5磁盘阵列,阵列中包含有6块硬盘(SCSI硬盘,单盘容量300G),服务器操作系统为linux Redhat4:文件系统为ext3文件系 ...

  8. linux挂载第二块磁盘,linux服务器挂载第二块磁盘图文解说-转自美橙

    Linux磁盘挂载是比较常见的管理操作之一.预装的linux系统有2块盘,一块为系统盘,另外一块磁盘是数据盘,默认没有挂载,需要手动挂载到系统中.具体操作是:需要对磁盘进行格式化,格式化后挂载到需要的 ...

  9. 【IBM DS5300存储数据恢复】由于硬盘坏道导致RAID5崩溃的数据恢复案例

    环境: IBM DS5300的存储 一个机头连接4个扩展柜 2组由50块600GB的硬盘组的RAID5 故障: 一组由27块600G硬盘组成的,存放Oracle数据库文件的RAID5崩溃.在存储系统上 ...

最新文章

  1. vue 原理简单实现
  2. 【Flutter】StatefulWidget 组件 ( 底部导航栏组件 | BottomNavigationBar 组件 | BottomNavigationBarItem 组件 | 选项卡切换 )
  3. 《构建高可用Linux服务器》卓越网和互动网上架了
  4. ESX与ESXi管理员必备25个命令
  5. r语言随机森林回归预测_从零实现回归随机森林
  6. codeforce Pashmak and Buses(dfs枚举)
  7. 解题报告:hdu 1556 Color the ball(区间修改,单点查询)
  8. eclipse安装反编译工具
  9. 招生技巧----如何预约学生和家长 (一)
  10. nginx限制请求之一:(ngx_http_limit_conn_module)模块
  11. Elixir Meetup 相关不相关的一些感触
  12. 如何绕过强制门户——克隆 MAC 地址
  13. 斐讯M1,nodered打包显示在homekit
  14. 元旦贺卡html,元旦新年贺卡怎么做
  15. linux安全审计和加固工具-lynis
  16. 分布式事务之柔性事务
  17. 路径算法:遗传算法 (Genetic Algorithm, GA)
  18. 动物识别系统代码python_人工智能-动物识别专家系统算法Python + Pyqt 实现
  19. html日历页面节假日_html+css+js实现一个简易日历
  20. 干货 | LIDAR、ToF相机、双目相机如何科学选择?

热门文章

  1. CLion 的 Debug 模式是怎么回事
  2. 【论文阅读笔记】Multi-Task Feature Learning for Knowledge Graph Enhanced
  3. 工控流量分析题+wireshark学习
  4. (翻译)采用字母间距提高全大写文本可读性的方式
  5. geoserver之gs-kml、gs-wcs、gs-rest、gs-gwc、gs-sec-jdbc
  6. HBase-拆分合并
  7. :is()伪类选择器 :where()伪类选择器
  8. [css3] 小案例-扇子
  9. 离开华为换种生活,它不香吗?
  10. 【知识图谱】知识图谱概论,通读知识图谱相关概念