# 前世
一直在我的树莓派4B上运行Raspberry OS+Aria2作下载机。
万万没想到,电子产品最大的天敌是妈妈,在一次空调漏水紧急维修行动中,妈妈直接拔掉了插着树莓派的插线板——系统盘损坏。
至此,树莓派的前生告终。
# 今生
既有前车之鉴,我随即斥巨资120元在某宝购入微雪UPS-HAT,防止断电造成文件系统故障。
Sundaytimes by Rob Murray 我本以为已经高枕无忧,没想到,未及半月,树莓派再一次宕机。
下午4点,我像往常一样打开Aria2NG,添加一个70GB的电影下载链接,报错。对着失败的下载任务呆了几秒钟,心里奇怪,却也没想太多。再次添加任务,依旧显示红色叉号。疑心加重,运行df -h
,发现下载目录所在分区已经不在挂载状态。
有些慌张,但本着一个资深Linux用户的自信,我重新sudo mount -a
尝试利用fstab
挂载硬盘。系统提示无法挂载。心一横,关机重启。
没想到这是我最后一次见到我的硬盘。
共事两年有余的希捷硬盘再插入ORICO硬盘盒,连接树莓派,运行lsblk
已经不见踪迹。又周折几番利用SATA在台式电脑上尝试访问,却只读得一个3.7GB的分区,运行fdisk
、xfs_repair
等等,均报一个漠然的Input/Output Error
。
至此,树莓派的今生落幕。
# 后身
心灰意冷之余,心想或许看看日志,便可知究竟是臭名远扬的ORICO硬盘盒出了问题,还是Aria2的falloc
文件分配方式犯了忌讳。
没想到,运行journalctl -b-1
报错。
Specifying boot ID or boot offset has no effect, no persistent journal was found.
原来journalctl
的默认设置是Storage=auto
(/etc/systemd/journald.conf
),也就是说,存储在/run/log/journal/<machine-id>/*.journal[~]
的日志在重启后就会被删除。如果要使journald存储上次开机的日志,就必须将Storage
设置为persistent
,或者在Storage=auto
的条件下手工创建/var/log/journal/
。
既然journald的日志已经丢失,那么就只好人工查看/var/log/
下的日志文件了。
pi@dottypi:/var/log $ ls
alternatives.log daemon.log.2.gz kern.log.2.gz syslog.3.gz
alternatives.log.1 daemon.log.3.gz kern.log.3.gz syslog.4.gz
apt daemon.log.4.gz kern.log.4.gz syslog.5.gz
auth.log debug lastlog syslog.6.gz
auth.log.1 debug.1 lightdm syslog.7.gz
auth.log.2.gz debug.2.gz messages unattended-upgrades
auth.log.3.gz debug.3.gz messages.1 user.log
auth.log.4.gz debug.4.gz messages.2.gz user.log.1
boot.log dpkg.log messages.3.gz user.log.2.gz
bootstrap.log dpkg.log.1 messages.4.gz user.log.3.gz
btmp faillog private vncserver-x11.log
btmp.1 fontconfig.log samba vncserver-x11.log.bak
cups hp syslog wtmp
daemon.log kern.log syslog.1 Xorg.0.log
daemon.log.1 kern.log.1 syslog.2.gz Xorg.0.log.old
对我有用的是内核日志kern
以及系统日志syslog
。从syslog.7.gz
中的aria2c
日志中看出,我下午下载电影时出错如下:
Aug 26 16:01:14 dottypi aria2c[498]: 08/26 16:01:14 [#033[1;32mNOTICE#033[0m] 下载已完成:[MEMORY][METADATA]Almost.Famous.2000.EXTENDED.2160p.BluRay.REMUX.HEVC.DTS-HD.MA.5.1-FGT
Aug 26 16:01:14 dottypi aria2c[498]: 08/26 16:01:14 [#033[1;31mERROR#033[0m] 捕捉到异常
Aug 26 16:01:14 dottypi aria2c[498]: Exception: [AbstractDiskWriter.cc:224] errNum=5 errorCode=15 打开文件 /mnt/Videos/Downloads/Almost.Famous.2000.EXTENDED.2160p.BluRay.REMUX.HEVC.DTS-HD.MA.5.1-FGT/Almost.Famous.2000.EXTENDED.2160p.BluRay.REMUX.HEVC.DTS-HD.MA.5.1-FGT.mkv 失败,原因:输入/输出错误
Aug 26 16:01:14 dottypi aria2c[498]: 08/26 16:01:14 [#033[1;32mNOTICE#033[0m] GID 为 437ddbc0a6eb7f5a 的下载项未完成:/mnt/Videos/Downloads/Almost.Famous.2000.EXTENDED.2160p.BluRay.REMUX.HEVC.DTS-HD.MA.5.1-FGT
但事实上,四点附近没有硬盘报错消息。参看syslog.1
发现,早上9点时,硬盘就已经出现问题。
根据日志,似乎事情发生的顺序是:
硬盘出现坏块;
USB Attached SCSI系统尝试reset解决问题,但遭遇失败,随即USB连接断开。
XFS系统出现日志错误,尝试强制关闭并通过systemd卸载硬盘,但同样失败。
但至于是哪一步使得硬盘最终无法读写,不得而知。
# 四世
如果说,树莓派此番,是由前世、今生、后身三者归一,但不妨将眼眸从事物本身拿开一些,事物只有过去的我、现在的我与未来的我吗?我想或许并不一定。
“我”仅仅是“我”,树莓派仅仅知道它自己身上发生了什么,或者更多地,它或许会知道它周边的世界发生了什么——通过传感器。我们这里不讨论全能全知者,那么可以预见的是,树莓派无法感知到他人对它的感知。树莓派和硬盘一起受了伤,我会伤心、落泪、为丢失的数据而急的跳脚,也会一个人的时候,想起不能再见的老照片坐着发呆。一个普通人的三世,最大的缺,就是无法通感他人之所感,这是三世所不能兼容并包的。就算心里觉着熟谙了他人的想法,我所获的也不过是我感之他感,并非纯粹的、原发的情感。
写到此,不知所云。
《心地观经》云:“欲知过去因,见其现在果;欲知未来果,见其现在因”。既然此番丢了三世,必需从第四世弥补前世之孽缘。购置两块硬盘互作备份,尔尔。
# 附录
日志