温馨提示×

CentOS Stream 8的故障排查技巧

小樊
37
2025-12-29 05:52:26
栏目: 智能运维

CentOS Stream 8故障排查技巧

一 快速定位与通用流程

  • 明确现象与目标:例如“某服务端口不通”“系统无法启动”“更新失败”等,先记录时间点、报错原文、最近变更
  • 资源与连通性快检:
    • 资源:df -h(磁盘)、free -h(内存)、top/htop(进程)。
    • 网络:ping 网关/外网域名、curl -I 检测HTTP可达性、ip link/addr 查看网卡与IP。
    • DNS:nslookup/dig 验证解析是否正常。
  • 服务与日志:
    • 服务:systemctl status 查看状态与最近日志片段。
    • 日志:journalctl -xejournalctl -u -bjournalctl -k(内核)、必要时查看 /var/log/messages、/var/log/secure 等文件日志。
  • 变更回滚与最小化复现:先停用最近变更的服务/内核/驱动,或在测试环境复现,再逐步恢复定位根因。

二 常见故障与处理要点

  • 网络服务不可用(报错 Unit network.service not found)
    • 原因:CentOS 8+ 使用 NetworkManager 管理网络。
    • 处理:systemctl restart NetworkManagernmcli c reloadsystemctl status NetworkManager;静态IP建议在 /etc/sysconfig/network-scripts/ifcfg- 中配置(BOOTPROTO=static、ONBOOT=yes、IPADDR/NETMASK/GATEWAY/DNS),随后 nmcli con up 或重启 NetworkManager 生效。
  • YUM/DNF 源失效(如 Failed to download metadata for repo ‘appstream’)
    • 原因:官方仓库下线,默认镜像不可用。
    • 处理:备份 /etc/yum.repos.d/*.repo 后,替换为 vault.centos.orgCentOS-Stream-8 存档源;执行 dnf clean all && dnf makecache;必要时用 dnf provides 定位提供包。
  • 服务启动失败
    • 流程:systemctl status 定位错误;journalctl -u -xe 查详细日志;对守护进程做配置语法检查(如 nginx -t);确认依赖已装(如 dnf list installed | grep );修复后 systemctl restart
  • 内核模块加载失败(如 Failed to start Load Kernel Modules)
    • 处理:journalctl -xb | grep failed 确认模块名;在 /etc/modprobe.d/blacklist.confblacklist install /bin/false;重建 initramfs:dracut -f;更新引导:grub2-mkconfig -o /boot/grub2/grub.cfg;重启验证。
  • 系统无法进入(黑屏/内核 panic)
    • 处理:安装介质选择 Troubleshooting → Basic Graphics Mode 进入救援/单用户;检查并禁用异常服务/模块、重建 initramfs、修复 GRUB;必要时挂载原分区备份数据后再修复或重装。

三 日志分析与取证

  • journalctl 高效用法
    • 范围:-b(本次启动)、-b -1(上次启动)、–since/–until “2025-12-29 10:00:00”
    • 过滤:-u (指定服务)、-k(仅内核)、-p err(仅错误级别)、-f(实时跟踪)。
    • 审计:查看日志占用 –disk-usage,必要时配合 grep/awk 精准筛选。
  • 关键日志文件
    • /var/log/messages(系统通用)、/var/log/secure(认证与 SSH)、/var/log/audit/audit.log(审计)、/var/log/boot.log(启动过程)、/var/log/dmesg(内核环缓冲,硬件与驱动)。
  • 长期可观测
    • 使用 logrotate 控制日志大小与保留;集中化方案可选 rsyslog/syslog-ng → ELK/Splunk;性能与活动数据配合 Sysstat 收集。

四 系统修复与恢复

  • 单用户/救援模式
    • 单用户:GRUB 内核行追加 rw init=/bin/bash 启动;用于 root 密码重置、/etc/fstab 修复 等。
    • 救援:安装界面 Troubleshooting → Rescue a CentOS system,挂载原系统后检查并修复文件系统、服务、引导。
  • 数据保护与重装
    • 有备份用 tar/rsync/Clonezilla 恢复;无备份先挂载原分区拷出关键数据,再修复或重装。
    • 重装会清空磁盘,务必确认已备份并选择合适分区方案。

五 重要安全提醒

  • CentOS Stream 8 已于 2024-05-01 终止官方维护,不再提供安全更新与软件仓库支持;继续运行存在严重安全风险。建议尽快升级至 CentOS Stream 9 或迁移至Rocky Linux、AlmaLinux、Debian、Ubuntu等受支持的发行版;若必须短期使用,请仅在内网/隔离环境、限制外网访问,并尽快完成迁移。

0