Linux 下 mount 速度慢,通常不是“mount 本身慢”,而是挂载前的一些阻塞或探测动作导致的。下面按最常见 → 较少见给你梳理原因和排查方法。
典型场景
mount -t nfs ...mount -t cifs ...现象
df 也卡住排查
ping <server>
telnet <server> 2049 # nfs
telnet <server> 445 # cifs
解决
mount -t nfs -o timeo=10,retry=0,soft ...
mount -t cifs -o timeout=10 ...
nolock(NFS 老环境)mount 时如果:
/etc/resolv.conf 配置了不可达 DNS很容易卡 5~30 秒。
检查
time getent hosts hostname
解决
/etc/resolv.confoptions timeout:1 attempts:1auto 挂载,但设备不存在例如:
/dev/sdb1 /data ext4 defaults 0 0
但 sdb 不存在
现象
mount -a 卡住解决
noautoUUID=xxxx /data ext4 defaults,noauto 0 0
mount 前会触发检查。
查看
dmesg | tail
journalctl -xe
解决
fsck -y /dev/sdX
现象
解决
mount -o noatimesmartctl -a /dev/sdX
systemctl status *.mount
解决
x-systemd.device-timeout=5UUID=xxx /data ext4 defaults,x-systemd.device-timeout=5 0 0
检查
udevadm monitor
strace -f mount /dev/sdX /mnt
dmesg -w
ls -l /dev/sdX
blkid /dev/sdX
mount -v /dev/sdX /mnt
如果你愿意,可以把下面信息贴出来,我可以直接帮你定位:
dmesg 或 strace 输出片段我可以直接告诉你卡在哪一步。