如何在centos虚拟机中进行故障排查
导读:一、系统日志分析:快速定位故障根源 系统日志是故障排查的“指南针”,CentOS通过journalctl和/var/log目录提供全面的日志记录。 使用journalctl查看实时/历史日志:journalctl -xe可查看近期关键错误...
一、系统日志分析:快速定位故障根源
系统日志是故障排查的“指南针”,CentOS通过journalctl
和/var/log
目录提供全面的日志记录。
- 使用journalctl查看实时/历史日志:
journalctl -xe
可查看近期关键错误(如服务崩溃、内核 panic),journalctl -u 服务名
(如journalctl -u sshd
)能过滤特定服务的日志,journalctl --since "2025-10-10 10:00"
可限定时间范围查询。 - 检查/var/log目录下的专项日志:
/var/log/messages
记录系统通用信息(如内核、服务启动),/var/log/secure
记录安全事件(如登录失败、sudo使用),/var/log/httpd/error_log
(Apache)、/var/log/mysql/error.log
(MySQL)记录应用层错误,通过grep "ERROR" /var/log/httpd/error_log
可快速定位应用故障。
二、网络连接故障:排查连通性与配置问题
网络问题是虚拟机最常见的故障之一,需逐步验证各环节:
- 基础连通性测试:用
ping 目标IP
(如ping 8.8.8.8
)检查网络是否可达,若超时报错,需排查物理主机网络(如网线、路由器)或虚拟机网络模式(NAT/桥接/Host-only)。 - 网络配置验证:用
ip addr
查看网卡是否启用(state UP
),IP地址、子网掩码、网关是否正确(如NAT模式下网关通常为虚拟网关,如192.168.122.1
);用nslookup 域名
或dig 域名
检查DNS解析是否正常(如能解析到正确IP)。 - 防火墙与服务状态:用
systemctl status firewalld
查看防火墙是否开启,若开启需放行端口(如firewall-cmd --add-port=22/tcp --permanent
后firewall-cmd --reload
);用systemctl status sshd
(或其他服务)确认服务是否运行,未运行则启动(systemctl start sshd
)。
三、系统资源监控:解决性能瓶颈
资源不足(CPU、内存、磁盘)会导致系统缓慢或服务崩溃,需用以下命令监控:
- CPU使用率:
top
(按1
查看每个核心的使用率,按M
按内存排序)或vmstat 1
(查看CPU空闲率、进程等待队列),若CPU长期> 80%,需优化进程或增加CPU资源。 - 内存使用情况:
free -m
查看内存总量、已用、剩余(available
列表示可用内存),若剩余内存< 100MB,需关闭不必要的进程(kill -9 PID
)或增加内存。 - 磁盘空间:
df -h
查看各分区使用率(重点关注/
根分区),若使用率> 90%,需清理无用文件(如/var/log
下的旧日志,用logrotate
轮转)或扩容虚拟磁盘。 - 磁盘I/O:
iostat -x 1
查看磁盘读写延迟(await
,单位ms),若await> 100ms
,说明磁盘性能瓶颈(如虚拟磁盘类型为IDE,需改为VirtIO或SCSI)。
四、启动故障:进入救援模式修复
若虚拟机无法启动,需通过以下步骤修复:
- 查看启动日志:用
journalctl -b
(-b
表示本次启动)查看启动错误(如内核加载失败、服务启动失败),或查看/var/log/boot.log
获取详细启动信息。 - 进入救援模式:CentOS 7及以上系统,启动时按
e
键编辑内核参数,找到linux16
或linuxefi
开头的行,将ro
改为rw
(读写模式),行末添加init=/bin/bash
,按Ctrl+X
启动;CentOS 6则在GRUB菜单选择内核后按e
,在kernel
行末添加single
,按Ctrl+X
进入单用户模式。 - 修复常见启动问题:若为磁盘空间满,用
rm -rf /var/log/*.gz
(删除压缩的旧日志)释放空间;若为内核故障,用rpm -q kernel
查看已安装内核,用grub2-set-default 0
(设置默认启动内核)或grub2-mkconfig -o /boot/grub2/grub.cfg
(重新生成GRUB配置)。
五、虚拟机配置检查:排除环境问题
虚拟机本身的配置错误也会导致故障,需逐一验证:
- 虚拟机配置文件:检查VMware/VirtualBox的
.vmx
(VMware)或.vbox
(VirtualBox)文件,确认CPU、内存、网络适配器设置正确(如内存不为0,网络适配器未断开)。 - 网络适配器设置:若使用NAT模式,需在虚拟网络编辑器中确认网关(如
192.168.122.1
)和DHCP设置(如IP范围192.168.122.100-200
);若使用桥接模式,需选择正确的物理网卡(如宿主机使用的WiFi或以太网卡)。 - 硬件虚拟化支持:进入BIOS/UEFI设置,开启Intel VT-x或AMD-V(虚拟化技术),否则CentOS可能无法启动(尤其是64位系统)。
六、软件包与依赖修复:解决软件冲突
软件包损坏或依赖缺失会导致服务无法运行,需用以下命令修复:
- 清理YUM缓存:
yum clean all
(清理本地缓存),yum makecache
(重建缓存),解决YUM安装/更新错误。 - 修复依赖关系:
yum check
(检查依赖问题),yum distro-sync
(同步系统软件包版本),yum update
(更新所有软件包到最新版本,修复已知bug)。 - 重新安装软件包:若某软件包损坏,用
yum reinstall 软件包名
(如yum reinstall httpd
)恢复,默认配置文件不会被覆盖(除非添加--overwrite
参数)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在centos虚拟机中进行故障排查
本文地址: https://pptw.com/jishu/723596.html