CentOS怎么检查硬盘是否被拔出
一、通过系统日志分析硬盘状态
使用dmesg
命令可查看内核日志中与硬盘相关的动态信息。执行以下命令筛选近期存储设备事件:
dmesg | grep -i 'sd|sata|scsi'
若存在类似Device sdb removed
的记录,表明硬盘已被系统检测到拔出操作。
二、检查当前磁盘列表
通过lsblk
或ls /dev/sd*
命令对比当前设备列表与历史状态。若某块硬盘不再显示,可能已被移除:
lsblk
ls /dev/sd*
三、使用SMART工具检测硬盘状态
安装smartmontools
工具包后,通过以下命令获取硬盘健康状态:
yum install smartmontools -y
smartctl -a /dev/sdb
若返回Device Not Found
错误,则表明目标硬盘已断开连接。
四、监控系统服务状态
通过systemctl
检查udisks2
服务日志,获取硬件变动通知:
journalctl -u udisks2 | grep 'storage'
五、检查硬件接口状态
对于SAS/SATA硬盘,可使用lsscsi
工具验证物理连接状态:
lsscsi -H
六、自动化监控方案
创建Shell脚本定期检测磁盘状态变化,或使用Prometheus+Node Exporter实现实时监控。