如何将NAS挂载到Linux服务器且不使服务器将其计入自身存储(服务器仍有充足空间却提示磁盘不足)
如何将NAS挂载到Linux服务器且不使服务器将其计入自身存储(服务器仍有充足空间却提示磁盘不足)
兄弟,你的推测完全正确!我之前也碰到过一模一样的坑——Linux系统里不少核心工具(比如apt)在执行关键操作时,会扫描所有已挂载的文件系统的可用空间,而不是只盯着系统盘看。你的8TB NAS满了之后,系统检测到这个挂载点的可用空间远低于默认阈值(大磁盘一般是1%,换算下来8TB就是80GB左右),所以直接触发了磁盘不足的警告,哪怕你的系统盘还有28GB的富余空间。
给你几个亲测有效的解决办法,你可以按需选:
方法一:修改NAS挂载选项,让系统识别它是“纯存储”而非系统盘的一部分
编辑/etc/fstab里的NAS挂载行,给它加上几个挂载参数,告诉系统这个挂载点只是用来存东西的,不是系统核心组件:192.168.0.88:/volume1/Stash /home/NAS/media nfs auto,defaults,nofail,nosuid,nodev,noatime 0 0加的这几个参数作用是:
nosuid:禁止该挂载点下的文件拥有SUID权限(既避免安全风险,也让系统知道这不是可执行程序的存储目录)nodev:禁止该挂载点识别设备文件noatime:关闭文件访问时间记录,既提升NAS的读写性能,也让系统更明确这是纯存储挂载
修改完后执行sudo mount -a重新挂载,就能生效。
方法二:让apt直接跳过磁盘空间检查(针对性解决apt升级的问题)
如果你的问题主要出在sudo apt upgrade这类操作上,最直接的就是让apt别瞎操心所有挂载点的空间:- 新建一个apt配置文件:
sudo nano /etc/apt/apt.conf.d/99-skip-disk-check - 往文件里写入这一行:
APT::Get::Check-Disk-Space "false"; - 保存退出(按Ctrl+O回车,再Ctrl+X),之后apt就不会再检查任何挂载点的空间了,哪怕NAS满了也能正常升级。
👉 小提醒:这个方法会关闭apt的所有磁盘空间检查,所以你自己要定期用df -h /查看系统盘的空间,别真把系统盘用满了还不知道。
- 新建一个apt配置文件:
方法三:给NAS留点“缓冲空间”(如果能操作NAS的话)
要是你能登录Synology NAS的管理后台,可以给磁盘设置一点预留空间——比如给8TB的卷预留1%(也就是80GB左右),这样NAS就不会完全被塞满,系统也就不会触发那个低于1%的阈值警告了。这个方法最稳妥,但前提是你有NAS的管理员权限。
另外给你个小技巧:平时想查看系统盘的真实可用空间,别用df -h看所有挂载点,直接用df -h /就能只看根目录(系统盘)的空间,省得被NAS的状态干扰。
备注:内容来源于stack exchange,提问作者user3622260
相关产品推荐
相关产品推荐

