我们的一台服务器最近遇到了一些文件系统损坏,我们的根文件系统被自动重新挂载为只读。我采取的恢复步骤是:
- 试图
remount > mount -n -o remount /
这样做失败了 - 重新启动服务器
- 提示执行手动操作
fsck
,有 5 个孤立的 inode 需要修复。
执行这些步骤后,我能够访问并且文件系统再次可写。不幸的是,我没有任何信息日志,因为没有人写过,否则我会包括这些。
有人提出的一个原因是我们的数据库太忙而无法将数据正确写入磁盘,这导致了问题,高水平的高速缓存表明这可能是这种情况。但是我不确定这一点,因为虽然缓存很高,但我们根本没有使用交换(free
下面的输出)。
$ free -m
total used free shared buffers cached
Mem: 2041 1879 162 0 62 1599
-/+ buffers/cache: 216 1825
Swap: 471 0 471
故障发生后有什么方法可以诊断吗?MySQL 看起来像一个可能的候选者吗?
如果没有,如果再次发生这种情况,我将来应该采取任何步骤吗?
每当您有不干净的卸载时,孤立的 inode 是良性的并且完全正常。它们只是已被删除的文件,但在重新以只读方式重新安装 fs 时仍处于打开状态。它们不是原因,而只是一种症状。您需要检查内核日志以查看导致只读重新挂载的实际问题。您可能还需要运行一些 SMART 诊断程序以确保驱动器没有出现故障。
首先检查您的服务器:
高级缓存是可取的,并且不应该以任何方式破坏您的文件系统。