抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

记一次树莓派自建 NAS 外置硬盘损坏补救措施

自建树莓派运行五年后,挂在它身上的那块八年前的移动硬盘也到头了。

基础信息

Ubuntu server 20.04 + WD my passport 机械硬盘(ext4)

问题察觉:

自建 samba 开始出现文件读取错误,读写明显缓慢,此外,Mac TimeMachine 备份任务开始失败。

补救措施:

在盘子还可以访问时,不要继续进行读写,不要用什么 PE DG 等 win 类软件进行坏道处理,减少断电次数,硬盘放置平稳,避免频繁异响,否则会加速损坏。

挽救步骤

卸载硬盘

停止一切对该盘的读写服务,需留意 docker 中的服务,使用 df -T 可以查看硬盘挂载点,然后 umount 卸载硬盘。卸载提示 target is busy 时:

使用 fuser -mv /mountpoint 查看占用端口,使用 fuser -kv /mountpoint 干掉进程后,再次查看是否还存在无法杀死进程,有则手动处理,直到卸载。

查看硬盘分区位并尝试恢复

命令 fdisk -l 可以清晰的列出盘以及对应分区。然后使用 fsck 对最重要的数据进行处理,因为机会只有一两次,处理次数越多越无可救药。例:fsck /dev/sdb1,处理完后进行挂载。

拷贝数据

将处理完的那个分区数据中重要的内容尽早拷贝,不要企图找回全部,可能有部分文件已损坏或丢失,硬件错误软件无法处理。

有文件缺失对比需求可使用 tree 命令生成一份文件列表,此时数据虽不可读,但文件列表可生成。

硬盘健康状态查看

应当养成经常查看 SMART 状态的习惯,例:smartctl -H /dev/sda , smartctl 属于 smartmontools 库,自行安装。- A 则可得硬盘 16 项 SMART 属性信息。

➜  ~ smartctl -H /dev/sda
smartctl 7.1 2019-12-30 r5022 [aarch64-linux-5.4.0-1111-raspi] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

需留意该结果是否为 PASSED 。

其他

Syncthing

对于丢失硬盘的 sync 同步任务,应当尽早配置相关目录为 仅接收 ,数据最全端则应配置 仅发送,不然在更换硬盘后会将其他设备中内容同步清除。因为新盘为空,此时 Syncthing 会认为处于最新状态。

TimeMachine

此次损坏猜测为 TimeMachine 任务导致硬盘写的次数达到极值,后续考虑适当减少备份频次,之前粒度为 小时 现在改为

如果早做过调研,不至于走太多弯路。

以上。


本站由以下主机服务商提供服务支持:

0条评论

发表评论