我有一个安装了 Ubuntu 18.04.1 LTS 的家庭服务器。它正在运行 nextcloud 14.0.1,每 15 分钟执行一些 cronjob 任务。我有两个自己的 cronjob,每分钟执行一次。
从几周前开始,我的家庭服务器就将数据硬盘设置为只读。这种情况最初每周发生一两次,但现在每隔几个小时就会发生一次。大多数情况下,问题始于大约 45 分钟的非常高的 CPU 负载,并在一小时后重复此行为。经过几次这样的情况后,硬盘最终被设置为只读。CPU 负载是由 nextcloud cronjobs 引起的,这通常不是问题。
这是日志内容:
Oct 9 12:51:22 Server kernel: [17693.908851] ata1.00: exception Emask
0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
Oct 9 12:51:22 Server kernel: [17693.908872] ata1.00: failed command: FLUSH CACHE EXT
Oct 9 12:51:22 Server kernel: [17693.908894] ata1.00: cmd ea/00:00:00:00:00/00:00:00:00:00/a0 tag 26
Oct 9 12:51:22 Server kernel: [17693.908894] res 40/00:01:00:4f:c2/00:00:00:00:00/00 Emask 0x4 (timeout)
Oct 9 12:51:22 Server kernel: [17693.908910] ata1.00: status: { DRDY }
Oct 9 12:51:22 Server kernel: [17693.908924] ata1: hard resetting link
Oct 9 12:51:32 Server kernel: [17703.911383] ata1: softreset failed (1st FIS failed)
Oct 9 12:51:32 Server kernel: [17703.911402] ata1: hard resetting link
我说的对吗?硬盘没有响应(或延迟)?这是系统将整个驱动器设置为只读模式的原因吗?
我尝试寻找解决方案,但找到的解决方案似乎并不适合我的问题。
- 该硬盘非常新,并且通过了 SMART 测试
- 文件系统似乎没有问题
- SATA 线是全新的,我已经换了另一条
我发现的另一个解决方案是更新 Marvell SATA 控制器的固件。某些版本会导致这样的问题。但由于我的服务器中没有 Marvell 控制器,我想知道其他控制器是否也有这样的错误。
我的控制器:
Intel Celeron N3350/Pentium N4200/Atom E3900 Series SATA AHCI Controller
我该怎么做才能消除此错误?我真的不想每天多次重启服务器。