Unix下zfs文件系统重组RAID-5恢复方法

存储做的RAID-5, SCSI硬盘,操作系统是FreeBSD,文件系统是zfs。

本案例共有12块硬盘,11块硬盘里有数据,1块硬盘是热备盘。其中第6块数据硬盘出现故障,重组时需要将其剔除。

物理盘:

物理盘是指创建RAID所用的每块独立的物理硬盘,组建RAID后,它们叫做RAID的成员盘。

去RAID化:

出现故障后,把物理盘从服务器的槽位上取下来进行检测和分析。离开了服务器的槽位,也就离开了RAID控制器,这些硬盘就称为被“去RAID化”了。

1 分析步骤

主要内容:

·初步判断RAID-5起始扇区

·块大小(条带大小)分析

·RAID-5成员盘盘序

·校验方向

·数据走向

1.1 初步判断RAID-5起始扇区

RAID起始扇区是指RAID内的数据在每块物理盘(创建RAID所用的每块独立的物理硬盘)上的起始位置。起始扇区只存在于一块物理盘,大多数情况是0扇区。找到起始扇区是第一步。本实例是用12块硬盘组成的RAID-5,第6块硬盘出现故障。恢复实例中,我们用WinHex将11块有数据的硬盘去RAID化。如图1所示。

图1

用WinHex的同步功能将11块盘定位在0扇区,可以看到11块盘中只有3块盘的0扇区有“55 AA”标志,分别是1,2,6号硬盘,如图2所示。有这个标志说明是MBR磁盘结构。

图2

接下来分析哪个硬盘是起始扇区。我们先来看第6块硬盘。第6块硬盘的结尾显示这是一个GPT头备份并且只有128MB大小。如图3所示。

图3

剩下的1号磁盘和2号磁盘中0扇区有起始扇区或校验。这是初步判断起始扇区。

1.2 块大小(条带大小)分析

条带也称块,它是RAID处理数据的基本单元,不同的RAID条带大小有所不同。分析条带大小的方法有很多,一个校验区的大小是一个条带的大小,根据这一点,我们针对这个RAID-5实例做分析。此实例使用的是zfs文件系统,用WinHex同步显示11块物理盘的某个扇区,比如53654656扇区,发现此扇区只有1号盘跟其他盘显示的不一样,这是位于1号盘的校验区。顺着1号盘53654656扇区上下寻找,找到连续的128个扇区。这128个扇区就是这个RAID-5的条带大小。由此条带大小定位结束。

1.3 RAID-5成员盘盘序

以上内容说的1号盘指的不是RAID的第一个盘,也就是说物理盘的顺序并不一定是RAID的顺序,需要人工校验。用WinHex同步定位11块硬盘的53654656扇区。发现1号盘与其他盘不同,这个是1号盘的校验区。接着分析1号盘的下一个条带,即53654656+128=53654784扇区,得出2号盘跟其他盘不同,所以2号盘从53654784扇区开始的条带是校验区。以此方式继续下去,接着是3号盘的校验区,4号盘的校验区……得出的校验区如图4所示,“P”字母即表示校验区。我们按照校验区的位置,即可得到盘序,而这个实例的盘序正好是从1号盘开始依次递增的。盘序我们已经得出,又因分析步骤1得出1号盘和2号盘的0扇区为起始扇区或为校验区。对于左结构来说,0扇区是起始扇区的物理盘一定是RAID-5的1号盘,对于右结构来说,0扇区是起始扇区的物理盘一定是RAID-5的2号盘。

图4

1.4 校验方向

RAID-5的基本结构有左同步、左异步、右同步、右异步。左和右是对校验方向来说的,区别如表1和表2所示。我们做的RAID-5实例很明显是右走向的。

表1

我们由上文校验区的走向得出整个RAID-5的校验方向,即右方向,如图4所示。左同步、左异步结构中的校验块都是从最后一块物理盘开始,右同步、右异步结构中的校验快都是从第一块物理盘开始。

判断校验方向的方法有两种,一种是先分析起始扇区,再分析条带大小,然后是盘序,盘序分析后校验方向很容易就看出来了。另一种,如果盘序没有确定下来,只确定了起始扇区和条带大小,可以采用反推法。使用反推法分析,在盘序还没有确定下来的情况下,有这个校验区可以算出某个盘中第一个校验区是第几个条带。具体方法如下找到某个校验区,比如3号盘的53654912扇区,用这个扇区对条带大小与盘数的乘积取余。即53654912MOD(128*12)=256。计算的结果等于256,表示256号扇区是校验。而位于此扇区的3号盘处于第3个条带,并且是第3个条带的开始扇区,包括256号扇区在内的以后的128个扇区是3号盘的第一个校验区。接着判断1号盘下一个条带,1号盘下一个条带显示3号盘是校验区。接着判断3号盘下一个条带,3号盘下一个条带显示3号盘是校验区。由此校验方向也能得出来。

