确定故障类型
首先区分故障范围:硬件问题(如硬盘损坏、内存故障)、软件问题(如服务崩溃、配置错误)、网络问题(如无法连接、DNS解析失败)。明确类型后可针对性缩小排查范围。
查看系统日志
日志是故障排查的核心工具,可通过以下命令获取关键信息:
journalctl查看系统日志(支持过滤关键字,如journalctl -n 100查看最近100条日志,journalctl -b查看启动日志,journalctl grep 'error'搜索错误信息);/var/log目录下的细分日志(如/var/log/messages系统日志、/var/log/dmesg内核日志、/var/log/httpd/error_log Apache错误日志)。检查进程与服务状态
ps aux查看所有进程的CPU、内存占用及运行状态,识别异常进程(如占用过高资源的进程);systemctl status <服务名>(如systemctl status httpd)检查服务是否运行正常,若未运行可使用systemctl start <服务名>启动。检查系统资源使用
top或htop查看CPU、内存实时占用情况,识别资源瓶颈;free -h查看内存及交换分区使用情况;df -h查看磁盘空间(重点关注根分区/的使用率,避免因空间不足导致系统故障);df -i查看inode使用情况(若inode耗尽,即使磁盘空间充足也无法创建文件)。检查配置文件
常见配置文件需重点核查:
/etc/sysconfig/network-scripts/ifcfg-eth0或/etc/NetworkManager/system-connections/下的文件):确保ONBOOT=yes(开机自启)、BOOTPROTO(dhcp/static)配置正确;/etc/fstab):确保分区UUID或设备名正确,避免启动时挂载失败;/etc/httpd/conf/httpd.conf):检查语法错误(可使用apachectl configtest验证)。BOOTPROTO是否设为dhcp,若为静态IP需确认IPADDR、NETMASK、GATEWAY、DNS1配置正确;重启网络服务(systemctl restart network或systemctl restart NetworkManager)。ip addr show确认接口是否有IP地址;使用ping 8.8.8.8测试网络连通性(若通但无法访问域名,需检查/etc/resolv.conf中的DNS配置,添加nameserver 8.8.8.8);关闭防火墙测试(systemctl stop firewalld,若能访问则为防火墙拦截)。systemctl status <服务名>查看服务状态及错误信息(如Failed to start);systemctl list-dependencies <服务名>),确保依赖服务已启动;journalctl -u <服务名>),定位具体错误(如端口冲突、配置文件语法错误)。e编辑内核行,在linux16或linuxefi末尾添加single,按Ctrl+X启动;进入后可修改密码、修复配置文件(如/etc/fstab)。mount /dev/sdXY /mnt,sdXY为根分区),修改配置文件或修复引导。grub2-install /dev/sdX(sdX为系统磁盘,如sda)和grub2-mkconfig -o /boot/grub2/grub.cfg重建引导文件。fsck /dev/sdXY修复(需卸载分区,若为根分区则用fsck -y /dev/sdXY强制修复)。journalctl(系统日志)、grep(过滤关键字)、tail -f /var/log/messages(实时查看日志);ip addr show(查看接口状态)、ping(测试连通性)、traceroute(追踪路由路径)、netstat -tulnp(查看端口监听状态);df -h(磁盘空间)、du -sh *(目录大小)、fsck(文件系统修复);top(实时资源占用)、ps aux | grep <进程名>(查找进程)、kill -9 <PID>(终止进程);systemctl status <服务名>(查看状态)、systemctl restart <服务名>(重启服务)、systemctl enable <服务名>(设置开机自启)。