实战:最麻烦的群晖SHR+Btrfs阵列数据救援

开篇语

这篇文章与其说是教程,不如说是一次经验总结。

我并不是专业数据恢复人员,只是在互联网上搜索各类教程,然后尝试,最终获得了成功!

前前后后一共折腾了5天,有很多次都不想搞了,但我抱着一个信念:只要硬盘没坏,数据没被覆写,就一定能救回来!

这篇文章对EXT2/3/4、Btrfs、以及各种Linux阵列数据恢复都有一定参考价值。

希望能帮上你的忙!

情况介绍

NAS使用情况

六盘位蜜獾超存,DSM 6.2.2 二合一系统,按照下图配置,长期稳定使用。

实战:最麻烦的群晖SHR+Btrfs阵列数据救援

上图可见,蜜獾超存的6块硬盘为Basic+Basic+SHR形态。

其中,SHR阵列由2块希捷+2块西数组成,且四块硬盘生产时间各不相同。

(但这次坏的就是这个看似最稳的SHR,离谱!)

发现问题

7月13日下午,远程登陆系统,发现系统报警,提示阵列损毁。

实战:最麻烦的群晖SHR+Btrfs阵列数据救援

这块阵列本来是10.9TB,现在变成0B了,在系统内无法访问任何数据,但4块硬盘均显示0坏道。

这块阵列里存放着2年来的所有摄影资料和视频工程素材,部分重要的数据使用Cloud Sync工具同步到了DS220J机器和云盘上,其他数据虽然不是特别重要,但丢失了很麻烦!

注意:群晖提示硬盘损毁、数据丢失后,切勿进行任何的文件写入操作,包括删除存储池之类的,否则可能会覆盖数据,导致无法恢复!

实战救援一:重建阵列

查阅资料发现Windows+UFS Explorer Professional Recovery(下称UFS工具)可以读取群晖资源,说干就干。

转移:将涉事硬盘接驳到Windows设备上

如果你的NAS是白群,则要找一台有足够多空硬盘位的Windows设备,将相关的硬盘转移到那台机器上去。

较新的Windows台式机主板上一般都配备有4~6个SATA接口,准备好充足的SATA数据线以及大4pin转SATA供电线,将所有硬盘接驳到Windows设备上后,开始下一步工作。

黑群晖则不需要这一步,因为黑群晖可以直接运行Windows。

准备:Windows PE环境+UFS工具

需要一个U盘,8至16G足矣。

个人推荐使用Firpe,干净稳定,Github开源。

UFS Explorer Professional Recovery数据恢复www.golue.com/game/v598460.html

你要用别的PE也可以,或者去其他站点下载UFS工具也行,我只是提供个方便。

实战:最麻烦的群晖SHR+Btrfs阵列数据救援

将PE写入U盘,再把UFS工具拷贝到U盘,准备就完成了。

这一步很简单,打开下载的Firpe,在“选择设备”中找到你的U盘,点击“全新制作”就行。

开工:进PE,扫描数据

实战:最麻烦的群晖SHR+Btrfs阵列数据救援

不同机器设置U盘启动的方法各有不同,但大多都是按F10、Del、F12、F2之类的按键进入Bios,然后在引导菜单(Boot)中将第一引导设置为U盘。

如果不懂的,建议百度搜索“你的主板品牌+进Bios”,比如“华硕进Bios”,这一步也不麻烦,耐心找找即可。

实战:最麻烦的群晖SHR+Btrfs阵列数据救援

进入PE后,安装U盘里的UFS工具。

上图右侧是安装包,左侧是Patch破解包。先装安装包,一路勾选下一步就能完成安装。安装完成后不要打开软件,先进行Patch破解。

注意:Firpe的系统盘符是X盘,软件安装在默认目录即可,Patch程序手动定位到X:/Program Files/Data Recovery内就能找到UFS工具的exe并进行破解。打开软件也是到这个目录。

实战:最麻烦的群晖SHR+Btrfs阵列数据救援

打开软件后,不出意外在底部就会有你的阵列信息(如上图所示),右键选择Scan for Lost Data(扫描丢失数据),就会进入扫描界面。

这里要先选择硬盘格式,如NTFS、EXT、ZFS等,我们勾选好Btrfs后,点击“开始扫描”。

实战:最麻烦的群晖SHR+Btrfs阵列数据救援

7月13日23:20开始处理,系统提示需要扫描24小时,我们耐心等待。

实战:最麻烦的群晖SHR+Btrfs阵列数据救援

因为监视器屏幕太辣眼睛,我找了个HDMI采集卡,在笔记本电脑上使用OBS进行监看。

