温馨提示×

CentOS Minimal如何故障排查

小樊
46
2025-11-15 19:14:53
栏目: 智能运维

CentOS Minimal 故障排查实战指南

一 快速定位与信息收集

  • 明确问题类型:是硬件系统服务/软件还是网络问题。
  • 查看系统日志与内核消息:
    • 使用 journalctl -xe 查看本次启动的详细日志;
    • 查看 /var/log/messages(系统事件)、/var/log/secure(认证与授权);
    • 使用 dmesg 检查内核启动与驱动加载信息。
  • 检查系统资源与健康:
    • uptime(负载与运行时间)、top/htop(CPU/内存)、free -m(内存)、df -h(磁盘空间)。
  • 检查关键进程与服务:
    • ps auxsystemctl status 定位异常进程/服务。
  • 备份与变更记录:在变更配置或执行恢复前,先备份关键文件与当前状态,便于回滚。

二 常见故障与处理清单

  • 网络不可用(网卡未启动、DHCP/静态配置错误、DNS 异常)
    • 确认网卡与链路状态:ip link;必要时启用接口:ip link set up
    • 查看/修正网卡配置(以 CentOS 7 为例,网卡名可能为 ens33 而非 eth0):
      • 编辑 /etc/sysconfig/network-scripts/ifcfg-ens33,确保 ONBOOT=yes,按需设置 BOOTPROTO=dhcp 或配置 IPADDR/NETMASK/GATEWAY
      • 重启网络:systemctl restart network
      • 验证:ping -c 4 8.8.8.8(连通性)、nslookup www.baidu.com(DNS)。
    • yum 报域名解析失败,检查 /etc/resolv.conf 是否配置了可用的 DNS1/DNS2
    • 虚拟机场景:确认 VMware/VirtualBox 网络为 NAT/桥接 并与宿主机网络匹配。
    • 工具可用性:ifconfig 不在 Minimal 默认安装,可通过 yum install -y net-tools 安装。
  • SSH 连不上
    • 确认服务:systemctl status sshd
    • 防火墙放行:firewall-cmd --list-all,必要时临时放行端口:firewall-cmd --add-port=22/tcp --permanent && firewall-cmd --reload
    • 云服务器还需检查安全组/ACL是否放行 TCP 22
  • 服务启动失败
    • 查看状态与日志:systemctl status journalctl -xe -u
    • 回滚最近配置更改或依赖修复后重启服务。
  • 磁盘空间不足
    • df -h 定位占用;清理临时文件/日志或扩容(LVM/新增磁盘)。
  • SELinux 拒绝访问
    • 查看状态:sestatus;临时放宽:setenforce 0(仅测试);永久调整:/etc/selinux/config 中设置 SELINUX=permissive/disabled 并重启。

三 无法进入系统时的恢复路径

  • 单用户模式修复(维护模式)
    • CentOS 7:GRUB 菜单选中内核,按 e,在以 linux16/linuxefi 开头的行末尾添加 single,按 Ctrl+X 启动;
    • CentOS 6:GRUB 菜单按 e,在 kernel 行末尾添加 single,按 b 启动;
    • 进入后可执行密码重置、文件系统修复、网络与配置回滚等操作。
  • GRUB 引导丢失或损坏
    • 使用安装介质进入救援/ Live 环境;
    • 挂载根分区并 chroot;
    • 重建配置:grub2-mkconfig -o /boot/grub2/grub.cfg
    • 确认 /boot/grub2/grub.cfg 与内核、initramfs 存在。
  • 文件系统/磁盘异常
    • 在救援环境对分区执行 fsck 检查与修复;
    • 使用 smartctl 检查磁盘健康状态。

四 网络问题系统化排查流程

  • 链路与接口:ip link(是否为 UP)、物理连接/交换机端口指示灯。
  • 本机地址:ip a(是否获取到 IP)。
  • 局域网连通:先 ping 网关(如 192.168.1.1)。
  • 对外连通:ping 8.8.8.8(排除本机路由/NAT 问题)。
  • DNS 解析:nslookup/dig www.baidu.com;异常则检查 /etc/resolv.conf
  • 监听与端口:ss -tulpennetstat -tulpen 确认服务是否在 0.0.0.0 监听。
  • 防火墙/安全策略:firewall-cmd --list-all、云上安全组规则。
  • 路由表:ip route 检查默认网关与静态路由。
  • 深入抓包:tcpdump -i -nn host <目标IP> 定位在哪一跳或本机丢弃。

五 高频命令与配置文件速查表

目标 命令/文件
系统日志 journalctl -xe/var/log/messages/var/log/secure
内核与硬件 dmesg;**lspci
资源监控 uptimetop/htopfree -mdf -h
网络接口与地址 ip aip linknmcli d(查看网卡名)
网卡配置 /etc/sysconfig/network-scripts/ifcfg-(如 ONBOOT=yes
网络连通 pingtraceroutecurl -I https://域名
端口与监听 ss -tulpennetstat -tulpen
DNS 解析 nslookupdig/etc/resolv.conf
防火墙 firewall-cmd --list-allfirewall-cmd --add-port=22/tcp --permanent && firewall-cmd --reload
服务管理 systemctl status/restart journalctl -u
SELinux sestatussetenforce 0(测试);/etc/selinux/config
包管理 yum install -y net-toolsyum update
引导修复 grub2-mkconfig -o /boot/grub2/grub.cfg
抓包分析 tcpdump -i -nn host

0