ulimit设置不正确导致系统无法启动

上星期山东大学的存储出毛病,我去了一趟,搞了半天原来是光纤接触不好,但是在和李主任一块排障的过程当中出现了一个很有意思的故障。
当前有一台centos6.5的服务器挂载了我们的存储,可以正常开机,并且在服务器外接的显示器上弹出了centos6.5的登录界面,但是登录的时候却是闪退;通过网线连接上服务器通过终端进行登录时,却死活登录不上!用户和密码都输的没问题,登录的时候一瞬间可以登录上,然后紧接着就会掉下来,如下图所示:

进入单用户模式,可以正常登录,磁盘空间还剩很多,不是磁盘问题,去/etc/passwd查看shell设定,也没有问题,去登录日志里面瞧瞧cat /var/log/secure

通过日志里面的信息,我发现有这个与pam_limit相关的报错,无法设置limit的一些参数,pam模块我倒是记得它是与认证相关的模块,但是我问过机房的老师,说之前没有对这台服务器做什么认证相关的设置,突然就不行了,这是怎么回事?
那就看看limit的完整信息,如下所示,看着也没啥问题呀:

在limit命令行看不出什么问题来,我们去limit的配置文件当中看一看,limit配置文件里面是空的,如下所示,看着也没有啥问题:

再看看另一个与limit相关的文件,如下所示:

终于找到了,这个nofile值设置的太大了,改成65535之后,重启正常,问题解决,通常nofile我们设置成65535就可以差不多够用了,如果是一手托两家的负载均衡的话,顶多再加两个0,加3个0就会出现这种情况了;如果加了两个0还是不够用的话,就要考虑是不是被人攻击了。

posted @ 2020-03-31 19:20  张贺贺呀  阅读(394)  评论(0编辑  收藏  举报