早上上班,收到美编反应,服务器所有站点无法访问,遂立即着手处理,现将排除过程记录如下:
第1步:
访问域名,网站显示故障无法运行;立即使用ssh链接服务器,发现链接正常;
第2步:
检查服务器支撑网站运行相关服务状态,发现Nginx、PHP、Mysql均停止运行,立即重启mysql数据库服务,系统提示(cannot createtemp fileforhere-document:Nospaceleftondevice);依据提示应该是磁盘空间占用100%,需要释放空间;
第3步:
按上篇文字《记录一次Centos服务器tmp目录满的问题排查处理…》排查,发现情况一样,按文章所述处理完毕;
第4步:
重启Nginx、PHP、Mysql,均可正常启动,但是返回前台发现所有连接数据库的站点全部报错,显示数据库无法连接…;立即使用ssh执行top查看centos服务器进程,发现mysql服务器占用CPU到达300%左右浮动;单独使用数据库管理工具phpmyadmin可正常连接数据库,查看数据库状态,显示大量 Opening tables,且内部进程达到300左右,内部查询链接6000左右;
第5步:
去网上查找相关资料,各种尝试,均未解决,mysql依然占用很高的CPU资源。
第6步:
去查看mysql数据库错误日志,显示如下提示:
因为刚开始是inode耗尽导致系统崩溃,考虑是不是原来inode被占用完了,清理删除废文件之后释放出来的inode没有被mysql识别到,那个错误提示应该还是找不到inode块。
第7步:
尝试重启centos服务器,重启后所有服务直接恢复正常,mysql恢复正常值,遂记录本次处理过程,有需要的可以尝试解决。