常见问题排查
最后更新: 2026-01-22
作者: Linux Team
页面目录
目录
故障排查方法论
┌─────────────────────────────────────────────────────────────┐
│ 故障排查流程 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. 收集信息 ──→ 症状是什么? │
│ 2. 分析原因 ──→ 可能的原因? │
│ 3. 定位问题 ──→ 缩小范围,找到根因 │
│ 4. 解决问题 ──→ 实施修复 │
│ 5. 验证结果 ──→ 确认问题解决 │
│ 6. 总结经验 ──→ 记录教训 │
│ │
└─────────────────────────────────────────────────────────────┘
无法启动问题
引导问题
# 检查引导日志
dmesg | grep -i error
journalctl -b -1 # 上次启动日志
# 检查引导分区
fdisk -l
blkid
mount /dev/sda1 /mnt
cat /mnt/boot/grub/grub.cfg
# 重建GRUB
sudo update-grub
sudo grub-install /dev/sda
服务启动失败
# 查看失败服务
systemctl --failed
journalctl -xe
# 单独启动测试
systemctl start nginx
systemctl status nginx
网络问题
连接诊断
# 检查网络状态
ip addr show
ip link show
ip route show
# 检查DNS
cat /etc/resolv.conf
nslookup example.com
# 测试连通性
ping 8.8.8.8
ping google.com
traceroute google.com
常见问题
# IP配置丢失
sudo systemctl restart networking
# DNS不生效
sudo systemd-resolve --flush-caches
sudo systemctl restart systemd-resolved
# 网卡 DOWN
sudo ip link set eth0 up
服务问题
服务不响应
# 检查服务状态
systemctl status nginx
journalctl -u nginx -n 50
# 检查端口占用
ss -tlnp | grep :80
lsof -i :80
# 检查防火墙
sudo ufw status
sudo iptables -L -n
性能问题
# 资源检查
top
htop
free -h
df -h
iostat -x 1
# 进程分析
ps aux --sort=-%cpu | head
ps aux --sort=-%mem | head
# 网络连接
ss -s
netstat -anp | grep ESTABLISHED
磁盘问题
空间不足
# 查找大文件
du -sh /*
du -h --max-depth=1 /var
find / -type f -size +100M
# 清理日志
journalctl --vacuum-size=100M
find /var/log -name "*.gz" -mtime +30 -delete
# 清理缓存
sudo apt clean
sudo yum clean all
文件系统错误
# 检查磁盘
df -h
mount
# 文件系统检查
sudo fsck /dev/sda1
# 修复(需卸载)
sudo umount /dev/sda1
sudo fsck -f /dev/sda1
课后练习
实践任务
- 模拟并解决网络问题
- 排查服务启动失败
- 处理磁盘空间不足