1.5 数据走向

同步异步说的是数据的走向。异步结构中,各条带组内的数据块均由低号盘向高号盘依次写入。同步结构中,每个条带组内第一个数据块写在校验块所在物理盘的下一个物理盘,若后面还有物理盘,则顺序往后写,若校验块所在物理盘后没有物理盘,则从校验块所在物理盘前面的物理盘开始从低号盘向高号盘顺序写入。

表2

以下是RAID-5实例分析过程(已确定此RAID-5是右结构)。

·从“数据块A”入手。如图5所示。

图5

首先查看“数据块A”末尾扇区的数据,然后再查看“数据块B”和“数据块C”开始扇区的数据。如果“数据块A” 末尾扇区的数据能够与“数据块B” 开始扇区的数据衔接,则该RAID-5属于异步结构。如果“数据块A” 末尾扇区的数据能够与“数据块C” 开始扇区的数据衔接,则该RAID-5属于同步结构。

·从“数据块A”入手。如图6所示。

图6

首先查看“数据块A”末尾扇区的数据,然后再查看“数据块B”和“数据块C”开始扇区的数据。如果“数据块A” 末尾扇区的数据能够与“数据块B” 开始扇区的数据衔接,则该RAID-5属于异步结构。如果“数据块A” 末尾扇区的数据能够与“数据块C” 开始扇区的数据衔接,则该RAID-5属于同步结构。

·从“数据块A”入手。如图7所示。

图7

首先查看“数据块A”末尾扇区的数据,然后再查看“数据块B”和“数据块C”开始扇区的数据。如果“数据块A” 末尾扇区的数据能够与“数据块B” 开始扇区的数据衔接,则该RAID-5属于同步结构。如果“数据块A” 末尾扇区的数据能够与“数据块C” 开始扇区的数据衔接,则该RAID-5属于异步结构。

·从“数据块A”入手。如图8所示。

图8

首先查看“数据块A”末尾扇区的数据,然后再查看“数据块B”和“数据块C”开始扇区的数据。如果“数据块A” 末尾扇区的数据能够与“数据块B” 开始扇区的数据衔接,则该RAID-5属于异步结构。如果“数据块A” 末尾扇区的数据能够与“数据块C” 开始扇区的数据衔接,则该RAID-5属于同步结构。

2 重组RAID-5

上面内容我们已经解析出RAID-5的一些重要信息,根据这些信息,我们就可以重组RAID-5了。下面我们用UFS Explorer工具打开并添加这11块硬盘。如图9所示。

图9

将1.dsk添加到了左侧Connected storages里,如图10所示。

图10

把RAID-5的10块盘都添加进去。点击Build RAID选项,依照RAID-5的盘序把10块盘都添加进去,开始组建RAID-5,如图11所示。

图11

第6块盘因为出现故障,所有要剔除,并在其位置添加时补一个空缺,并继续顺序添加完其它硬盘。如图12所示,点击标红框位置处的按钮,添加空缺硬盘。

图12

接着选择校验方向和数据走向,本实例条带大小为28个扇区,即65KB,右异步结构。因此设置如图13所示。

图13

接着点击Build按钮,出现如图14所示。点击find查找,选择zfs文件系统。

图14

出现了如图15所示的正在组建的RAID-5。

图15

时间: 2024-08-14 19:58:49

Unix下zfs文件系统重组RAID-5恢复方法的相关文章

Unix下zfs文件系统重组RAID-5后可以这样恢复

存储做的RAID-5, SCSI硬盘,操作系统是FreeBSD,文件系统是zfs.本案例共有12块硬盘,11块硬盘里有数据,1块硬盘是热备盘.其中第6块数据硬盘出现故障,重组时需要将其剔除. 物理盘: 物理盘是指创建RAID所用的每块独立的物理硬盘,组建RAID后,它们叫做RAID的成员盘.去RAID化: 出现故障后,把物理盘从服务器的槽位上取下来进行检测和分析.离开了服务器的槽位,也就离开了RAID控制器,这些硬盘就称为被"去RAID化"了.1 分析步骤主要内容: ·初步判断RAID

linux下rm -r误删NTFS文件恢复方法

linux下rm -r误删NTFS文件恢复方法(nfs-3g) 一时疏忽,手一抖,把整个挂载的F盘删了一半!顿时傻眼!! 被删的F盘是Windows下NTFS分区,在Ubuntu12.04中挂载了F盘,使用rm命令时粗心大意,误删了一半的数据. 血的教训告诉我们,使用rm -r命令一定要带上-i,否则让你后悔莫及! 还好在Linux下有一种方法可以恢复被删除的NTFS分区文件. 本文地址:http://www.cnblogs.com/yhLinux/p/4106099.html 在文件被误删后,

