您的位置 首页 > 娱乐休闲

QNAP 威联通磁盘分区探索与数据导出

QNAP 威联通磁盘分区探索与数据导出

之前晒了一单Qnap的TS-231,并且讲了我的一些基本偏好设置。这篇文档打算介绍一下Qnap的磁盘分区情况以及在NAS突然挂掉的情况,如何使用移动硬盘盒来紧急导出内容。

QNAP 威联通 TS-231 NAS存储 开箱及评测近些年家用NAS市场越来越火爆,选择也越来越多。相比于移动硬盘来说,NAS对于家庭中大容量的存储也更加实用,尤其是现在家里智能设备越来越多,智能电视的功能也越来越强... 9336698xelatex

(如果想看如何紧急恢复数据请直接跳转到第二章)

一、Qnap磁盘分区的探索

Qnap的磁盘分区采用的是md RAID+LVM2的两层组织结构,即使我使用的是Single模式分区也是一样的结构。我觉得这样是因为比较容易统一管理。我们打开TS-231的ssh登录上去就可以探索一下磁盘的分区情况。首先看一下磁盘分区信息(两块盘分别被识别为/dev/sda和/dev/sdb,两块盘的分区完全相同,这里只列出sda)

可以看到磁盘被分成了五个区,分别对应/dev/sda1、/dev/sda2、/dev/sda3、/dev/sda4、/dev/sda5,接下来看一下mount信息和RAID信息:

可以看到sda1和sdb1被做成了RAID1,挂载在/mnt/HDA_ROOT上;sda4和sdb4也被做成了RAID1,被挂载到了/mnt/ext上。这两个QTS系统运行时所有必备应用所在位置。通过上面的parted命令还可以看到这两个分区在RAID之上也是直接格式化成了ext3格式,如果搞坏了系统文件可以直接在RAID上挂载sda1和sda4就行了。

但是我们发现最关键的分区,/dev/sda3,并不是这么简单组织的,而这个分区中才真正存储的NAS中的数据,我们希望恢复的也是这个分区。通过上面mdstat中可以看到,sda3被做成了单盘的RAID1(其实就是没有做RAID),设备文件是md1。接下来看一下LVM2中的物理卷情况:

可以看到/dev/md1被做成了物理卷vg1,对应sdb3的md2被做成了物理卷vg2。OK接下来看一下逻辑卷的情况:

这里每个物理卷分别对应了两个逻辑卷,其中20G的那个逻辑卷是预留出来的,没有用。3.6TB的那个才是我们真正需要的,也就是图中ACTIVE的两个vg1/lv1和vg2/lv2。这两个逻辑卷就是被格式化成ext4格式,可以直接挂载到某个文件夹上。

细心的值友可能发现,上面mount'信息中mount到/share/CACHEDEV1_DATA上的并不是/dev/vg1/lv1,而是/dev/mapper/cachedev1。这是因为在逻辑卷之上Qnap为了提高性能又加了一层flashcache,可以通过dmsetup命令看到flashcache的状况。

可以看到cachedev1就是/dev/mapper/vg1-lv1的flashcache,而/dev/vg1/lv1是/dev/mapper/vg1-lv1的符号链接。

所以总结来说,我们如果通过Linux自己挂载磁盘分区的化,需要先挂载好RAID,然后再挂载LVM逻辑卷。不过幸好目前很多Linux的发行版(比如我用的是Ubuntu 14.04)可以支持自动挂载,大家只要准备好环境即可。

二、把硬盘装进硬盘盒

首先得有一个能够把硬盘连到USB的设备。我这里选择的是SSK的一个USB 3.0的硬盘盒,就是下面这个:

只需要把硬盘的sata结构对准硬盘盒托架上的sata接口插好,然后在北面用硬盘盒自带的螺丝(一共4个)固定好即可。注意3.5寸的硬盘需要硬盘盒带供电接口,单纯依靠USB口的供电一般是带不起来3.5寸的硬盘的。

安装好之后连上数据线插到PC的USB接口上就行了。

三、在Linux环境下挂载数据分区

上文提到Ubuntu可以支持自动挂载分区,唯一需要做的是准备好RAID和LVM2相关的软件包。打开Terminal执行以下命令:

sudo apt-get install lvm2 mdadm

在Ubuntu下如果想自动挂载分区需要执行玩上述命令安装好RAID和LVM2支持之后再插上USB。一般情况下系统可以自动识别该硬盘的情况并将数据分区自动挂载好,如图所示:

挂载好之后会在桌面上有一个DataVol2,里面就是我们需要的数据了。

如果在一个没有自动挂载的Linux下,或者是自动挂载出了一些问题,那么还可以使用手动挂载的方式。采用手动挂载的方式之前,首先要能够获得root权限(如何获得root权限请百度):

首先看一下设备情况,执行指令:

mdadm --examine --scan /dev/sdc3

我的电脑识别的是/dev/sdc,大家需要确定到底是sda3、sdb3还是sdc3,也有可能是sdd3,总之就是都试一下,直到某个盘能够识别出RAID来打印出上述信息为止,那块盘就是我们需要的数据盘。

之后执行指令:

mdadm -A --verbose --run /dev/md100 /dev/sdc3

执行之后,就可以执行 cat /proc/mdstat看到我们准备好的RAID了。

执行:lvdisplay 命令,可以看到目前已经准备好的逻辑卷。由于我拆下来的是第二块盘,所以识别的物理卷是vg2,逻辑卷是lv2,如图:

然后执行指令:

mkdir /mnt/nas_tmp

mount /dev/vg2/lv2 /mnt/nas_tmp

之后,就可以在/mnt/nas_tmp文件夹中看到所有的数据了。我使用rsync拷贝了下数据,在我破电脑USB 2.0接口上最快只有30MB/s的速度,使用USB 3.0的化会更快一些。

上面就是用Linux挂载Qnap NAS磁盘的全过程。此外需要注意上述过程只适用于Single或者RAID1的方式,不适合其它RAID。

四、在Windows环境下挂载数据分区

在Windows下也可以挂载数据分区并且读出文件,唯一的差别是在Windows下并不方便向磁盘写文件,并且需要第三方的软件支持。

首先,需要下载DiskInternals Linux Reader,官方下载页面:链接

其次,需要将硬盘盒的USB接口插到Windows电脑上。这是Windows会识别出五块硬盘,但是分区格式都不能识别出来,所以会出现格式化的提示,此时一定要点取消!!!

之后打开Linux Reader软件,该软件会识别出各种格式的分区,如下图所示:

可以看到第一排第二个大小为3696GB,名为DataVol2的就是我们需要的数据分区。点击左边栏第二个DataVol2,即可进入到其中:

之后选择你需要读出来的数据,先点击左键选择,再点击右键选择保存即可。

然后遵循引导的流程将数据保存在本机的位置就可以了。

以上介绍了如何用硬盘盒在Linux和Windows上导出Qnap NAS磁盘中的数据。目前我还没有找到在Mac上导出磁盘数据的方式,所以Mac用户可以运行一个虚拟机虚拟Linux或者Windows环境来做这件事情。上述Windows环境下的测试就是在Mac上PD10虚拟出来的Win 7下面进行测试的。

最后还是希望大家永远都不需要我上面介绍的这些恢复手段

谢谢观看。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何格式化成ext4”边界阅读