journalctl是Systemd的日志管理工具,可集中查看包括文件系统错误在内的系统日志,支持按错误级别、时间、服务筛选。
sudo journalctl -p err(-p指定错误级别,err表示严重错误);sudo journalctl -b(-b表示当前启动会话);sudo journalctl -p err | grep -i 'filesystem\|fsck\|mount'(筛选包含“filesystem”“fsck”“mount”的错误日志,-i忽略大小写);sudo journalctl -f(类似tail -f,实时显示新增日志)。CentOS的/var/log目录存储了核心系统日志,可通过文本工具查看文件系统相关错误:
sudo less /var/log/messages或sudo tail -f /var/log/messages(实时查看);sudo dmesg | less或sudo dmesg | grep -i 'error\|filesystem'(过滤错误信息);sudo cat /var/log/boot.log。dmesg用于显示内核环缓冲区中的消息,能快速定位文件系统硬件或驱动问题:
sudo dmesg | less(分页查看);sudo dmesg | grep -i 'error\|filesystem\|sdX'(sdX为具体分区,如sda1,替换为实际设备名);sudo dmesg -w(-w表示持续监控新增日志)。smartctl(属于smartmontools包)可检测硬盘SMART信息,提前发现可能导致文件系统错误的硬件问题:
sudo yum install smartmontools -y;sudo smartctl -a /dev/sdX(/dev/sdX为硬盘设备,如sda);Reallocated_Sector_Ct(重分配扇区数)、Current_Pending_Sector(待修复扇区数),数值大于0需警惕。无论使用上述哪种方法,均可通过grep命令快速定位关键词:
sudo journalctl | grep -i 'filesystem error'(筛选所有包含“filesystem error”的日志);sudo cat /var/log/messages | grep -i 'mount error'(筛选messages文件中“mount error”相关日志)。sudo;logrotate压缩(如/var/log/messages-20250910.gz),可使用zcat或gunzip查看;fsck修复(避免数据丢失)。