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 -xe 、journalctl -u -b 、journalctl -k (内核)、必要时查看 /var/log/messages、/var/log/secure 等文件日志。
变更回滚与最小化复现:先停用最近变更的服务/内核/驱动,或在测试环境复现,再逐步恢复定位根因。
二 常见故障与处理要点
网络服务不可用(报错 Unit network.service not found)
原因:CentOS 8+ 使用 NetworkManager 管理网络。
处理:systemctl restart NetworkManager 、nmcli c reload 、systemctl 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.org 的 CentOS-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.conf 中 blacklist 或 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 等受支持的发行版;若必须短期使用,请仅在内网/隔离环境、限制外网访问,并尽快完成迁移。