错误配置fstab挂载并执行rsync后磁盘占用异常,无法定位占用源及清理空间
错误配置fstab挂载并执行rsync后磁盘占用异常,无法定位占用源及清理空间
兄弟,我太懂你现在的糟心感受了——给树莓派加新磁盘操作翻车,rsync还中途崩了,结果主分区直接干到96%,但用df和lsblk又找不到占用空间的地方,这不急死人嘛!别慌,咱们一步步揪出问题根源,把空间夺回来。
首先排查最常见的坑:挂载点目录残留数据
你大概率是把新磁盘的挂载点目录创建在了主分区上,结果磁盘没挂成功,但rsync已经把数据写到了这个挂载点目录里!等后来(哪怕现在)磁盘没挂载的时候,这个目录的内容就藏在主分区里,占着空间;要是哪天不小心挂上磁盘,这些内容又会被磁盘里的东西给“覆盖隐藏”,让人摸不着头脑。
操作步骤:
- 先确认你的目标挂载点是哪个(比如你原本打算把
sda1挂在/mnt/malinkaExtData),先检查这个目录的空间占用:
如果输出的数值很大,那罪魁祸首就是它!sudo du -sh /mnt/malinkaExtData - 先确保这个磁盘没被挂载(执行
sudo umount /mnt/malinkaExtData,要是提示“not mounted”就跳过),然后直接清理这个目录里的文件:
要是这个挂载点以后不用了,也可以直接删掉目录:sudo rm -rf /mnt/malinkaExtData/*sudo rm -rf /mnt/malinkaExtData
然后检查残留进程占用空间
rsync失败后可能有残留的进程还攥着文件不撒手,导致空间没法释放。咱们揪出来干掉它:
- 先找rsync相关进程:
ps aux | grep rsync - 看到进程ID(PID列的数字)后,直接杀掉:
之后再用sudo kill -9 [进程ID]df -h看看空间是不是回来了。
还有隐藏的“已删除但仍占用空间”的文件
有些文件明明被删了,但因为有进程还在使用它,空间依然被占着。咱们用这个命令找:
sudo lsof | grep deleted
找到对应的进程后,同样用kill -9杀掉,空间就会释放了。
更直观的空间扫描工具
要是上面的方法还没找到,推荐用ncdu(如果没装就先sudo apt install ncdu),它能可视化扫描整个根目录的空间占用,每个文件夹的大小一目了然,很容易找到大文件:
sudo ncdu /
顺便给你提个正确挂载磁盘的小建议
等清理完空间,重新挂载磁盘的时候别再踩坑了:
- 先创建一个空的挂载点目录:
sudo mkdir /mnt/ext_disk - 测试挂载:
sudo mount /dev/sda1 /mnt/ext_disk,确认能正常访问磁盘内容 - 再把挂载信息写到
fstab里(用UUID更稳定),添加这一行:UUID=d06a4ac8-2c34-46e1-9a84-254aac4af784 /mnt/ext_disk ext4 defaults 0 2 - 最后用
sudo mount -a测试fstab配置是否正确,没问题就搞定了!
备注:内容来源于stack exchange,提问作者Wojtek
相关产品推荐
相关产品推荐

