首页/发现新知
视界 · 深度阅读

centos mount为何丢挂载点

在 CentOS(以及大多数 Linux 发行版)里,“挂载点丢了”通常不是真的消失,而是被覆盖 / 被自动清理 / 配置没持久化这几类原因。下面按常见场景给你梳理一下。


一、最常见原因:挂载点目录被覆盖(看起来像“丢了”)

这是 90% 的“mount 后挂载点没了” 的原因。

场景

mount /dev/sdb1 /data

然后你发现:

  • /data 里原来的文件不见了
  • 或者重启后 /data 是空目录

原因

  • /data 本来是一个普通目录
  • 挂载后,原目录内容被“遮住”
  • 卸载后内容又回来了

✅ 这是正常行为,不是丢

umount /data
ls /data   # 原来的文件还在

二、重启后挂载消失(没写 fstab)

现象

mount /dev/sdb1 /data
# 重启后 /data 是空的

原因

  • mount 是临时生效
  • 重启后需要重新挂载

解决

写入 /etc/fstab

/dev/sdb1  /data  xfs  defaults  0 0

或 UUID 方式(推荐):

UUID=xxxx-xxxx  /data  xfs  defaults  0 0

验证:

mount -a

三、systemd 自动卸载(automount / 空闲卸载)

CentOS 7/8 常见。

场景

  • 使用 autofs
  • 或 x-systemd.automount
/dev/sdb1 /data xfs x-systemd.automount 0 0

表现

  • 不访问时挂载点“消失”
  • 一访问又自动挂载

✅ 这是设计行为


四、LVM / 设备名变化导致挂载失败

现象

  • 重启后 /dev/sdb1 变成 /dev/sdc1
  • fstab 挂载失败

解决

永远用 UUID 或 LVM

blkid
UUID=xxx /data xfs defaults 0 0

五、nfs / 网络挂载掉线

现象

  • NFS 挂载后过段时间“没了”
  • df 卡住

原因

  • 网络中断
  • 服务端超时

建议参数

server:/path /data nfs defaults,timeo=30,retrans=3,_netdev 0 0

六、目录被误删或权限问题

ls -ld /data

如果不存在:

mkdir /data
chmod 755 /data

七、如何快速自查(建议收藏)

# 当前挂载
mount | grep data

# 是否写了 fstab
grep data /etc/fstab

# 设备是否还在
lsblk

# UUID
blkid

总结一句话

CentOS 里“mount 丢挂载点”基本不是真丢,而是:

  • 临时挂载没写 fstab
  • 目录被挂载覆盖
  • 设备名变了
  • systemd / nfs 自动卸载

如果你能贴一下:

  • mount 命令
  • fstab
  • 是 重启后丢 还是 立刻丢

我可以直接帮你定位是哪一条。

读到这里,发现更多一点。探索更多内容 ↗