• linux运维系统故障排查思路及常见故障处理


    1、

    https://blog.csdn.net/weixin_34279184/article/details/91803825?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control

    一 linux系统故障的一般处理思路

        报错信息--->查阅日志文件--->分析定位问题--->解决问题。

    二 linux系统无法启动原因及解决

        系统无法启动的原因很多,常见的有下面几种情况:

        1 文件系统被破坏,常常因断电和非法关机引起文件系统结构不一致。修复方法是用fsck命名强制修复,进入单用户模式或者交互界面,按提示进入修改模式中,卸载对应的问题磁盘,然后用fsck命令修复,无法恢复的数据会存放在lost+found下。umount /dev/sda3    fsck.ext4 -y /dev/sda3  

        2 系统配置/etc/fstab错误或丢失而无法启动。当启动时候出现 starting system logger后停止了,就要想办法恢复/etc/fstab文件,利用linux rescue修复模式登录系统,从而获取挂载点和分区信息,重构/etc/fstab文件。

        3 系统内核文件丢失,内核升级错误,引导程序出错,硬件故障等都会引起无法启动

    三 linux网络故障处理思路流程

        1 检查权限是否打开,iptables,selinux 

        2 服务是否正常,用Telnet或netstat检查服务是否正常开启

        3 检查本机网络是否正常,ping自身IP、同网段主机、网关

        4 检查DNS解析是否正常,/etc/hosts和/etc/resolv.conf

        5 检测网卡ip设置,route检查路由是否正确

        6 检查网路硬件,网卡、路由器、集线器、网线、交换机(lsmod、ifconfig、ip)

    四 Read-only file system 错误解决

        思路:

            网站程序问题

            磁盘问题

        排查网站程序,看报错信息和服务日志错误,以及系统日志,来定位问题所在 Read-only file system 多数就是磁盘问题,出现上面错误的时候,磁盘对应目录是无法写入的,那么就要进行修复了,文件系统修复命令fsck

        首先查看是否有用户正在使用该磁盘,fuser -m /dev/sda1,如果有就停止对应端口程序

        接着卸载文件系统  umount  /www/data

        然后修复文件系统  fsck -V -a /dev/sda1

        最后恢复挂载  mount /dev/sda1 /www/data

    五 Argument list too long 错误解决

        当删除一个目录中的大量文件时,可能会出现这种报错,这是由于linux系统对传递参数的限制,可以用getconf ARG_MAX查看这个数值,

        重新编译内核参数可以永久解决问题,但是编译内核有风险,还是用下面方法保险

        既然不能一下清除大量文件,那么分批删除或者查找或者循环删除就可以了,可以用下面命令清理

        rm [a-n]* -rf

        rm [o-z]* -rf

        find /www/data -type f -print -exec rm -f  {} ;

        

    六 inode耗尽故障

        当iNode耗尽后,磁盘虽然有剩余空间,但也会出现 no space left 的报错

        用 df -i 命令可以查看所有分区对应inode的使用情况

        用 ls -i nginx.log   能查看对应文件的inode编号。详细信息用 stat nginx.log 查看

        针对inode耗尽的情况,清理删除那些无用的文件就可以了,尤其是那些碎小的文件

       

    七 删除文件后空间不释放问题

        文件系统的数据分为两个部分:数据部分和指针部分,当有进程正在使用某个文件是,执行删除命令,空间是不会释放的,删除的是数据文件部分,指针部分并未删除,所以空间并不释放。

        用 lsof |grep delete    查看已删除的文件,找到对应文件 执行清空命令  echo " " > /tmp/nginx.log  空间就会得到释放

    八 “too many open files”错误

        服务出现报错异常  too many open files 

        用 ulimit -n  查看文件描述符 65535 是最大值

        检查普通用户的值  cat /etc/security/limits.conf |grep www    

        如果普通用户的值不是65535  那么给普通用户添加这个限制

        www soft nofile 65535

        www hard nofile 65535

        如果上面的普通用户的值显示65535  而依旧出现这个错,就要考虑添加limit值的时间是否早于应用最后一次启动的时间,应用时间早的话,直接重启应用就可以了

  • 相关阅读:
    centos下 yum安装ngix
    [转]ORACLE函数大全
    Oracle的DML语言必备基础知识
    微信公众账号开发教程
    freemarker页面如何获取绝对路径basePath
    使用intellij的svn时提示出错: Can't use Subversion command line client: svn.Errors found while svn working copies detection.
    网站地址
    如何让tomcat不记录catalina.out这个日志文件
    在centos6.7用yum安装redis解决办法
    剑指 Offer 06. 从尾到头打印链表
  • 原文地址:https://www.cnblogs.com/yaok430/p/14388162.html
Copyright © 2020-2023  润新知