磁盘损坏
查询报错 Disk I/O Error。去磁盘目录,无法cd以及ls列表等。查看/va/log/messages日志中有 I/O Error 字样。
这种问题属于磁盘物理损坏,如果是 RAID5,则损坏有多块。需要维修和更换磁盘,重做 raid,文件系统。磁盘故障修复后对故障服务器做节点替换。
磁盘扇区损坏
查询报错或卡住,耗时超长。查看/var/log/messages 日志中错误举例:
Nov 1 09:03:48 statcp1 kernel: [17707947.372267] sd 6:0:0:1: [sdc] Unhandled error code
Nov1 09:03:48 statcp1 kernel: [17707947.372275] sd 6:0:0:1: [sdc] Result:hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
Nov 1 09:03:48 statcp1 kernel: [17707947.372285] sd 6:0:0:1: [sdc] CDB: Write(16):8a 00 00 00 00 03 be 77 41 fa 00 00 02 00 00 00
Nov 1 09:03:48 statcp1 kernel: [17707947.372313] end_request: I/O error, dev sdc,sector 16080388602
Nov 1 09:03:48 statcp1 kernel: [17707947.372378] sd 6:0:0:1: [sdc] Unhandled error code这种情况属于磁盘物理部分扇区损坏。可以尝试 reboot,看能否恢复。如果无法恢复需要维修、更换磁盘,重做 raid,文件系统。最后对故障服务器做节点替换。
磁盘只读
检查数据库的 system.log 和 express.log 里,有字样:Read-only file system这种情况多数是外挂存储环境的存储或网络出问题导致无法写入。需要排查存储和网络。
磁盘空间满
遇到 Express.log 报错 write error(disk full)字样。
如load kernel: EXT4-fs warning (device sdb4):ext4_dx_add_entry:Directory index full!
这种情况通常是磁盘空间满,或者 inode 满或者可能是数据盘挂载错了。
可以做如下检查:
df 查看磁盘空间,包括根。
df -i 查看 inode 信息
df -T 查看文件系统类型
注意 ext3 默认每个目录下只能写 3 万个文件,建议用 ext4 或 xfs 文件系统。
/etc/fstab 里检查是否没有配置挂载信息,或者挂载目录名字写错了,导致数据盘
没有正确挂载,使用的是操作系统盘,导致性能差和磁盘空间满。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




