在 CentOS 系统挂载(mount)时卡住,常见原因有 NFS/网络存储无响应、设备异常、fstab 配置错误、磁盘故障 等。可以按下面步骤排查和处理。
确认是哪条命令卡住
mount -t nfs 192.168.1.10:/data /mnt
# 或
mount -a
另开一个终端,查看进程状态
ps aux | grep mount
如果看到 D 状态(不可中断睡眠),通常是 内核在等 I/O,很难直接杀掉。
✅ 使用 soft + timeo 参数
mount -t nfs -o soft,timeo=10,retry=3 192.168.1.10:/data /mnt
✅ 如果已经卡死
umount -f /mnt
umount -l /mnt # 懒卸载(推荐)
✅ 检查 NFS 服务
showmount -e 192.168.1.10
ping 192.168.1.10
✅ 进入单用户模式
elinux16 行尾加:init=/bin/bash
mount -o remount,rw /
vi /etc/fstab
把可疑的挂载行:
#)noauto然后重启。
dmesg | tail -50
lsblk
✅ 尝试重新扫描设备
echo "- - -" > /sys/class/scsi_host/hostX/scan
✅ 磁盘故障
smartctl -a /dev/sdb
Checking filesystem... 不动fsck -y /dev/sdb1
✅ 用 IP 而不是主机名
mount -t nfs 192.168.1.10:/data /mnt
✅ 检查端口
rpcinfo -p 192.168.1.10
| 场景 | 操作 |
|---|---|
| NFS 卡住 | umount -l /mnt |
| 重启卡住 | 单用户改 fstab |
| 磁盘无响应 | dmesg + fsck |
| 防止再次卡 | soft,timeo,retry,intr |
mount -t nfs -o vers=3,proto=tcp,soft,timeo=30,retrans=3 192.168.1.10:/data /mnt
如果你愿意,可以把**具体报错、卡在哪一步、挂载什么设备(NFS/本地/ iSCSI)**发出来,我可以帮你精确分析。