公司用了多年的TS-651 坏了,修了没跑几天又坏(深圳市南山赛格新联创电脑经营部 👎 ),
最开始搜索qnap 硬盘导出
,首先看到smzdm的帖子:
Qnap的磁盘分区采用的是md RAID+LVM2的两层组织结构,即使我使用的是Single模式分区也是一样的结构。
看起来有戏,尝试一下数据导出,主要参考这篇文章Data Recovery from Failed QNAP RAID 1 on a PC using Linux
注意:在QNAP 官网数据迁移兼容性检查工具中,ARM 和x86 的系统是不能互相迁移的,那可能意味着ARM 的磁盘,在x86 的服务器上是不是也不能导出 🤔?
风险提示:硬盘有价,数据无价,以下仅代表个人情况。
公司的磁盘是2块盘,做了RAID1,那么单独一块盘完全是镜像,先拿一块盘做下实验,搞坏的话,还剩余一个再搞个QNAP(QuTScloud) 也能读出来。
同事帮忙弄了一台Dell R430,装了个CentOS7,带的阵列卡是PERC H730 Mini
。
系统盘在Slot0,Qnap 拆下的磁盘在Slot1,先安装megacli。题外话,上次帮同学折腾才发现新的卡已经要用storcli64
了。
环境准备:安装lvm2
,mdadm
插入磁盘,再将对应slot 磁盘设置为JBOD
:
./MegaCli64 -PDMakeJBOD -PhysDrv[32:1] -a0
fdisk 能看到设备了:
Disk /dev/sdb: 8001.6 GB, 8001563222016 bytes, 15628053168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: gpt
Disk identifier: FDF2182D-83DC-47B6-8B39-01ECAF78BCEC
# Start End Size Type Name
1 40 1060289 517.7M Microsoft basic primary
2 1060296 2120579 517.7M Microsoft basic primary
3 2120584 15610264109 7.3T Microsoft basic primary
4 15610264112 15611324399 517.7M Microsoft basic primary
5 15611324408 15628031999 8G Microsoft basic primary
扫描一下:
mdadm --examine --scan
cat /proc/mdstat
md123 : inactive sdb4[27](S)
530128 blocks super 1.0
md124 : inactive sdb5[0](S)
8353780 blocks super 1.0
md125 : inactive sdb3[0]
7804071616 blocks super 1.0
md126 : inactive sdb1[27](S)
530108 blocks super 1.0
md127 : inactive sdb2[2](S)
530124 blocks super 1.0
数据在sdb3/md125。参考smzdm那个教程,执行
mdadm -A --verbose --run ...
记得有个error,提示设备在使用中,还是什么错误(后台在自动挂载了?),手工stop 一下,再挂载就好了:
mdadm --stop /dev/md125
mdadm --run /dev/md125
这个时候再cat /proc/mdstat
能看到active
了。
Personalities : [raid1]
md125 : active raid1 sdb3[0]
7804071616 blocks super 1.0 [2/1] [U_]
接着执行pvdisplay
,但是我并未看到/dev/md125
这个PV,
搜了下,需要执行pvscan --cache
(Updates the runtime state for all lvm devices):
--- Physical volume ---
PV Name /dev/md125
VG Name vg289
PV Size <7.27 TiB / not usable 1.65 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 1905290
Free PE 0
Allocated PE 1905290
PV UUID hkvib9-WQfS-iyOu-b2U9-1LNa-5I2e-O2Vjwb
lvscan 看下:
inactive '/dev/vg289/lv546' [74.42 GiB] inherit
inactive '/dev/vg289/lv3' [<7.20 TiB] inherit
这个时候尝试去挂载/dev/vg289/lv3
发现设备不存在,需要再执行下:
lvchange -ay /dev/vg289/lv3
再mount
就可以了,备份完数据后,卸载的话按 ripcaster 教程文末脚本。
LUKS 加密盘的挂载前面步骤一样,增加一个解密过程: 参考 mount-qnap-encrypted-volume, 文中 storage_util 那个工具是qnap 专有的,可以用openssl 代替:
openssl passwd -1 -salt YCCaQNAP '密码'