7月14日23:26分,发现已经走完了第一个“Searching for Lost Data”(寻找丢失数据)流程,软件自动开始了下一个流程,“Completing virtual file system”(重建虚拟文件系统),提示总共需要3小时。

实战:最麻烦的群晖SHR+Btrfs阵列数据救援

7月15日2:02,已完成重建。

实战救援二:拷贝数据

准备:Ubuntu系统

上一步是重建阵列,而这一步就要把数据从损坏的盘里拷出来了。

但UFS工具破解不完全,只能重建阵列,可以读取到所有的数据,但无法拷贝,提示受试用版权限限制

这时候,只能用到群晖官方的办法——使用Ubuntu系统!

准备一个性能比较好的U盘,并下载一个Ubuntu系统镜像,写入到U盘(使用balenaEtcher工具)

实战:最麻烦的群晖SHR+Btrfs阵列数据救援

选择镜像,选择U盘,点击刷入——三个按钮依次操作,就可以了。

写入完成后,从U盘启动(搞过winpe的你已经很熟这一招了)

实战:最麻烦的群晖SHR+Btrfs阵列数据救援

进入系统,选择试用Ubuntu就行!这是系统直接在u盘里运行的方式,不影响任何硬盘数据。

挂载:你的硬盘在哪里

进入系统后是不显示任何Btrfs硬盘的,如何操作呢?

按照官方的教程,打开“终端”进行操作。

请以此输入下方的代码。

Sudo -i(获取超级管理权限)
Apt-get update(升级软件仓库)
Apt-get install lvm2 mdadm -y(安装LVM2和mdadm软件)
Mdadm -Asf && Vgchange -ay(识别群晖磁盘和阵列并挂载,但此时你会发现只有单盘挂载了,SHR阵列并未显示出来)
↓↓下方内容不在群晖官方教程之中↓↓
在主目录中新建一个名为111的文件夹,回到“终端”
Lvscan(查看阵列的路径)
Mount /dev/vg1/volume_2 /home/ubuntu/111 -o ro(把阵列Volume2挂载到主目录的111文件夹里)
↑根据Lvscan结果来看Volume几
Sudo -s(获取指定SHELL)←其实这行我也不清楚具体作用,但就是要
Nautilus(打开超级权限文件管理器)
实战:最麻烦的群晖SHR+Btrfs阵列数据救援

现在,你可以选择把数据拷贝到群晖里的其他硬盘,或者USB的外置硬盘里啦!

实战:最麻烦的群晖SHR+Btrfs阵列数据救援

完成!

结束语

如果采用传统RAID+EXT4文件格式,只要进WinPE就能恢复。

采用了Btrfs,就必须要用到Ubuntu(或者其他Linux)了,不得不说麻烦多了!

建议大家使用群晖,斟酌好利弊,尽量用EXT4就行。

原创文章,作者:STEVE,如若转载,请注明出处:https://shinecloud.com.cn

(0)
上一篇 2022年 7月 31日 上午11:34
下一篇 2022年 10月 18日 下午10:51

相关推荐

  • PHP常量:Const和Define有什么区别?

    在初学PHP时,我对这两个函数有点迷糊,虽然知道如何使用,但不知道设计这两个有什么意义。 Const const是一种语言结构,最早只能用在类(class)内,PHP5.3之后可以用在类外,实现了通用。 Define define是一个函数...

    2022年 10月 19日
    88
  • PHP:数组变量的序列化和反序列化

    序列化和反序列化是PHP操作数据库、读写文件时常见的操作。 序列化,就是将PHP的变量转化为可保存的、可传输的字符串的过程; 反序列化,则是将(序列化的)字符串转化回变量。 比如,我们需要将某学生的个人信息写...

    2022年 10月 25日
    35
  • PHP类:成员、静态、常量的区别和选择

    PHP的类中,分为常量、静态、成员三类,初学者很容易搞混乱,笔者在学习之时也深感头疼,觉得不好理解。 分享一下学习的总结,如有错误之处敬请指正。 权限修饰符 权限修饰符用来声明变量的权限,共有三种。 public...

    2022年 10月 19日
    50
  • PHP:in_array()和array_search()的奇葩问题

    近期做项目,发现使用array_search出现的问题——搜索出错,元素分明有在数组中,但给出的结果是FALSE! 操作逻辑如下 从数据库中取出符合条件的字符串的用户id合集 使用foreach遍历这些对象 将对象中的字符串使用expl...

    2022年 11月 20日
    48
  • 基于JQuery的AJAX异步文件上传方法

    对于许多初学者而言,上传表单很容易,但上传文件就麻烦了。 这里给出一个简单的方法,供参考。 HTML部分 谨记:action可以留空,enctype要设为“multipart/form-data” Javascript部分 PHP部分 如果不出意外,你的前...

    2022年 11月 8日
    42

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注