群晖NAS硬盘通过USB外接进行数据拷贝完整指南(含RAID/LVM处理)
NAS急救 数据恢复 实战经验
📌 前言
当群晖NAS中的硬盘出现故障或需要更换时,我们往往需要将旧硬盘中的数据安全地拷贝出来。本文以一台DS218Play为例,详细记录了将一块16TB的故障硬盘通过USB硬盘盒连接到NAS,手动组装RAID、激活LVM并最终使用rsync后台拷贝数据的全过程。此方法适用于硬盘为Basic模式、数据分区包含Linux RAID元数据且使用了LVM的场景。
一、准备工作
1.1 硬件连接
- 将目标16TB故障硬盘装入USB硬盘盒,连接到NAS的USB接口。
- 将另一块接收数据的移动硬盘(目标盘)也连接到NAS(本文示例为1TB NTFS格式)。
1.2 开启NAS SSH并登录
在DSM中启用SSH:控制面板 → 终端机和SNMP → 终端机 → 启动SSH功能。
使用SSH客户端(如Terminal、PuTTY)登录NAS:
ssh admin@你的NAS_IP -p 端口号
输入密码后,切换到root用户(如果需要):
sudo -i
1.3 安装必要工具(如果缺失)
群晖系统通常自带mdadm和lvm2,但部分版本可能没有。可以通过Entware安装:
# 如果未安装Entware,先安装(适用于ARMv8架构)
wget -O - https://bin.entware.net/aarch64-k3.10/installer/generic.sh | /bin/sh
export PATH="/opt/bin:/opt/sbin:$PATH"
opkg update
opkg install lvm2 mdadm rsync
注意:如果你的NAS已自带这些命令(可通过which mdadm查看),则可跳过此步。
二、识别硬盘设备
执行fdisk -l列出所有磁盘,根据容量找到16TB硬盘(本文为/dev/sdr)和目标盘(/dev/sdq):
fdisk -l
输出片段:
Disk /dev/sdr: 14.6 TiB, 16000900661248 bytes, 31251759104 sectors
...
Device Start End Sectors Size Type
/dev/sdr3 21241856 31251554303 31230312448 14.6T Linux RAID
Disk /dev/sdq: 931.5 GiB, 1000170586112 bytes, 1953458176 sectors
...
/dev/sdq1 2048 1953458175 1953456128 931.5G 7 HPFS/NTFS/exFAT
三、处理RAID元数据
群晖Basic模式硬盘的数据分区(如/dev/sdr3)带有Linux RAID元数据,必须先用mdadm组装为RAID设备。
3.1 查看当前RAID状态
cat /proc/mdstat
此时可能只有系统自带的RAID(如md0、md1、md3),没有16T硬盘的。
3.2 手动组装RAID设备
选择一个未被占用的md编号(例如md9):
/sbin/mdadm --assemble --run /dev/md9 /dev/sdr3
成功后会显示:
mdadm: /dev/md9 has been started with 1 drive.
再次查看/proc/mdstat,确认新增了md9设备:
md9 : active raid1 sdr3[0]
15615155200 blocks super 1.2 [1/1] [U]
四、激活LVM并挂载数据卷
4.1 扫描并激活卷组
vgscan
vgchange -ay
输出示例:
Found volume group "vg2" using metadata type lvm2
2 logical volume(s) in volume group "vg2" now active
4.2 查看逻辑卷
lvdisplay
找到数据卷(大小约14.5T),本文为/dev/vg2/volume_3。
4.3 创建挂载点并挂载(只读模式)
mkdir -p /volumeUSB1/syno_16t
mount -o ro /dev/vg2/volume_3 /volumeUSB1/syno_16t
4.4 验证挂载
ls /volumeUSB1/syno_16t
应该能看到你的共享文件夹(如photo、homes等)。
五、挂载目标硬盘
目标盘/dev/sdq1为NTFS格式,系统已自动挂载到/volumeUSB1/usbshare(可通过df -h查看):
df -h
输出:
/dev/sdq1 932G 128M 932G 1% /volumeUSB1/usbshare
如果未自动挂载,可手动挂载:
mkdir -p /volumeUSB1/target
mount -t ntfs /dev/sdq1 /volumeUSB1/target
六、使用rsync后台拷贝数据
为确保SSH窗口关闭后拷贝仍在继续,使用nohup将rsync放入后台运行,并将输出保存到日志文件。
6.1 启动拷贝命令
nohup rsync -avP --exclude="@sharesnap" --exclude="@database" /volumeUSB1/syno_16t/ /volumeUSB1/usbshare/syno_backup/ > /volumeUSB1/usbshare/rsync.log 2>&1 &
命令解释:
- -a:归档模式,保留权限、时间戳等。
- -v:显示详细信息。
- -P:显示进度并支持断点续传(中断后重新运行可继续)。
- --exclude:排除群晖系统文件夹,只备份个人数据。
- > /volumeUSB1/usbshare/rsync.log:将标准输出重定向到日志文件。
- 2>&1:将错误输出也重定向到同一日志文件。
- &:将命令放入后台执行。
执行后会显示一个进程ID(PID),表示任务已开始。
6.2 查看拷贝进度
重新SSH登录后,使用tail实时查看日志:
tail -f /volumeUSB1/usbshare/rsync.log
按Ctrl+C退出查看。
6.3 监控后台任务
如果想确认rsync是否仍在运行:
ps aux | grep rsync
七、注意事项
- 只读挂载:务必使用
-o ro挂载源盘,防止写入加重硬盘损坏。 - 供电稳定:3.5英寸大容量硬盘必须使用带独立电源的USB硬盘盒,避免拷贝中断。
- 断点续传:
rsync -P支持中断后继续,即使拷贝中断,重新运行相同命令即可。 - 坏道处理:如果遇到
输入/输出错误,说明硬盘坏道区域被触及,rsync会跳过该文件并继续后续任务,这是目前最好的结果。 - 目标盘格式:NTFS格式可直接在Windows下读取,方便后续使用。
八、结语
通过以上步骤,你可以将群晖NAS中有故障的硬盘通过USB外接方式,安全、稳定地将数据拷贝到另一块健康硬盘中。整个过程利用了Linux强大的软RAID和LVM管理能力,以及rsync的断点续传特性,即使硬盘存在物理坏道,也能最大限度地抢救数据。希望本文能帮助遇到类似问题的朋友们。
—— 全文完 ——
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐




所有评论(0)