作为专注于为企业解决运维问题的助手,我们立维网在工作中也遇到过各种奇怪的问题,但是经过研究,绝大多数都很快得到了妥善的解决。为客户们解决了燃眉之急,授人以鱼不如授人以渔,为了让更多同业小伙伴能够不再受到困扰,我们也会不定期的为大家带来我们在面对疑难杂症时的处理经验,以便让更多小伙伴能够摆脱困境,解决你们的烦恼~!
本 期 问 题
知名电商平台站点的一起致命故障
现 象
未做任何配置变更,也无突发流量攻击
站点突然无法访问
处 理 过 程
1、首先查看进程端口netstat -ntpl
可以看到进程都在,主机启用的是apache服务
2、站点打开,提示跟数据库相关的jdbc连接错误
3、查看应用配置文件,通过配置文件里的配置项,尝试连接mysql数据库,发现提示mysql账号密码不对。
4、打算重置mysql密码,对my.cnf进行备份
[root@iZ2368kqeckZ etc]# cp my.cnf my.cnf.20160912
cp: cannot create regular file `my.cnf.20160912': No space left on device
5、由于上述提示显示的是“空间不足”,于是查看磁盘空间
[root@iZ2368kqeckZ etc]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 7.0G 12G 38% /
tmpfs 16G 0 16G 0% /dev/shm
/dev/xvdb1 493G 65G 403G 14% /data
6、磁盘空间现实还有很多剩余,但cp时却提示No space left,基本可以说明inode已满
df -i 可以看到/ 目录已经inode已经100%
7、查看具体是什么目录的inode数过多
[root@iZ2368kqeckZ ~]# cd /
[root@iZ2368kqeckZ /]# ls
bin boot data dev etc home lib lib64 lost+found media mnt opt proc root sbin selinux srv sys tmp usr var
8、可能被inode撑爆的几个目录home,data,mnt,root,tmp,var
9、经检查,为/var/spool/postfix/maildrop 下的小文件过多导致
rm -rf /var/spool/postfix/maildrop即可
10、删除部分maildrop后,其他配置文件就可以修改。11剩余的操作就是修改php.ini和my.cnf配置文件,重置mysql密码。
然后重启mysql和apache服务。就能够解决这个问题了~