Linux 平台下 误删 oracle 数据文件的恢复方法

1  问题描述 之前写过一篇删除oracle home目录的blog,参考: Linux 平台误删 home oracle 根目录的解决方法 http://blog.csdn.net/tianlesoftware/article/details/43794273 本篇是这边的引深,本来应该是年前整理的,拖到年后了. 模拟现状: 数据库在正常运行,误操作,直接rm 掉了数据文件. 测试环境: [[email protected] trace]$ cat /etc/redhat-release Re

【Oracle】数据库运行状态下物理删除所有redo日志恢复方法

实验环境: OEL5.6  Oracle11.2.0.1 实验开始: 数据库运行状态,删除所有日志: [[email protected] TEST]$ ls control01.ctl  redo01.log  sysaux01.dbf  undotbs01.dbf data_ol01.dbf  redo02.log  system01.dbf  users01.dbf example01.dbf  redo03.log  temp01.dbf [[email protected] TEST]

遇到ZFS文件系统如此棘手的问题,这种办法简单又高效!

一.ZFS文件系统ZFS是一款128bit文件系统,总容量是现有64bit文件系统的1.84x10^19倍,其支持的单个存储卷容量达到16EiB(2^64byte,即 16x1024x1024TB):一个zpool存储池可以拥有2^64个卷,总容量最大256ZiB(2^78byte):整个系统又可以拥有2^64个存储 池.可以说在相当长的未来时间内,ZFS几乎不太可能出现存储空间不足的问题.另外,它还拥有自优化,自动校验数据完整性,存储池/卷系统易管理等诸多优点.较ext3系统有较大运行速率,提

光纤存储重组raid磁盘阵列和raid数据恢复成功案例

今天我给大家分享的是一篇关于raid磁盘阵列数据恢复的案例,本案例中包含了对磁盘阵列的修复和重组过程,raid数据恢复中的方法比较通用,希望在数据恢复方面对大家有所帮助. Raid阵列情况介绍: 需要进行数据恢复的阵列搭建在一台某品牌的S5020型号光纤存储上.这个磁盘阵列中一共包含了14块硬盘,其中10号硬盘和13号硬盘出现了故障警报,卷也无法挂载,存储无法继续工作,需要对存储进行数据恢复并修复其中的数据库. 开始恢复raid磁盘阵列: 通过storage manager连接这台存储设备进行查

NTFS文件系统误删除数据的恢复教程

NTFS文件系统是目前市面上使用比较广泛的一个文件系统格式,该文件系统提供了数据保护和恢复功能,拥有更强的安全性,基本上取代了老式的FAT文件系统.由于NTFS文件系统的安全性更像,许多公司的服务器采用这一文件系统.对NTFS文件系统了解的朋友们知道,在该文件系统下重新格式化理论上是不会对数据造成太大影响的,但也有可能出现部分文件目录结构丢失的情况.下面小编就给大家介绍一下NTFS文件系统下的服务器设备由于误操作导致阵列中的分区被格式化时怎么进行逆向操作恢复服务器数据.· 第一步.备份数据 数据

构建软RAID5磁盘阵列&RAID设备恢复

构建软RAID5磁盘阵列&RAID设备恢复 需求描述 为Linux服务器添加4块SCSI硬盘 使用mdadm软件包,构建RAID5磁盘阵列,提高磁盘存储的性能和可靠性 安装mdadm 准备用于RAID阵列的分区 -- 为Linux服务器添加4块SCSI硬盘,并使用fdisk工具个划分出一块2GB的分区依次为:/dev/sde1./dev/sdg1./dev/sdh1./dev/sdf1 -- 将其类型ID更改为"fd",对应为"Linux raid autodetec

北京EMC存储崩溃raid离线恢复数据方法

[Raid数据恢复概述]北京某企业一台EMC FC AX-4存储由于存储上的RAID5阵列故障导致存储瘫痪,急需进行raid数据恢复.这台存储中搭建了一组12块硬盘的raid5磁盘阵列,阵列中包括有2块热备盘.由于raid阵列中出现两块硬盘离线,但热备盘中有一块未成功激活,raid真累瘫痪,上层LUN无法正常使用,存储崩溃,数据丢失,客户要求上门对raid阵列进行数据恢复. [Raid5硬盘检测过程]由于硬盘离线原因未知,首先由硬盘工程师对raid阵列中的所有硬盘进行物理检测(包括掉线盘和正常磁