我们在 AWS 上有(多个)使用网络文件系统的 Linux 服务器,在我们的例子中是 AWS EFS,安装在 /logs 目录上。
有时会发生这样的情况:
- 机器重新启动
- 由于某种原因,网络文件系统未安装,因此所有进程都开始登录 /logs,但在主(系统)分区上
- 磁盘空间很快就会开始变低,在最坏的情况下,磁盘将完全被填满。
在调试问题时,发生了重新启动并且网络文件系统恢复正常,以便我的服务器可以挂载磁盘并开始登录正确的分区。
但是,网络文件系统生成的日志仍然在主分区上,由于磁盘安装在同一个 /logs 目录中,并且它们使用无法回收的磁盘空间,因此它们是不可访问的。
除了卸载网络文件系统来访问该日志之外,还有其他方法吗,以便我可以将它们删除或移动到正确的位置,避免使用系统分区中的宝贵空间?
答案1
您可以利用绑定挂载以及绑定挂载默认不递归的事实来恢复底层文件系统。
mkdir /mnt/var
mount --bind /var /mnt/var
现在底层文件应该可以在 /mnt/var/log 下看到。除非 /var/log 已经是单独挂载。
如果 /var/log 在过度挂载之前是一个单独的挂载,那么您可以将原始挂载挂载到其他位置。
您可以使用它findmnt /my/mountpoint
来检测某物是否为坐骑以及来自何处。