温馨提示×

centos mount为何丢数据

小樊
34
2026-10-14 20:35:27
栏目: 智能运维

在 CentOS(以及大多数 Linux 系统)里,“mount 之后发现数据不见了 / 丢了”通常不是真的被删除了,而是**被挂载点掩盖(masked)**了。下面按常见原因说明。


一、最常见原因:挂载点本身已有数据,被“盖住”了

现象

# 原来 /data 下有文件
ls /data
a.txt b.txt

# 挂载磁盘到 /data
mount /dev/sdb1 /data

ls /data
# 什么都没有了

原因

  • /data 原来是一个普通目录,里面有文件
  • 你把一个新文件系统挂载到 /data
  • 挂载后,看到的是新文件系统的根目录
  • 原来的 a.txt / b.txt 并没有丢,只是被“遮住”了

验证 & 恢复

umount /data
ls /data
# 原文件又出现了

✅ 结论:数据没丢,是被挂载点盖住了


二、挂载了空分区 / 新格式化分区

情况

  • 磁盘是 新盘
  • 或执行过 mkfs
  • 然后 mount 后发现“没数据”

原因

  • 新文件系统本身就是空的
  • 这是正常的

三、挂载错设备(挂错盘)

现象

  • 本来想挂 /dev/sdb1
  • 实际挂了 /dev/sdc1

检查

lsblk
mount | grep /data

解决

umount /data
mount /dev/正确设备 /data

四、使用了错误的文件系统类型

现象

mount -t ext4 /dev/sdb1 /data

但磁盘其实是 xfs 或 ntfs

结果

  • 挂载失败
  • 或挂载后看到损坏 / 空内容

检查

blkid /dev/sdb1

五、CentOS 7/8 的 XFS 特性导致“看起来像丢数据”

情况

  • 原系统是 XFS
  • 换内核 / 换机器挂载
  • 或磁盘不完整

表现

  • 挂载成功
  • 但目录为空或报错

检查

dmesg | tail
journalctl -xe

六、真正可能丢数据的情况(少但危险)

❌ 1. 误执行格式化

mkfs.xfs /dev/sdb1   # 数据直接没了

❌ 2. 误用 dd

dd if=/dev/zero of=/dev/sdb

❌ 3. 强制断电 / 磁盘损坏

  • 文件系统崩溃
  • 需要 fsck / xfs_repair

七、正确做法(避免“看起来丢数据”)

✅ 挂载前检查

ls -l /data
df -h
lsblk

✅ 不要挂载到已有数据的目录

推荐:

/mnt/data
/data

✅ 挂载前确认设备

blkid

总结一句话

CentOS 中 mount “丢数据”,99% 是因为原目录数据被挂载点遮住了,而不是真的丢失。

如果你愿意,可以把下面信息贴出来,我帮你精准判断:

  • mount 命令
  • lsblk
  • df -h
  • 出错前后的操作

0 踩